S7-200PLC编程及应用 第3章

1. S7-200 PLC编程及应用 Chap 3 PLC程序设计基础
2. 3.1 PLC的编程语言与程序结构 3.1.1 PLC编程语言的国际标准 IEC 61131-3标准的5种编程语言: (1) 顺序功能图(Sequential Function Chart); (2) 梯形图(Ladder Diagram); (3) 功能块图(Function Block Diagram); (4) 指令表(Instruction List); (5) 结构文本(Structured Text)。
3. 图3-2梯形图与语句表 图3-3 功能块图 “能流”(Power Flow)只能从左向右流动。 1个网络(Network)中只能放1块独立电路。 功能块图(FBD)类似于数字逻辑门电路,“LOGO!”使用FBD。 STEP 7-Micro/WIN的IEC 61131-3指令集只提供梯形图、功能块图。 地址前 加“%”,其指令不区分数据类型。 3.1.2 S7-200的程序结构 S7-200的程序由主程序、子程序和中断程序组成。 1.主程序:每次扫描都要执行主程序。每个项目都必须且只能有一个主程 序(OB1)。 2.子程序:可以多次调用,简化程序代码、减少扫描时间、容易移植到别 的项目。 3.中断程序:在中断事件发生时由PLC的操作系统调用。
4. 3.2 存储器的数据类型与寻址方式 3.2.1 数据在存储器中存取的方式 1.用1位二进制数表示开关量。 I3.2:“字节. 位”寻址方式。 2.多位二进制数:2#1010=123+022+121+020=10。 3.十六进制数:用于简化二进制数的表示方法,“逢16进1”,用0~9和 A~F来表示16个数,16#2F对应的十进制数为2161+15160=47。 4.字节、字与双字
5. 以起始字节的地址作为字和双字的地址。起始字节为最高位的字节。 I、Q、V、M、S、SM、L均可按位、字节、字和双字来存取。 5.负数的表示方法 用二进制补码表示有符号数,最高位为符号位,最大的16位正数为 16#7FFF(32767)。 6.BCD码 BCD码用4位二进制数来表示1位十进制数。十进制数23对应的BCD码 为16#23。BCD码用于输入输出设备。 3.2.2 CPU的存储区 1.输入过程映像寄存器(I) 2.输出过程映像寄存器(Q) 3.变量存储区V可以被所有的POU存取。 4.位存储区(M) 5.定时器存储区(T) 6.计数器存储区(C) 7.高速计数器(HC)
6. 8.32位累加器(AC0~AC3)可以按字节、字和双字来存取。按字节、 字只能存取累加器的低8位或低16位。 9.特殊存储器(SM) 特殊存储器(SM)标志位: SM0.0一直为1状态; SM0.1仅在执行用户程序的第一个扫描周期为1状态。 SM0.4和SM0.5分别提供周期为1分钟和1秒的时钟脉冲。 SM1.0、SM1.1和SM1.2分别为零标志、溢出标志和负数标志。 10.局部存储器L作为暂时存储器,或给子程序传递参数。 11.模拟量输入字(AI)从偶数字节地址开始(例如AIW2),为只读数 据。 12.模拟量输出字(AQ)从偶数字节地址开始(例如AQW2),用户不 能读取。 13.顺序控制继电器(S):顺序控制编程用。 14.常数的表示方法与范围
7. 15.实数(浮点数):在编程软件中,用小数表示浮点数。 16.字符串的格式
8. I0.0为绝对地址,%I0.0是IEC编辑器中的地址。 #INPUT1:局部变量符号地址;“INPUT1”:全局符号地址。“#”号和 双引号是编程软件自动添加的。 3.2.3 直接寻址与间接寻址 直接寻址指定了存储器的区域、长度和位置,例如VB200。 图3-8 使用指针的间接寻址
9. 【例3-1】表格存放在VW0开始的100个字中,表格的偏移量(表格中字 的序号)在VD200中,在I0.0的上升沿,用间接寻址将表格中相对于偏移量 的数据值传送到VW210中去。地址相邻的两个字的地址增量为2(两个字 节)。 LD I0.0 EU // 在I0.0的上升沿 MOVD &VB0, VD300 // 表格的起始地址送VD300 +D VD200, VD300 +D VD200, VD300 // 起始地址加偏移量 MOVW *VD300, VW210 // 读取表格中的数据
10. 3.3 位逻辑指令 3.3.1 触点指令 并联触点总是并在它前面已经连好的电路的两端。 图3-9 触点与输出指令 图3-10上升沿检测
11. 图3-11 ALD与OLD指令
12. 图3-12 ALD与OLD指令的堆栈操作
13. 【例3-3】 已知图3-13中的语句表程序,画出对应的梯形图。 图3-13 语句表与梯形图
14. 图3-14 堆栈指令
15. 图3-15 堆栈指令的应用 图3-16 双重堆栈的使用
16. 图3-17 立即触点与立即输出指令 图3-18 置位指令与复位指令
17. 3.3.2 输出指令与其他指令 图3-19 置位优先与复位优先触发器 图3-20 取反与跳变指令
18. 3.4 定时器与计数器指令 3.4.1 定时器指令 图3-21 接通延时定时器
19. 图3-22 断开延时定时器 图3-23 保持型接通延时定时器
20. 图3-25 加计数器 图3-26 减计数器 图3-27 加减计数器 装载输入(LD)为ON时,计数器位被复位,并把设定值装入当前值。 减至0时,停止计数,计数器位被置1。
21. 习题 1.填空 (1) 接通延时定时器(TON)的输入(IN)电路 时开始定时,当前值 大于等于设定值时其定时器位变为 ,其常开触点 ,常闭触点 , (2) 接通延时定时器(TON)的输入(IN)电路 时被复位,复位后其 常开触点 ,常闭触点 ,当前值等于 。 (3) 若加计数器的计数输入电路(CU) 、复位输入电路 (R) ,计数器的当前值加1。当前值大于等于设定值(PV)时,其常开 触点 ,常闭触点 。 复位输入电路 时,计数器被复位,复位后其常开触点 ,常闭触 点 ,当前值为 。 (4) 输出指令(=)不能用于 过程映像寄存器。 (5) SM 在首次扫描时为ON,SM0.0一直为 。
22. 图3-32 梯形图改错