第二章PLC的基本指令系统Word文档格式.docx
《第二章PLC的基本指令系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《第二章PLC的基本指令系统Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
图2-2串并联
练习:
根据下列梯形图写出指令表。
图2-3练习1
2、逻辑堆栈的操作
LPS(LogicPush):
逻辑入栈指令(分支电路开始指令)。
在梯形图的分支结构中,LPS指令用于生成一条新的母线,其左侧为原来的主逻辑块,右侧为新的从逻辑块,可直接编程。
LRD(LogicRead):
逻辑读栈指令。
在梯形图的分支结构中,当新母线左侧为主逻辑块时,LPS开始右侧的第一个从逻辑块编程,LRD开始第二个以后的从逻辑块编程。
LPP(LogicPop):
逻辑出栈指令(分支电路结束指令)。
在梯形图的分支结构中,LPP用于LPS产生的新母线右侧的最后一个从逻辑块编程,它在读取完离它最近的LPS压入堆栈内容的同时,复位该条新母线。
S7-200PLC中有一个9层堆栈,用于处理逻辑运算结果,称为逻辑堆栈。
例2-1:
根据下列梯形图写出指令表。
图2-4
三、置位/复位指令
置位/复位指令的STL、LAD形式及功能如表2-1。
表2-1置位/复位指令的STL、LAD形式及功能
指令名称
STL
LAD
功能
置位指令
Sbit,n
bit
—(S)
n
从bit开始的n个元件置1并保持
复位指令
Rbit,n
—(R)
从bit开始的n个元件清0并保持
图2-5表示:
输入继电器I0.0为1使Q0.0接通并保持,输入继电器I0.1为1使Q0.0断开并保持。
若I0.0和I0.1同时为1,R指令写在后面但有优先权,则Q0.0为0。
说明:
1)S/R指令具有保持功能,当置位或复位条件满足时,输出状态保持为1或0。
2)对同一元件可多次使用S/R指令。
3)由于是扫描工作方式,故写在后面的指令有优先权。
4)对计数器和定时器复位,计数器和定时器的当前值将被清为0。
5)置位/复位元件bit可为I、Q、M、SM、T、C、V、S等。
6)置位/复位元件数目n取值范围为1~255。
图2-5
例2-2根据梯形图以及输入继电器的时序画出输出继电器时序。
图2-6
例2-3用基本逻辑指令实现置位/复位功能。
图2-7
四、边沿脉冲指令
EU指令在对应输入条件有一个上升沿(由OFF到ON)时,产生一个宽度为一个扫描周期的脉冲,驱动其后面的输出线圈;
而ED指令则对应输入条件有一个下降沿(由ON到OFF)时,产生一个宽度为一个扫描周期的脉冲,驱动其后的输出线圈。
表2-2边沿脉冲指令
指令
操作
上升沿
EU
┤P├
上升沿微分
无
下降沿
ED
┤N├
下降沿微分
图2-8
例2-4用基本逻辑指令实现边沿脉冲指令功能。
图2-9
五、定时器指令
每个定时器均有一个16位当前值寄存器及一个的状态位(反映其触点状态)。
1.定时器指令使用说明
(1)定时器号:
定时器总数有256个,定时器号范围为(T0-T255)。
(2)分辨率与定时时间的计算:
S7-200PLC定时器有三种分辨率:
1ms、10ms和100ms。
定时器定时时间T的计算:
T=PT×
S
PT——定时设定值,均用16位有符号整数来表示,最大计数值为32767。
S——分辨率,单位为ms。
2.定时器指令
图2-10通电延时
图2-11断电延时
(1)通电延时定时器TON
如图2-10,当IN接通时,定时器位为0,当前值从0开始计时,当前值等于或大于PT端的设定值时,定时器位变为1,梯形图中对应定时器的常开触点闭合,常闭触点断开,当前值仍连续计数到32767。
输入端断开,定时器自动复位,当前值被清零,定时器位为0。
(2)断电延时定时器TOF
如图2-11,输入端IN接通时,定时器位变为1,当前值为0。
当输入端IN由接通到断开时,定时器开始定时,当前值达到PT端的设定值时,定时器位变为0,常开触点断开,常闭触点闭合,停止计时。
(3)保持型通电延时定时器TONR
图2-12保持型
上电或首次扫描时,定时器位为0,当前值保持在掉电前的值。
输入端IN接通时,当前值从上次的保持值开始继续计时,当累计当前值等于或大于PT端的设定值时,定时器位变为1,当前值可继续计数到32767。
输入端IN断开时,定时器的当前值保持不变,定时器位不变。
TONR指令只能用复位指令R使定时器的当前值为0,定时器位为0。
注意:
1)不能把一个定时器号同时用作TOF和TON指令。
2)使用复位指令R对定时器复位后,定时器位为0,定时器当前值为0。
3)TONR指令只能通过复位指令进行复位操作。
3.定时器的刷新方法
(1)1ms定时器:
由系统每隔1ms刷新一次,与扫描周期及程序处理无关,即采用中断刷新方式。
(2)10ms定时器:
由系统在每个扫描周期开始时自动刷新。
(3)100ms定时器:
在该定时器指令执行时被刷新。
六、计数器
计数器是对输入端的脉冲进行计数。
每个计数器均有一个16位当前值寄存器及一个状态位(反映其触点状态)。
计数器的当前值、设定值均用16位有符号整数来表示,最大计数值为32767。
计数器总数有256个,计数器号范围为(C0~C255)。
1.增计数器CTU
当复位输入端R为0时,计数器计数有效;
当增计数输入端CU有上升沿输入时,计数值加1,计数器作递增计数,当计数器当前值等于或大于设定值PV时,该计数器位为1,计数至最大值32767时停止计数。
复位输入端R为1时,计数器被复位,计数器位为0,并且当前值被清零。
2.减计数器CTD图2-13
当装载输入端LD为1时,计数器位为0,并把设定值PV装入当前值寄存器中。
当装载输入端LD为0时,计数器计数有效;
当减计数输入端CD有上升沿输入时,计数器从设定值开始作递减计数,直至计数器当前值等于0时,停止计数,同时计数器位被置位。
图2-14减计数器
3.增/减计数器CTUD
图2-15增/减计数器
当增计数输入端CU有上升沿输入时,计数器作递增计数;
当减计数输入端CD有上升沿输入时,计数器作递减计数。
当计数器当前值等于或大于设定值PV时,该计数器位为1。
当复位输入端R为1时,计数器当前值为0,计数器位为0。
1)在一个程序中,同一计数器号不要重复使用,更不可分配给几个不同类型的计数器。
2)当用复位指令R复位计数器时,计数器位被复位,并且当前值清零。
3)除了常数外,还可以用VW、IW、QW、MW、SW、SMW、AC等作为设定值。
例2-7根据图5-20梯形图,说明其功能。
当I0.0来4个脉冲,C48位为1,其常开触点接通,C49计数一次,第二次扫描C48常开触
点复位C48,当前值为0;
当I0.0再来4个脉冲,C49又计数一次,…。
当I0.0来4×
5个脉冲时,C49位为1,其常开触点接通,Q0.0为1。
七、比较指令
将两个操作数按指定的条件作比较,条件成立时,触点就闭合。
IN为位型数据,“×
”表示操作数IN1和IN2所需满足的条件:
“>
”大于、“>
=”大于等于、“<
”小于、“<
=”小于等于、“<
>
”不等于、“=”等于(STL中为“=”,LAD中为“==”);
“口”表示操作数IN1和IN2的数据类型:
“B”(BYTE)字节比较、“I”(INT)整数比较(STL中为“W”,LAD中为“I”)、“D”(DINT)双字整数比较、“R”(REAL)实数的比较。
图2-16
表2-3比较指令
LD□×
IN1,IN2
比较触点接起始总线
LDIN
A□×
比较触点的“与”
O□×
比较触点的“或”
例2-8根据图2-17梯形图,说明其功能。
当VB0=VB1时,Q0.0为1;
或当VB2>
VB3时,Q0.0为1。
八、取反指令及空操作指令
1.取反指令NOT:
该指令将复杂逻辑结果取反,它无操作数。
2.空操作指令NOP:
该指令为空操作,它对用户程序的执行没有影响。
图2-17
表2-4取反指令及空操作指令
九、程序控制指令
1.结束指令END和MEND
END:
条件结束指令,执行条件成立(左侧逻辑值为1)时结束主程序,返回主程序起点。
MEND:
无条件结束指令,结束主程序,返回主程序起点。
指令不含操作数。
图2-18结束指令图2-19停止指令
2.停止指令STOP
STOP指令的执行条件成立(左侧逻辑值为1)时,可以使主机CPU的工作方式由RUN切换到STOP,从而立即中止用户程序的执行。
3.跳转指令JMP与标号指令LBL
JMP指令的执行条件成立时,使程序的执行跳转到指定的标号。
LBL指令指定跳转的目标标号n。
操作数n:
0~255。
图2-30
作业:
P44,2,5,6
第三章数字量控制系统梯形图程序设计方法
第一节梯形图的经验设计法
一、复杂逻辑指令应用
复杂逻辑指令主要有电路块的串/并联及逻辑堆栈操作。
例1:
写出图5-23梯形图的语句表。
图5-23
二、根据梯形图和给出时序,画出输出的时序图。
例2:
图5-24
例3:
图5-25
三、定时器指令的应用
例4:
延时接通断开电路
图5-26
例5:
闪烁电路
图5-27
P117,5-4,5-5,5-6
第二节S7-200PLC的基本指令应用程序分析
(二)
例6:
指出图5-28的错误。
图5-28
分析:
I0.3的常开触点不能放在线圈的右边,梯形图中不能出现两个Q0.3的线圈,M0.8中的位地址不能大于7,立即输入触点只能用于输入位I,Q0.3的线圈不能直接连接在左侧母线上,T32是1ms定时器,其常闭触点不能接在它自己的IN输入端,T32无设定值。
例7:
分析图5-29所示梯形图,详细说明梯形图的功能。
图5-29
T37——定时时间5s,I0.0接通后,T37开始计时,5s时间到,C48计数一次,计数40次,即经过40*5s=200s后,C48位为1,常开触点接通,Q0.0为1。
I0.1用于复位C48。
例8:
用接在I0.0输入端的光电开关检测传送带上通过的产品,有产品通过时I0.0为ON,如果在10s内没有产品通过,由Q0.0发出报警信号,用I0.1输入端外接的开关解除报警信号。
画出梯形图,并写出对应的语句表。
梯形图:
语句表:
LDNI0.0
TONT37,100
LDT37
ANI0.1
=Q0.0
例9:
在按钮I0.0按下后Q0.0变为1状态并保持(图5-30),I0.1输入3个脉冲后(用C1计时),T37开始定时,5s后Q0.0变为0状态,同时C1复位,在可编程序控制器刚开始执行用户程序时,C1也被复位,设计梯形图。
图5-30
P118,5-7,5-8,5-9
第三节S7-200PLC的顺序控制指令
一、顺序控制指令
1.顺序功能图
顺序功能图又简称功能图,它是一种描述顺
序控制系统的图解表示方法,是专为工业顺序控
制程序设计的一种功能说明性语言。
它能完整地
描述控制系统的工作过程、功能和特性。
功能图主要由步、转移条件及动作三要素组
成。
(1)步
表示了控制系统中的某个状态,用矩形(单线或双线)表示。
当系统正处于某一步所在的阶段时,该步处于活动状态,称该步为“活动步”。
(2)转移条件
当某一活动步满足一定的条件时,转换为下一步。
步与步之间用一个有向线段来表示转移的方向,有向线段上再用一段横线表示转移的条件。
当有向线段从下向上画时,必须画上箭头,以表示方向;
其它情况可省略箭头。
(3)动作
在每个稳定的活动步下,可能有相应的动作。
2.顺序控制指令
二、功能图的主要类型
1.单流程
其动作过程是一个一个完成的。
功能图中的每一个状态仅连接一个转移,每个转移也仅连接一个状态。
2.并行分支/汇合
在顺序控制流程中,一个顺序控制状态流必须分成两个或多个不同分支控制状态流,这就是并行流程分支。
当多个控制状态流产生的结果相同时,可以将这些控制状态流合并成一个控制状态流,即并行分支的汇合。
3.选择分支/汇合
在顺序控制流程中,具有多条分支控制状态流需要选择,即分支选择。
它是一个控制流可能转入多个分支控制流中的某一个,但不允许多路分支同时执行。
实际流程中到底进入哪一个分支,取决于控制流前面的转移条件是否满足。
第四节S7-200PLC的功能指令
一、功能指令的一般形式
功能指令的主体是功能框。
框题头是指令的助记符,ADD-加法,I-整数。
功能框左上方与EN相连的是执行条件。
功能框左边的操作数通常是源操作数,功能框右边的操作数通常是目标操作数。
操作数的长度应符合规定。
功能指令可处理的数据包括位(bit)、字节(B=8bit)、无符号整数(W=16bit)、无符号双整数(DW=32bit)、有符号整数(I=16bit)、有符号双整数(DI=32bit)、实数(R=32bit)。
ENO为功能指令成功执行的标志位输出,即功能指令正常执行,ENO=1。
二、数学运算指令
1.加法指令
当加法允许信号EN=1时,把两个输入端IN1,IN2指定的数相加,结果送到输出端OUT指定的存储单元中。
加法指令可分为整数(_I)、双整数(_DI)、实数(_R)加法指令。
它们各自对应的操作数数据类型分别是有符号整数、有符号双整数、实数。
对标志位的影响:
SM1.0(零),SM1.1(溢出),SM1.2(负)。
2.减法指令
当减法允许信号EN=1时,被减数IN1与减数IN2相减,其结果送到输出端OUT指定的存储单元中。
减法指令可分为整数(_I)、双整数(_DI)、实数(_R)减法指令。
它们各自对应的操作数数据类型分别是符号整数、有符号双整数、实数。
3.乘法指令
当乘法允许信号EN=1时,把两个输入端IN1和IN2指定的数相乘,结果送到输出端OUT指定的存储单元中去。
乘法指令可分为整数(_I)、双整数(_DI)、实数(_R)乘法指令和整数完全乘法指令。
前三种指令各自对应的操作数的数据类型分别为有符号整数、有符号双整数、实数。
整数完全乘法指令,把输入端IN1与IN2指定的两个16位整数相乘,产生一个32位乘积,并送到输出端OUT指定的存储单元中去。
4.除法指令
当除法允许信号EN=1时,被除数与IN1与除数IN2指定的数相除,结果送到输出端OUT指定的存储单元中去。
除法指令可分为整数(_I)、双整数(_DI)、实数(_R)除法指令和整数完全除法指令。
前三种指令各自对应的操作数分别为有符号整数、有符号双整数、实数。
整数完全除法指令,把输入端IN1与IN2指定的两个16位整数相除,产生一个32位结果,并送到输出端OUT指定的存储单元中去。
其中高16位是余数,低16位是商。
SM1.0(零),SM1.1(溢出),SM1.2(负),SM1.3(除数为0)。
5.加1减1指令
当加1或减1指令允许信号EN=1时,把输入端IN数据加1或减1,并把结果存放到输出单元OUT。
加1和减1指令按操作数的数据类型可分为字节(_B)、字(_W)、双字(_DW)加1/减1指令。
字节加1和减1指令的操作数数据类型是无符号字节型,对标志位的影响:
SM1.0(零)、SM1.1(溢出)。
字、双字加1和减1指令的操作数的数据类型分别是有符号整数、有符号双字整数,对标志位的影响:
三、逻辑运算指令
逻辑运算指令的操作数均为无符号数。
1.逻辑“与”指令
当逻辑“与”允许信号EN=1时,两个输入端IN1和IN2的数据按位“与”,结果存入OUT单元。
逻辑“与”指令按操作数的数据类型可分字节(_B)、字(_W)、双字(_DW)“与”指令.
2.逻辑“或”指令
当逻辑“或”允许信号EN=1时,两个输入端IN1和IN2的数据按位“或”,结果存入OUT单元。
逻辑“或”指令按操作数的数据类型可分字节(_B)、字(_W)、双字(_DW)“或”指令。
3.逻辑“异或”指令
当逻辑“异或”允许信号EN=1时,两个输入端IN1和IN2的数据按位“异或”,结果存入OUT单元。
逻辑“异或”指令按操作数的数据类型可分字节(_B)、字(_W)、双字(_DW)“异或”指令
例根据下列逻辑运算指令的梯形图,写出运算结果。
4.取反指令
当取反允许信号EN=1时,对输入端IN指定的数据按位取反,结果存入OUT单元。
取反指令按操作数的数据类型可分为字节(_B)、字(_W)、双字(_DW)取反指令。
逻辑运算指令影响的标志位:
SM1.0(零)。
四、传送指令
1.数据传送指令
当数据传送允许信号EN=1时,输入端IN指定的数据传送到输出端OUT,传送过程中数据值保持不变。
数据传送指令按操作数的数据类型可分为字节(_B)、字(_W)、双字(_DW)、实数(_R)传送指令。
2.字节交换指令
当字节交换允许信号EN=1时,输入端IN指定字的高字节内容与低字节内容互相交换。
交换结果仍存放在输入端IN指定的地址中。
操作数数据类型为无符号整数。
五、移位指令
移位指令均为无符号数操作。
1.右移位指令
当右移位允许信号EN=1时,输入端IN指定的数据右移N位,结果存入OUT单元。
右移位指令按操作数的数据类型可分为字节(_B)、字(_W)、双字(_DW)右移位指令。
2.左移位指令
当左移位允许信号EN=1时,输入端IN指定的数据左移N位,结果存入OUT单元。
左移位指令,按操作数的数据类型可分为字节(_B)、字(_W)、双字(_DW)左移位指令。
字节、字、双字移位指令的实际最大可移位数分别为8、16、32。
右移位和左移位指令,对移位后的空位自动补零。
移位后SM1.1(溢出)的值就是最后一次移出的位值。
如果移位的结果是0,SM1.0置位。
3.移位寄存器指令
移位寄存器指令把输入端DATA的数值送入移位寄存器,S_BIT指定移位寄存器的最低位,N指定移位寄存器的长度(从S_BIT开始,共N位)和移位的方向(正数表示左移,负数为右移)。
当移位寄存器允许输入端EN有效时,每个扫描周期寄存器各位都移动一位,移出的数据影响SM1.1。
N为字节型数据类型,移位寄存器的最大长度为64位。
操作数DATA、S_BIT为位型数据类型。
由移位寄存器的最低有效位S_BIT和移位寄存器的长度N可计算出移位寄存器最高有效位MSB.b的地址。
计算公式为
MSB.b={S_BIT的字节号+[(|N|-1+S_BIT的位号)÷
8]的商}.{[(|N|-1+S_BIT的位号)÷
8]的余数}
例如,如果S_BIT是V20.4,N是9,那么MSB.b是V21.4。
具体计算如下
MSB.b={V20+[(9-1+4)÷
8]的商}.{[(9-1+4)÷
8]的余数}=V21.4
例在下列移位寄存器的梯形图中,VB100中的内容为30H,移位后VB100中的内容为多少?
六、数据转换指令
1.BCD码与整数的转换
BCD_I指令在允许信号EN=1时,将输入端IN指定的0~9999范围内的BCD码转换成整数,并将结果存放到输出端OUT指定的存储单元中去。
I_BCD指令在允许信号EN=1时,将输入端IN指定的0~9999范围内的整数转换成BCD码,并将结果存放到输出端OUT指定的存储单元中去。
转换的数据均为无符号数。
指令影响的标志位:
SM1.6(非法BCD码)。
2.译码、编码指令
译码DECO指令在允许信号EN=1时,根据输入字节IN的低四位的二进制值所对应的十进制数(0~15),将输出字OUT的相应位置为1,其他位置0。
编码指令ENCO在允许信号EN=1时,将输入字IN中值为1的最低位的位号(0~15)编码成4位二进制数,写到输出字节OUT的低四位。