660 likes | 941 Views
第七章 S7-200 系列 PLC 基本逻辑指令及程序编制. 第一节 S7-200 系列 PLC 基本逻辑控制指令. 一、位逻辑指令 (一)触点及线圈指令 PLC 梯形图语言的编程原则 1 、梯形图由多个梯级组成,每个线圈可构成一个梯级,每个梯级有多条支路,每个梯级代表一个逻辑方程; 2 、梯形图中的继电器、接点、线圈不是物理的, 是 PLC 存储器中的位 (1=ON ; 0=OFF) ;编程时常开 / 常闭接点可无限次引用,线圈输出只能是一次;. PLC 梯形图语言的编程原则. 3 、梯形图中流过的不是物理电流而是“ 概念电流 ”,
E N D
第一节 S7-200系列PLC基本逻辑控制指令 • 一、位逻辑指令 (一)触点及线圈指令 PLC梯形图语言的编程原则 1、梯形图由多个梯级组成,每个线圈可构成一个梯级,每个梯级有多条支路,每个梯级代表一个逻辑方程; 2、梯形图中的继电器、接点、线圈不是物理的, 是PLC存储器中的位(1=ON;0=OFF);编程时常开/常闭接点可无限次引用,线圈输出只能是一次;
PLC梯形图语言的编程原则 3、梯形图中流过的不是物理电流而是“概念电流”, 只能从左向右流; 4、用户程序的运算是根据PLC的输入/输出映象寄存器 中的内容,逻辑运算结果可以立即被后面的程序使 用; 5、PLC的内部继电器不能做控制用,只能存放逻辑控制 的中间状态; 6、输出线圈不能直接驱动现场的执行元件,通过I/O模 块上的功率器件来驱动。
基本逻辑指令以位逻辑操作为主,在位逻辑指令中,除非有特殊说明,操作数的有效区域为:I、Q、M、SM、T、C、V、S、L且数据类型为BOOL基本逻辑指令以位逻辑操作为主,在位逻辑指令中,除非有特殊说明,操作数的有效区域为:I、Q、M、SM、T、C、V、S、L且数据类型为BOOL • 触点和线圈指令又分为:标准指令、立即指令、取反指令、正(负)跳变指令
指令分类——按形式分 触点 线圈 1.继电器 ——( ) 2.功能块 功能数据类型 条件 EN IN1 输入参数 输出参数 IN2 OUT N 长度 地址
标准触点(常开)指令 逻辑关系 LAD STL LD I0.0 A I0.1 = Q0.0 当 I0.0与 I0.1都 “ON” 时, 则输出 Q0.0“ON”(1)。 Q0.0 I0.0 I0.1 ( ) AND Q0.0 I0.0 当 I0.0或 I0.0 “ON” 时,则输出 Q0.0“ON”(1) ( ) LD I0.0 O I0.1 = Q0.0 OR I0.1
标准触点(常闭)指令 逻辑关系 LADSTL LDN I0.0 AN I0.1 = Q0.0 当 I0.0与 I0.1都 “OFF” 时, 则输出 Q0.0“ON”(1)。 Q0.0 I0.0 I0.1 ( ) AND Q0.0 I0.0 LDN I0.0 ON I0.1 = Q0.0 ( ) 当 I0.0或 I0.0 “OFF” 时,则输出 Q0“ON”(1) OR I0.1
立即I/O指令—立即触点(输入) 直接读取物理输入点的值,输入映象寄存器内容不更新。指令操作数仅限于输入物理点的值 。
空操作指令(NOP N)不影响程序的执行。 操作数N是常数 0~255 空操作 能流到达取非触点时,能流就停止;能流未到达取非触点时,能流就通过。 取非 检测到每一次正跳变(信号后,让能流通过一个扫描周期的时间 正跳变 I0.0 Q0.0 一个周期 检测到每一次负跳变信号后,让能流通过一个扫描周期的时间 负跳变 Q0.1 一个周期 Q0.2 NOT、ED、EU没有操作数!
立即I/O指令—立即输出 一个扫描周期 一个扫描周期 令 执行指 执行指 输入端 子 I 2 . 1 输入映象寄 存器 I 2 . 1 输出映象寄 存器 Q 1 . 1 输出端子 Q 1 . 1 执行立即输出指令时,则将结果同时立即复制到物理输出点和相应的输出映象寄存器 输入端 子 I 2 . 3 输出映象 存器 Q 1 . 2 输出端子 Q 1 . 2
立即I/O指令—立即置位和复位指令 须指出:立即I/O指令是直接访问物理输入输出点的,比一般指令访问输入输出映象寄存器占用CPU时间要长,因而不能盲目地使用立即指令,否则,会加长扫描周期时间,反而对系统造成不利影响。
时序图 STL 例一: LAD
时序图 例二: STL LAD
例1:直接启动停车控制 I0.1 I0.0 Q0.0 Q0.0 ( ) Q0.0 I0.0 I0.0 I0.0 ( ) Q0.0 I0.1 停止优先 语句表 LD I0.1 O Q0.0 A I0.0 = Q0.0 启动优先 I/O分配: I0.0:停车I0.1:启动Q0.0:KM 继电器控制电路图
I/O分配决定PLC的端子接线图 I/O分配: I0.0:停车I0.1:启动Q0.0:KM PLC的端子接线方式又决定编程语言 I0.1 I0.0 Q0.0 ( ) Q0.0 置位 复位
(二)逻辑堆栈指令 PLC有一个9层堆栈,栈顶用来存储逻辑运算结果,下面8位存储中间结果。 堆栈的存储原则:先进后出(取) 1、ALD指令(栈装载与) S0=iv0﹡iv1 堆栈深度减1 2、OLD指令(栈装载或) S0=iv0+iv1 堆栈深度减1
3、LPS指令(逻辑推入栈) 4、 LRD指令(逻辑读栈)
5、 LPP指令(逻辑弹出栈) 6、 LDS指令(装入堆栈) 7、 AENO指令(ENO与) 使能输出ENO和栈顶的值进行与操作 结果放入栈顶。
区块与 区块或 块操作指令: 逻辑关系 梯形图 助记符 LD X0 O X1 LD X2 O X3 ALD = Y0 ALD(And Stack) X0 X2 当 “X0或 X1”与“X2或X3” 都 “ON” 时, 则输出 Y0“ON”。 Y0 ( ) X1 X3 OLD(Or Stack) LD X0 A X1 LD X2 AN X3 OLD = Y0 X0 X1 当 “X0与 X1”或“X2与 X3非” “ON” 时,则输 出 Y0“ON”。 Y0 ( ) X2 X3
RS触发器指令及真值表 (三)RS触发器指令 RS触发器指令有效操作数
二、定时器指令 包括:接通延时定时器(TON)、有记忆的接通延时(保持型)定时器(TONR)、断开延时定时器(TOF)。S7-200有256个定时器(T0~T255) T** T** T** TOF TON 使能输入 使能输入 IN 使能输入 IN IN TONR 设定值 PT 设定值 设定值 PT PT TON T** ,PT TONR T** ,PT TOF T** ,PT 定时器的有效操作数
TON:接通延时定时器 TOF:断开延时定时器 TONR:有记忆接通延时定时器 类型 定时器号码 (0~255) T37 TON IN 输入接点 PT 设定值: 1~32767 定时器分辨率(时基)有三种:1ms、10ms、100ms。定时器的分辨率由定时器号决定 定时器的实际设定时间T=设定值PT×分辨率
① 1ms分辩率定时器 每隔1ms刷新一次,刷新定时器位和定时器当前值,在一个扫描周期中要刷新多次,而不和扫描周期同步。 ② 10ms分辩率定时器 10ms分辩率定时器启动后,定时器对10ms时间间隔进行计时。程序执行时,在每次扫描周期的开始对10ms定时器刷新,在一个扫描周期内定时器位和定时器当前值保持不变。 ③ 100ms分辨率定时器 100ms定时器启动后,定时器对100ms时间间隔进行计时。只有在定时器指令执行时,100ms定时器的当前值才被刷新。
接通延时定时器 TON //100ms定时器T37在I0.0接通1s后到时,I0.0断开,复位T37 //定时器T37控制Q0.0 时序图
接通延时定时器 TON T38 I0.1 TON IN T38 PT 1200 TON 使能输入 IN T38 Q0.1 ( ) 设定值 PT 其工作波形图如下: I0.1 TS Q0.1 设定值 计时值 TS=1200*0.1=120S
断开延时定时器 TOF STL LAD 时序图
断开延时定时器TOF T38 I0.1 TOF IN T38 PT 1200 TOF 使能输入 IN T38 Q0.1 ( ) 设定值 PT 其工作波形图如下: TS I0.1 Q0.1 设定值 TS=1200*0.1=120S 计时值
有记忆的接通延时定时器 TONR STL LAD 时序图
有记忆的接通延时定时器 TONR M0.1 T4 ( ) R 1 I0.1 T4 TONR IN PT 120 T4 输入端 IN TONR PT 设定值 T4 Q0.1 ( ) 其工作波形图如下: I0.0 TS TS= 120*10ms Q0.1 M0.1 32767 最大值 120 设定值 当前值
注意的几个问题: 不能将同一个定时器的号同时作为TON和TOF,如:TON T32和TOF T32。 要注意各种定时器的刷新方式和激励方式,否则定时器不能正常工作。如: 正确 不正确
三、计数器指令 包括:加计数CTU、减计数CTD和加/减计数CTUD。总共有256个(C0~C255)。 计数器是对PLC内部的时钟脉冲进行计数,而计数器是对外部的或由程序产生的计数脉冲进行计数 。 计数器累计计数的当前值(16位有符号整数),它存放在计数器的16位(bit)当前值寄存器中。 每个计数器只有一个16位的当前值寄存器地址。在一个程序中,同一计数器号不要重复使用,更不可分配给几个不同类型的计数器。
加计数器 计脉冲数 C20 CU CTU R 复位 PV 设定值: -32768~32767 I 0 . 2 计数器当前值大于等于设定值PV时,计数器置位,当复位端接通计数器复位,到最大值时计数器停止计数。 I 0 . 3 C 20 当前值 C 20 计数器位
减计数器 计脉冲数 C(0~255) CU CTD LD 复位,装设定值 PV I1.3 I1.4 设定值 2 1 计数器当前值等于0时,停止计数,同时计数器位被置位“1” 当前值 输出端
增/减计数器 增计数 C(0~255) 减计数 复位 设定值 I0.1 I1.1 I1.2 当前值 输出端
机械手动作后,延时2秒,将机械手电磁铁切断,同时将C20复位。CT100复位后,Y1和T37也复位 产品通过检测器 PH KM2 机械手 KM1 传送带电机 例5. 计数器应用举例:产品数量检测 (每24个产品 机械手动作1次) Q0.0—传送带电机KM1 Q0.1—机械手KM2 T37—定时器,定时2秒 C10—计数器,初始值24 PLC的I/O分配: I0.0— 传送带停机按钮 I0.1—传送带起动按钮 I0.2— 产品通过检测器PH
CTU CU R PV 计数器应用举例:产品数量检测 Q0.0 I0.0 I0.1 ( ) 起、停传送带电机 Q0.0 电机起动后,R1产生宽度为一个扫描 周期的正脉冲,使C20和T37复位 C20 I0.2 Q0.0 P 每检测到一个产品,I0.2产生一个正脉冲, 使C20计一个数 24 T37 T37 C20 TON IN 20 PT C20每计24个数,机械手动作一次 T37 C20 Q0.1 ( ) 机械手动作后,延时2秒,将机械手 电磁铁切断,同时将C20复位。C20 复位后,Q0.1和T37也复位
程序结束、停止运行及控操作指令: END STOP NOP 见教材P118表7-7
第二节 PLC的编程方法 一、梯形图的结构规则 1、梯形图的各支路要以左母线为起点,从左向右分行绘出。每一行的前部是触点群组成的“工作条件”,最右边是线圈或功能框表达的“工作结果”。一行绘完,依次自上而下再绘一行。 2、触点应画在水平线上,不能画在垂直分支线上。如图 (a)中触点3被画在垂直线上,便很难正确识别它与其他触点的关系。因此,应根据自左至右,自上而下的原则画成如图 (b)所示的形式。
3、不包含触点的分支应放在垂直方向,不可放在水平位置,以便于识别触点的组合和对输出线圈的控制路径,如下图所示。3、不包含触点的分支应放在垂直方向,不可放在水平位置,以便于识别触点的组合和对输出线圈的控制路径,如下图所示。
4、在有几个串联回路相并联时,应将触点最多的那个串联回路放在梯形图的最上面。在有几个并联回路相串联时,应将触点最多的并联回路放在梯形图的最左面。这样,才会使编制的程序简洁明了,语句较少,如下图所示。4、在有几个串联回路相并联时,应将触点最多的那个串联回路放在梯形图的最上面。在有几个并联回路相串联时,应将触点最多的并联回路放在梯形图的最左面。这样,才会使编制的程序简洁明了,语句较少,如下图所示。
二、语句表的编辑规则 有许多场合需由绘好的梯形图列写语句表。这时,要根据梯形图上的符号及符号间的位置关系正确地选取指令及注意正确的表达顺序。 1、列写指令的顺序务必按从左到右、自上而下的原则进行。 2、在处理较复杂的触点结构时,如触点块的串联、并联或堆栈相关指令,指令表的表达顺序为:先写出参与因素的内容,再表达参与因素间的关系。
三、双线圈输出问题 在梯形图中,线圈前边的触点代表输出的条件,线圈代表输出。在同一程序中,某个线圈的输出条件可以非常复杂,但却应是惟一且集中表达的。由PLC的操作系统引出的梯形图编绘法则规定,某个线圈在梯形图中只能出现一次,如果多次出现,则称为双线圈输出。 且认定,程序中存在双线圈输出时,前边的输出无效,最后一次输出才是有效的。 本事件的特例是:同一程序的两个绝不会同时执行的程序段中可以有相同的输出线圈。