第4章S7指令系统Word文档下载推荐.docx
《第4章S7指令系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第4章S7指令系统Word文档下载推荐.docx(99页珍藏版)》请在冰豆网上搜索。
梯形图按照逻辑关系可分成网络段,分段只是为了阅读和调试方便。
在本书部分举例中我们将网络段省去。
图4-1是梯形图示例。
2.语句表(StatementList)程序设计语言
语句表程序设计语言是用布尔助记符来描述程序的一种程序设计语言。
语句表程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。
语句表程序设计语言具有下列特点:
(1)采用助记符来表示操作功能,具有容易记忆,便于撑握的特点;
(2)在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计;
(3)用编程软件可以将语句表与梯形图可以相互转换。
图4-1梯形图
例如,图4-1中的梯形图转换为语句表程序如下:
网络1
LDI0.0
OQ0.0
ANT37
=Q0.0
TONT37,+50
网络2
LDI0.2
=Q0.1
3.顺序功能流程图(SequentialFunctionChart)程序设计
顺序功能流程图程序设计是近年来发展起来的一种程序设计。
采用顺序功能流程图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。
顺序功能流程图的主要元素是步、转移、转移条件和动作。
如图4-2所示。
顺序功能流程图程序设计的特点是:
(1)以功能为主线,条理清楚,便于对程序操作的理解和沟通;
(2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;
(3)常用于系统的规模校大,程序关系较复杂的场合;
(4)只有在活动步的命令和操作被执行后,才对活动步后的转换进行扫描,因此,整个程序的扫描时间要大大缩短。
图4-2顺序功能流程图
4.功能块图(FunctionBlockDiagram)程序设计语言
功能块图程序设计语言是采用逻辑门电路的编程语言,有数字电路基础的人很容易掌握。
功能块图指令由输入、输出段及逻辑关系函数组成。
用STEP7-Micro/Win32编程软件将图4-1所示的梯形图转换为FBD程序,如图4-3所示。
方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入输出端的小圆圈表示“非”运算,信号自左向右流动。
图4-3功能块图
4.2基本位逻辑指令与应用
4.2.1基本位操作指令介绍
位操作指令是PLC常用的基本指令,梯形图指令有触点和线圈两大类,触点又分常开触点和常闭触点两种形式;
语句表指令有与、或以及输出等逻辑关系,位操作指令能够实现基本的位逻辑运算和控制。
1.逻辑取(装载)及线圈驱动指令LD/LDN
(1)指令功能
LD(load):
常开触点逻辑运算的开始。
对应梯形图则为在左侧母线或线路分支点处初始装载一个常开触点。
LDN(loadnot):
常闭触点逻辑运算的开始(即对操作数的状态取反),对应梯形图则为在左侧母线或线路分支点处初始装载一个常闭触点。
=(OUT):
输出指令,对应梯形图则为线圈驱动。
对同一元件只能使用一次。
(2)指令格式如图4-4所示。
梯形图语句表
网络1
LDI0.0//装载常开触点
=Q0.0//输出线圈
LDNI0.0//装载常闭触点
=M0.0//输出线圈
图4-4LD/LDN、OUT指令的使用
说明:
1)触点代表CPU对存储器的读操作,常开触点和存储器的位状态一致,常闭触点和存储器的位状态相反。
用户程序中同一触点可使用无数次。
如:
存储器I0.0的状态为1,则对应的常开触点I0.0接通,表示能流可以通过;
而对应的常闭触点I0.0断开,表示能流不能通过。
存储器I0.0的状态为0,则对应的常开触点I0.0断开,表示能流不能通过;
而对应的常闭触点I0.0接通,表示能流可以通过。
2)线圈代表CPU对存储器的写操作,若线圈左侧的逻辑运算结果为“1”,表示能流能够达到线圈,CPU将该线圈所对应的存储器的位置位为“1”,若线圈左侧的逻辑运算结果为“0”,表示能流不能够达到线圈,CPU将该线圈所对应的存储器的位写入“0”用户程序中,同一线圈只能使用一次。
(3)LD/LDN,=指令使用说明:
✧LD、LDN指令用于与输入公共母线(输入母线)相联的接点,也可与OLD、ALD指令配合使用于分支回路的开头。
✧“=”指令用于Q、M、SM、T、C、V、S。
但不能用于输入映像寄存器I。
输出端不带负载时,控制线圈应尽量使用M或其他,而不用Q。
✧“=”可以并联使用任意次,但不能串联。
如图4-5所示。
图4-5输出指令可以并联使用
✧LD/LDN的操作数:
I、Q、M、SM、T、C、V、S。
“=”(OUT)的操作数:
Q、M、SM、T、C、V、S。
2.触点串联指令A(And)、AN(Andnot)
A(And):
与操作,在梯形图中表示串联连接单个常开触点。
AN(Andnot):
与非操作,在梯形图中表示串联连接单个常闭触点。
(2)指令格式如图4-6所示
AM0.0//与常开触点
LDQ0.0//装载常开触点
ANI0.1//与常闭触点
AT37//与常开触点
=Q0.1//输出线圈
图4-6A/AN指令的使用
(3)A/AN指令使用说明:
A、AN是单个触点串联连接指令,可连续使用。
如图4-7所示。
LDM0.0
AT37
ANT38
图4-7
✧若要串联多个接点组合回路时,必须使用ALD指令。
如图4-8所示。
✧若按正确次序编程(即输入:
“左重右轻、上重下轻”;
输出:
上轻下重),可以反复使用=指令。
如图4-9所示。
但若按图4-10所示的编程次序,就不能连续使用“=”指令。
图4-8
✧A、AN的操作数:
LDQ0.0
ANI0.1
=M0.0
AT37
=Q0.1
图4-9
图4-10
3.触点并联指令:
O(Or)/ON(Ornot)
O:
或操作,在梯形图中表示并联连接一个常开触点。
ON:
或非操作,在梯形图中表示并联连接一个常闭触点。
(2)指令格式如图4-11所示
梯形图语句表
OI0.1
ONM0.0
LDNQ0.0
AI0.2
OM0.1
ANI0.3
OM0.2
=M0.1
图4-11O/ON指令的使用
(3)O/ON指令使用说明:
✧✧
O/ON指令可作为并联一个触点指令,紧接在LD/LDN指令之后用,即对其前面的LD/LDN指令所规定的触点并联一个触点,可以连续使用。
若要并联连接两个以上触点的串联回路时,须采用OLD指令。
ON操作数:
I、Q、M、SM、V、S、T、C。
4.电路块的串联指令ALD
ALD:
块“与”操作,用于串联连接多个并联电路组成的电路块。
(2)指令格式如图4-12所示
LDI1.0//装入常开触点
OI1.1//或常开触点
LDI1.2//装入常开触点
OI1.3//或常开触点
ALD//块与操作
梯形图
语句表
图4-12ALD指令使用
(3)ALD指令使用说明:
并联电路块与前面电路串联连接时,使用ALD指令。
分支的起点用LD/LDN指令,并联电路结束后使用ALD指令与前面电路串联。
可以顺次使用ALD指令串联多个并联电路块,支路数量没有限制。
如图4-13所示。
ALD指令无操作数。
ONI0.3
LDI0.1
OI0.4
ALD
OI0.5
梯形图语句表
图4-13ALD指令使用
5.电路块的并联指令OLD
OLD:
块“或”操作,用于并联连接多个串联电路组成的电路块。
(2)指令格式如图4-14所示。
LDI0.0//装入常开触点
AI0.1//与常开触点
LDI0.2//装入常开触点
AI0.3//与常开触点
OLD//块或操作
LDNI0.4//装入常闭触点
AI0.5//与常开触点
OLD//块或操作
图4-14OLD指令的使用
(3)OLD指令使用说明:
并联连接几个串联支路时,其支路的起点以LD、LDN开始,并联结束后用OLD。
可以顺次使用OLD指令并联多个串联电路块,支路数量没有限制。
【例4-1】根据图4-15所示梯形图,写出对应的语句表。
OI0.1
AI0.3
LDI0.4
ANI0.5
OLD
OI0.6
ONI0.7
图4-15例4-1图
6.逻辑堆栈的操作
S7-200系列采用模拟栈的结构,用于保存逻辑运算结果及断点的地址,称为逻辑堆栈。
S7-200系列PLC中有一个9层的堆栈。
在此讨论断点保护功能的堆栈操作。
(1)指令的功能
堆栈操作指令用于处理线路的分支点。
在编制控制程序时,经常遇到多个分支电路同时受一个或一组触点控制的情况如图4-17所示,若采用前述指令不容易编写程序,用堆栈操作指令则可方便的将图4-17所示梯形图转换为语句表。
LPS(入栈)指令:
LPS指令把栈顶值复制后压入堆栈,栈中原来数据依次下移一层,栈底值压出丢失。
LRD(读栈)指令:
LRD指令把逻辑堆栈第二层的值复制到栈顶,2-9层数据不变,堆栈没有压入和弹出。
但原栈顶的值丢失。
LPP(出栈)指令:
LPP指令把堆栈弹出一级,原第二级的值变为新的栈顶值,原栈顶数据从栈内丢失。
LPS、LRD、LPP指令的操作过程如图4-16所示。
图中Iv.x为存储在栈区的断点的地址。
LPS进栈LRD读栈LPP出栈
前后前后前后
图4-16堆栈操作过程示意图
(2)指令格式如图4-17所示。
LPS//压入堆栈
LDI0.1//装载常开触点
OI0.2//或常开触点
LRD//读栈
LDI0.3//装载常开触点
OI0.4//或常开触点
LPP//出栈
=Q0.2//输出线圈
图4-17堆栈指令的使用
(3)指令使用说明:
逻辑堆栈指令可以嵌套使用,最多为9层。
为保证程序地址指针不发生错误,入栈指令LPS和出栈指令LPP必须成对使用,最后一次读栈操作应使用出栈指令LPP。
堆栈指令没有操作数。
7.置位/复位指令S/R
置位指令S:
使能输入有效后从起始位S-bit开始的N个位置“1”并保持。
复位指令R:
使能输入有效后从起始位S-bit开始的N个位清“0”并保持。
(2)指令格式如表4-1所示,用法如图4-18所示。
表4-1S/R指令格式
STL
LAD
SS-bit,N
S-bit
─()
N
RS-bit,N
R-bit
SQ0.0,1
LDI0.1
RQ0.0,1
图4-18S/R指令的使用
图4-19时序图
对同一元件(同一寄存器的位)可以多次使用S/R指令(与“=”指令不同)。
由于是扫描工作方式,当置位、复位指令同时有效时,写在后面的指令具有优先权。
操作数N为:
VB,IB,QB,MB,SMB,SB,LB,AC,常量,*VD,*AC,*LD。
取值范围为:
0~255。
数据类型为:
字节。
操作数S-bit为:
I,Q,M,SM,T,C,V,S,L。
布尔。
置位复位指令通常成对使用,也可以单独使用或与指令盒配合使用。
【例4-2】图4-18所示的置位、复位指令应用举例及时序分析。
如图4-19所示。
SQ0.1,1
RQ0.2,2
(a)梯形图(b)语句表(c)时序图
图4-20=、S、R指令比较
8.脉冲生成指令EU/ED
EU指令:
在EU指令前的逻辑运算结果有一个上升沿时(由OFF→ON)产生一个宽度为一个扫描周期的脉冲,驱动后面的输出线圈。
ED指令:
在ED指令前有一个下降沿时产生一个宽度为一个扫描周期的脉冲,驱动其后线圈。
(2)指令格式如表4-2所示,用法如图4-21,时序分析如图4-22所示。
表4-2EU/ED指令格式
操作数
EU(EdgeUp)
无
ED(EdgeDown)
程序及运行结果分析如下:
I0.0的上升沿,经触点(EU)产生一个扫描周期的时钟脉冲,驱动输出线圈M0.0导通一个扫描周期,M0.0的常开触点闭合一个扫描周期,使输出线圈Q0.0置位为1,并保持。
I0.1的下降沿,经触点(ED)产生一个扫描周期的时钟脉冲,驱动输出线圈M0.1导通一个扫描周期,M0.1的常开触点闭合一个扫描周期,使输出线圈Q0.0复位为0,并保持。
时序分析如图4-22。
(3)指令使用说明
EU、ED指令只在输入信号变化时有效,其输出信号的脉冲宽度为一个机器扫描周期。
对开机时就为接通状态的输入条件,EU指令不执行。
EU、ED指令无操作数。
EU//正跳变
=M0.0//输出
LDM0.0//装入
SQ0.0,1//输出置位
网络3
LDI0.1//装入
ED//负跳变
=M0.1//输出
网络4
LDM0.1//装入
RQ0.0,1//输出复位
图4-22EU/ED指令时序分析
图4-21EU/ED指令的使用
4.2.2基本位逻辑指令应用举例
1.起动、保持、停止电路
起动、保持和停止电路(简称为“起保停”电路),其梯形图和对应的PLC外部接线图如图4-23所示。
在外部接线图中起动常开按钮SB1和SB2分别接在输入端I0.0和I0.1,负载接在输出端Q0.0。
因此输入映像寄存器I0.0的状态与起动常开按钮SB1的状态相对应,输入映像寄存器I0.1的状态与停止常开按钮SB2的状态相对应。
而程序运行结果写入输出映像寄存器Q0.0,并通过输出电路控制负载。
图中的起动信号I0.0和停止信号I0.1是由起动常开按钮和停止常开按钮提供的信号,持续ON的时间一般都很短,这种信号称为短信号。
起保停电路最主要的特点是具有“记忆”功能,按下起动按钮,I0.0的常开触点接通,如果这时未按停止按钮,I0.1的常闭触点接通,Q0.0的线圈“通电”,它的常开触点同时接通。
放开起动按钮,I0.0的常开触点断开,“能流”经Q0.0的常开触点和I0.1的常闭触点流过Q0.0的线圈,Q0.0仍为ON,这就是所谓的“自锁”或“自保持”功能。
按下停止按钮,I0.1的常闭触点断开,使Q0.0的线圈断电,其常开触点断开,以后即使放开停止按钮,I0.1的常闭触点恢复接通状态,Q0.0的线圈仍然“断电”。
时序分析如图4-24所示。
这种功能也可以用图4-25中的S和R指令来实现。
在实际电路中,起动信号和停止信号可能由多个触点组成的串、并联电路提供。
图4-23外部接线图和梯形图
起、保、停电路梯形图
图4-25S/R指令实现的起、保、停电路
小结:
(1)每一个传感器或开关输入对应一个PLC确定的输入点,每一个负载PLC一个确定的输出点。
(2)为了使梯形图和继电器接触器控制的电路图中的触点的类型相同,外部按钮一般用常开按钮。
2.互锁电路
如图4-26所示输入信号I0.0和输入信号I0.1,若I0.0先接通,M0.0自保持,使Q0.0有输出,同时M0.0的常闭接点断开,即使I0.1再接通,也不能使M0.1动作,故Q0.1无输出。
若I0.1先接通,则情形与前述相反。
因此在控制环节中,该电路可实现信号互锁。
3.比较电路
如图4-27所示,该电路按预先设定的输出要求,根据对两个输入信号的比较,决定某一输出。
若I0.0、I0.1同时接通,Q0.0有输出;
I0.0、I0.1均不接通,Q0.1有输出;
若I0.0不接通。
I0.1接通,则Q0.2有输出;
若I0.0接通,I0.1不接通,则Q0.3有输出。
4.微分脉冲电路
(1)上升沿微分脉冲电路
如图4-28所示。
PLC是以循环扫描方式工作的,PLC第一次扫描时,输入I0.0由OFF→ON时,M0.0、M0.1线圈接通,Q0.0线圈接通。
在第一个扫描周期中,在第一行的M0.1的常闭接点保持接通,因为扫描该行时,M0.1线圈的状态为断开。
在一个扫描周期其状态只刷新一次。
等到PLC第二次扫描时,M0.1的线圈为接通状态,其对应的M0.1常闭接点断开,M0.0线圈断开,Q0.0线圈断开,所以Q0.0接通时间为一个扫描周期。
(2)下降沿微分脉冲电路
如图4-29所示。
PLC第一次扫描时,输入I0.0由ON→OFF时,M0.0接通一个扫描周期,Q0.0输出一个脉冲。
5.分频电路
用PLC可以实现对输入信号的任意分频。
图4-30是一个2分频电路。
将脉冲信号加到I0.0端,在第一个脉冲的上升沿到来时,M0.0产生一个扫描周期的单脉冲,使M0.0的常开触点闭合,由于Q0.0的常开触点断开,M0.1线圈断开,其常闭触点M0.1闭合,Q0.0的线圈接通并自保持;
第二个脉冲上升沿到来时,M0.0又产生一个扫描周期的单脉冲,M0.0的常开触点又接通一个扫描周期,此时Q0.0的常开触点闭合,M0.1线圈通电,其常闭触点M0.1断开,Q0.0线圈断开;
直至第三个脉冲到来时,M0.0又产生一个扫描周期的单脉冲,使M0.0的常开触点闭合,由于Q0.0的常开触点断开,M0.1线圈断开,其常闭触点M0.1闭合,Q0.0的线圈又接通并自保持。
以后循环往复,不断重复上过程。
由图4-30可见,输出信号Q0.0是输入信号I0.0的二分频。
6.抢答器程序设计
(1)控制任务:
有3个抢答席和1个主持人席,每个抢答席上各有1个抢答按钮和一盏抢答指示灯。
参赛者在允许抢答时,第一个按下抢答按钮的抢答席上的指示灯将会亮,且释放抢答按钮后,指示灯仍然亮;
此后另外两个抢答席上即使在按各自的抢答按钮,其指示灯也不会亮。
这样主持人就可以轻易的知道谁是第一个按下抢答器的。
该题抢答结束后,主持人按下主持席上的复位按钮(常闭按钮),则指示灯熄灭,又可以进行下一题的抢答比赛。
工艺要求:
本控制系统有4个按钮,其中3个常开S1、S2、S3,一个常闭S0。
另外,作为控制对象有3盏灯H1、H2、H3。
图4-31抢答器程序设计
(2)I/O分配表
输入
I0.0S0//主持席上的复位按钮(常闭)
I0.1S1//抢答席1上的抢答按钮
I0.2S2//抢答席2上的抢答按钮
I0.3S3//抢答席3上的抢答按钮
输出
Q0.1H1//抢答席1上的指示灯
Q0.2H2//抢答席2上的指示灯
Q0.0H