第3章s7-1200程序设计基础1

上传人:今*** 文档编号:108167302 上传时间:2019-10-22 格式:PPT 页数:27 大小:2.20MB
返回 下载 相关 举报
第3章s7-1200程序设计基础1_第1页
第1页 / 共27页
第3章s7-1200程序设计基础1_第2页
第2页 / 共27页
第3章s7-1200程序设计基础1_第3页
第3页 / 共27页
第3章s7-1200程序设计基础1_第4页
第4页 / 共27页
第3章s7-1200程序设计基础1_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《第3章s7-1200程序设计基础1》由会员分享,可在线阅读,更多相关《第3章s7-1200程序设计基础1(27页珍藏版)》请在金锄头文库上搜索。

1、17:59,本章主要内容 1. S7-1200PLC 工作模式 (掌握) 三种运行模式 2. 存储器及其寻址 (掌握) 存储器代码,两种寻址方式,强制输入/输出,保持性 3. 数据格式及数据类型 (理解) 把握常见数据格式特点及所占空间 4. 编程方法 (重点) 三种结构模式 5. 程序结构 (重点) OB, FC, FB, 各自特点及区别,17:59,2,第3章 S7-1200 PLC程序设计基础 3.1 S7-1200PLC 工作模式 (掌握) 3.2 存储器及其寻址 (掌握) 3.3 数据格式及数据类型 (理解) 3.4 编程方法 (重点) 3.5 程序结构 (重点),17:59,3,3

2、.1 CPU的工作模式,CPU 有三种工作模式: 在 STOP 模式下,CPU 不执行任何程序,而用户可以下载项目。 在 STARTUP 模式下,执行一次启动OB(如果存在)。 在RUN模式下,重复执行扫描周期。 中断事件可能会在程序循环阶段的任何点发生并进行处理。 处于RUN模式下时,无法下载任何项目。 在RUN 模式的启动阶段,不处理任何中断事件。,17:59,4,在 STOP 模式下: CPU 处理所有通信请求(如果适用)并 执行自诊断。 CPU不执行用户程序,过程映像也不会自动更新。,3.1 CPU的工作模式,17:59,5,上电后CPU进入STARTUP模式,进行上电诊断和系统初始化

3、,检查到某些错误时,将禁止CPU进入RUN模式,保持在STOP。,STARTUP: A 复位I 存储区 B 使用上一次RUN模式最后的值或替换值初始化输出 C 执行启动 OB D 将物理输入的状态复制到 I 存储器 E 将所有中断事件存储到要在 RUN模式下处理的队列中 F 将过程映像输出区(Q区)的值写到物理输出,3.1 CPU的工作模式,17:59,6,启动阶段结束后,进入 RUN 模式,CPU 执行下图所示的任务:,RUN 将过程映像输出区(Q区)的值写到物理输出 将物理输入的状态复制到 I 存储器 执行程序循环 OB 处理通信请求和进行自诊断 在扫描周期的任何阶段处理中断和通信,3.1

4、 CPU的工作模式,17:59,7,PLC使用的物理存储器类型: RAM, ROM, Flash EPROM(简称为FEPROM),用户存储器:非易失性的存储区,用于保存用户程序(项目等)、数据和组态信息。所有的CPU都有内部的装载存储器,CPU插入存储卡后,用存储卡做装载存储器。类似于计算机的硬盘,具有断电保持功能。 工作存储器:易失性,集成在CPU中的高速存取的RAM。用于在执行用户程序时存储用户项目的某些内容。CPU也会将一些项目内容从装载存储器复制到工作存储器中。类似于计算机的内存,断电时内容丢失,而在恢复供电时由CPU恢复。 系统存储器:用来存储用户程序的操作数据,被划分为若干个地址

5、区域,如过程映像输入/输出,位存储器,数据块,局部数据,I/O输入输出区域和诊断缓冲区等。使用指令可以在相应的地址区域内对数据直接进行寻址。 用来防止在电源关闭时丢失数据,可以用不同方法设置变量的断电保持功能。,3.2 存储器及其寻址,17:59,8,17:59,9,3.2 存储器及其寻址,17:59,10,不管使用变量(例如,“Start”或“Stop”)还是绝对地址(例如,“I0.3”或“Q1.7”),对输入(I) 或输出 (Q) 存储区的引用都会访问过程映像而非物理输出。 要立即访问或强制用户程序中的物理(外围设备)输入或输出,请在引用后面添加“:P” 例如,“Stop:P”或“Q0.3

6、:P”)。 局部数据L: 只要调用代码块,CPU 就会分配要在执行块期间使用的临时或本地存储器 (L)。代码块执行完毕后,CPU 将重新分配本地存储器,以用于执行其它代码块。,3.2 存储器及其寻址,17:59,11,3.2 存储器及其寻址,17:59,12,“字节. 位”寻址方式 : 如 I3.2,首位字母表示存储器标识符,I表示输入过程映像区,8位二进制数组成1个字节(Byte):,3.2 存储器及其寻址,S7CPU可以按照位、字节、字和双字对存储单元寻址。,17:59,13,以起始字节的地址作为字和双字的地址。 起始字节为最高位的字节。,MW100,MD100,3.2 存储器及其寻址,存

7、储器寻址方式,17:59,14,3.3 系统存储区与数据类型基本数据类型,17:59,15,3.4 程序结构,创建用于自动化任务的用户程序时,需要将程序的指令插入代码块中:,17:59,16,创建用于自动化任务的用户程序时,需要将程序的指令插入代码块中: 组织块 (OB) 对应于 CPU 中的特定事件,并可中断用户程序的执行。 用于循环执行用户程序的默认组织块 (OB 1) 为用户程序提供基本结构,是唯一一个用户必需的代码块。 如果程序中包括其它 OB,这些 OB 会中断 OB 1 的执行。其它 OB 可执行特定功能,如用于启动任务、用于处理中断和错误或者用于按特定的时间间隔执行特定的程序代码

8、。 功能块 (FB) 是从另一个代码块(OB、FB 或 FC)进行调用时执行的子例程。 调用块将参数传递到 FB,并标识可存储特定调用数据或该 FB 实例的特定数据块 (DB)。 更改背景 DB 可使通用 FB 控制一组设备的运行。 例如,借助包含每个泵或阀门的特定运行参数的不同背景 DB,一个 FB 可控制多个泵或阀。 功能 (FC) 是从另一个代码块(OB、FB 或 FC)进行调用时执行的子例程。 FC 不具有相关的背景 DB。 调用块将参数传递给 FC。 FC 中的输出值必须写入存储器地址或全局 DB 中。,3.4 程序结构,17:59,17,功能块 (FB)与 功能 (FC) 检验FC

9、、FB重要指标是可移植性(可重用性)。 如果内部全部 使用局部变量,不用全局变量,不作任何修改,就可以将它们移植到其他项目,通过调用与被调用的关系,可以迅速生成新的项目程序。 把相同功能的工作编制成FB,然后在FC里调用,程序修改起来方便。 例子:有10台电机,编制启动,停止逻辑,报 警,复位逻辑。 FB+FC: FB+背景数据块+FC调用(把这些电机对应的I/O点添到 FB的管脚上) FC: 1)要写10遍,2)如果你用粘贴和复制的话,有可能有的 I/O点忘记修改或其他一些错误,3)程序的结构性不强,维护起来浪费时间。 如果子程序的任务不能在一个扫描周期完成,需要在两次调用之间保存某些变量的

10、值,则应选用FB,而不是FC。因为这种情况下FC需要用全局变量 (例如共享数据块和M区)来保存这些变量的值,但是这样会影响FC的可移植性。如果块的内部使用了全局变量,在移植时需要考虑每个块使用的全局变量是否会 与别的块产生地址冲突(同一地址重复使用)。如果这样的FC很多,移植是附加的工作量将会很大,也很容易出错。,3.4 程序结构,17:59,18,创建用于自动化任务的用户程序时,需要将程序的指令插入代码块中: 组织块 (OB) 功能块 (FB) 功能 (FC) 数据块(DB)用于存放执行用户程序时所需的变量数据的数据区。用户程序中除了逻辑程序外,还需要对存储过程状态和信号信息的数据进行处理,

11、数据是以变量的形式存储,通过存储地址和数据类型来确定数据的唯一性。,3.4 程序结构,17:59,19,3.5 编程方法,线性化编程 模块化编程 结构化编程,17:59,20,3.5 编程方法,根据实际应用要求,可选择线性,模块化或结构化用于创建用户程序: 线性程序按顺序逐条执行用于自动化任务的所有指令。 通常,线性程序将所有程序指令都放入用于循环执行程序的 OB (OB 1) 中。,17:59,21,3.5 编程方法,线性化编程,结构简单,不带分支,一个程序包含了所有指令。 所有的指令都在OB1中-每个扫描周期都要扫描执行所有的指令,不断循环执行。即使某些不用的部分代码也需要执行。因此CPU

12、效率低,没有充分利用。 需要多次执行相同或类似的操作,需要重复编写相同或类似的程序。 程序结构不清晰-管理和测试不便 大型程序编写时避免采用线性化编程,17:59,22,3.5 编程方法,根据实际应用要求,可选择线性,模块化或结构化用于创建用户程序: 线性程序 模块化程序调用可执行特定任务的特定代码块。 要创建模块化结构,需要将复杂的自动化任务划分为与过程的工艺功能相对应的更小的次级任务。 每个代码块都为每个次级任务提供程序段。 通过从另一个块中调用其中一个代码块来构建程序。,17:59,23,3.5 编程方法,模块化程序,根据功能分为不同的逻辑块。 在OB1中可根据条件决定块的调用和执行;

13、特点是控制任务被分成不同的块,易于团队分工合作同时编程,调试方便; 不同的程序块只有在需要时OB1才去调用,因此每次循环中不是所有的块都执行,CPU利用效率高。 模块化编程中,被调用快和调用快之间没有数据交换。,17:59,24,3.5 编程方法,根据实际应用要求,可选择线性,模块化或结构化用于创建用户程序: 线性程序 模块化程序 结构化编程是通过抽象的方式将复杂的任务分解成一些能够反映过程的工艺、功能或可以反复使用的可单独解决的小任务,这些任务由相应的程序块(或称逻辑快)来表示,程序运行时所需的大量数据和变量存储在数据块中。某些程序块可以用来实现相同或者相似的功能,相互是独立的,且被OB1或

14、其他程序块调用。,17:59,25,3.5 编程方法,结构化编程,将过程要求类似的或相关的任务归类,形成通用的解决方案,在相应的程序块中解决。可以在OB1中或其他程序块中调用; 该程序块编程时采用形式参数,可以通过不用的实际参数调用相同的程序块。 被调用快和调用块之间有数据交换,需要对数据进行管理。 结构化编程必须对系统功能进行合理的分析、分解和综合,对编程设计人员的要求较高。,17:59,26,编程软件界面介绍,Portal 视图,17:59,27,本章主要内容 1. S7-1200PLC 工作模式 (掌握) 三种运行模式 2. 存储器及其寻址 (掌握) 存储器代码,两种寻址方式,强制输入/输出,保持性 3. 数据格式及数据类型 (理解) 把握常见数据格式特点及所占空间 4. 编程方法 (重点) 三种结构模式 5. 程序结构 (重点) OB, FC, FB, 各自特点及区别,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号