S7-200编程语言及指令系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

可编程序控制器主讲:张波第四章S7-200编程语言及指令系统4.1编程语言与指令操作数范围4.2基本指令4.3程序控制指令4.4数学运算指令4.5数据操作指令4.6PID指令4.7其他操作指令4.1编程语言与指令操作数范围4.1.1编程语言梯形图(LAD)语句表(STL)功能块图(FBD)1、梯形图(图形语言)适用:开关量和逻辑控制设计思想:让CPU模仿电源的电流通过一系列逻辑控制条件,并根据结构产生逻辑输出。逻辑控制条件按其控制功能分解成多个“梯级”,构成梯形图。执行程序时,从左到右,从上到下逐级执行,执行到程序结尾,再从上至下反复循环。梯形图组成:左右两条垂直线:左母线、右母线。常开触点、常闭触点:代表逻辑“输入”条件,如:开关、按钮、内部软元件等。输出线圈:代表逻辑“输出”结果,如:电机启动器、电磁阀、软元件、继电器。方框:代表附加指令,如:定时器、计数器、数学运算指令等。梯形图编程就是用软继电器线圈的吸、放和触点的通、断实现各种实际控制系统。左母线右母线AB(M)(Q)INTONPT100T33CD•注:-通常括号(输出驱动线圈)右边的部分在梯形图中不画出。–触点在水平线上若是互相串联,则相当于逻辑与(AND)–若相邻的水平线用一条垂直线连接起来形成并联,相当于逻辑或(OR)能流:假想在梯形图中有“电流”流动,这个“电流”称为“能流”。“能流”只能单方向流动,不可逆。即从上至下、从左到右。梯形图左边的母线即为“能流”源,并能沿着“梯级”线从左到右驱动最右边的输出线圈。如果这个“能流”能畅通无阻地到达最右边,则输出线圈被驱动;否则,输出线圈不被驱动。2.语句表语句表是由各种指令组成的语言程序。使用NETWORK对程序分段。可以实现某些不能用梯形图或功能块图实现的功能。(1)指令指令是构成语句表的元素,由一个或几个容易记忆的字符来表示。每一条指令带上必要的符号和参数就形成一个语句,可完成一特点功能。程序执行时,按从上到下的顺序逐条执行。(2)梯形图转换成语句表规则梯形图中的线圈、触点、方块等符号,在语句表中有具体的指令与其对应。利用PLC基本指令对梯形图编程时,务必按从上到下、从左到右的原则进行。为了减少程序步骤,要优化编程顺序,其原则是串联多的电路放在上面,并联多的电路尽量靠近左母线。对于不符合编程要求的梯形图控制电路必须重新编排,以便于正确使用PLC指令进行语句表编程。I0.0I0.1()()I0.2I0.3NETWORK1LDI0.0AI0.1=M0.0NETWORK2LDI0.2ONI0.3=Q0.0M0.0Q0.03、功能块图采用半导体逻辑电路方块图。每一种功能使用一个运算方块,其运算功能由方块内的符号表示。功能块图编辑器没有梯形图中的线圈和触点,但有与之等价的指令。4、指令操作数范围(P65表4.1)I2.1V50.0ANDT33INTonPT1004.1.3梯形图设计规则梯形图没有实际的电流流动,被假设的“能流”实际是控制系统的信号流,它只能单方向流动,不能产生反流。即梯形图必须符合从上至下、从左到右的执行原则,否则不能直接编程。梯形图中的触点应画在水平线上,不能画在垂直线上。c错误正确不包含触点的分支应放在垂直方向上,不能放在水平方向上,以便识别触点的组合和对输出线圈的控制路径。错误正确梯形图每一“梯级”都是从左边母线开始,输出线圈接在右边母线上,所有触点不能画在输出线圈的右边。输出线圈不能直接连接在左母线上,若必须的话,则可通过插入常闭触点将线圈连于左母线上。错误正确若几个并联回路串联,应将触点最多的回路放在梯形图的最左面;若几个串联回路并联,应将触点最多的回路放在梯形图的最上面。错误正确4.2基本指令4.2.1逻辑位标准操作指令1、逻辑取、线圈驱动指令LD、LDN和=LD指令用于常开触点逻辑运算开始。LDN指令用于常闭触点逻辑运算开始。“=”(OUT)线圈驱动指令,使该线圈所代表的软元件的触点闭合或断开。网络2LDNI0.1=M0.0=Q0.0网络1LDI0.0=Q0.0几点说明LD、LDN用于将左母线与触点相连;也可以与其他指令配合,用于其他分支回路的开始。“=”指令用于驱动输出继电器、辅助继电器、特殊功能寄存器、定时器及计数器等,但不能用于驱动输入继电器。并联的“=”指令可以连续使用任意次。LD、LDN的操作数为I、Q、M、SM、T、C、V、S、L“=”的操作数为Q、M、SM、T、C、V、S、L2、逻辑与操作指令A、AN在梯形图中,如果有串联触点,要用逻辑与指令对其编程。若串联的触点是常开触点,则使用与指令A;若串联的触点是常闭触点,则使用与非指令AN。几点说明A、AN指令是单个触点串联连接指令,可连续使用。若串联一个由多触点并联的回路,则不能用A、AN指令,需采用逻辑块与指令ALD。并联的“=”指令可以连续使用任意次。A、AN指令的操作数为I、Q、M、SM、T、C、V、S、L3、逻辑或操作指令O、ON在梯形图中,如果有单个触点并联,要用逻辑或指令对其编程。若并联的触点是常开触点,则使用或指令O;若并联的触点是常闭触点,则使用或非指令ON。几点说明O、ON指令是单个触点并联连接指令,一般紧跟在LD、LDN等指令后。即对其前面LD、LDN指令所指定的触点再并联一个触点,并联的次数可以是无限次。若并联两个以上触点的串联回路,则不能用O、ON指令,需采用逻辑块或指令OLD。O、ON指令的操作数为I、Q、M、SM、T、C、V、S、L4、块操作指令ALD、OLD有两个或两个以上串联触点的控制电路称为串联电路块。有两个或两个以上并联触点的控制电路称为并联电路块。在梯形图中,若有两个以上的并联块触点串联,则用块与指令ALD。若有两个以上的串联块触点并联,则用块或指令OLD几点说明几个串、并联支路进行并联或串联连接时,其支路的起点以LD、LDN开始,支路终点用OLD、ALD指令。如需将多个支路并联或串联,则从第二条支路开始,在每一条支路后面加OLD指令或ALD支路。对串、并联支路的个数没有限制。OLD、ALD支路均无操作数。5、置位指令S和复位指令R执行S、R指令时,从bit或out指定的地址参数开始的N个点都被置位或复位。N可以是1~255。当用复位指令时,如果bit或out指定的是T位或C位,则定时器或计数器被复位的同时当前值将被清零。被置位的位一旦为1后,在执行复位指令前不会改变为0,即置位指令具有锁存功能。输入/输出操作数数据类型位I,Q,M,SM,T,C,V,S,LBOOLNVB,IB,QB,MB,SMB,SB,LB,AC,常数,*VD,*AC,*LDBYTE6、脉冲生成指令EU、ED用于检测开关量状态的变化以及配合功能指令完成一些逻辑控制。当对应EU指令前的逻辑运算结果有一个上升沿跳变时,EU指令让能流接通一个扫描周期,即产生一个宽度为一个扫描周期的脉冲,驱动其后面的输出线圈。当对应ED指令前的逻辑运算结果有一个下降沿跳变时,ED指令让能流接通一个扫描周期,即产生一个宽度为一个扫描周期的脉冲,驱动其后面的输出线圈。对应的梯形图EU、EDPNEU上升沿跳变ED下降沿跳变I0.0M0.0I0.1M0.1Q0.0一个扫描周期一个扫描周期7、逻辑取反NOT和空操作NOP指令NOT指令是逻辑取反指令,它可改变能流状态,能流达到取反触点时则停止,能流未达到取反触点时则通过。NOT指令无操作数。NOP为空操作指令,它的使用对程序不产生任何影响,用于调试及修改程序,也可用于短暂的延时。NOP指令的操作数N是一个0-255的常数,表示要进行的空操作的次数。8、逻辑堆栈指令S7-200系列PLC中有一个9层的堆栈,用于处理所有逻辑操作,称为逻辑堆栈。有6条逻辑操作指令要用到逻辑堆栈。在语句表(STL)中,常开触点由LD(装载)、A(与)及O(或)指令描述,LD将位bit值装入栈顶,A、O分别将位bit值与、或栈顶值,运算结果仍存入栈顶。在语句表中,常闭触点由LDN(非装载)、AN(非与)、和ON(非或)指令描述,LDN将位bit值取反后再装入栈顶,AN、ON先将位bit值取反,再分别与、或栈顶值,其运算结果仍存入栈顶。ALD和OLD指令操作时利用堆栈作为中间结果的暂存区。ALD指令对堆栈中的第一层和第二层的值进行逻辑与操作,结果放入栈顶。执行完后堆栈深度减1。操作数:无OLD指令对堆栈中的第一层和第二层的值进行逻辑或操作,结果放入栈顶。执行完后堆栈深度减1。操作数:无栈顶值复制指令第2级栈顶值复制指令LPS指令复制栈顶的值并将这个值推入栈,栈底的值被推出并丢失。操作数:无LRD指令复制堆栈中的第二个值到栈顶,堆栈没有推入或弹出栈操作,但旧的栈顶值被新的复制值取代。操作数:无栈顶弹出指令n级堆栈值复制指令LPP指令弹出栈顶的值,堆栈的第二个值成为新的栈顶值,其他堆栈值依次被向上推移一级。该指令使原堆栈顶值弹出后丢失,最底层成为不确定值。操作数:无LDS指令复制堆栈中的第n个值到栈顶,原有的堆栈值依次被向下推移一级,原堆栈底层值被压出而丢失。操作数:n(1~8的立即数)4.2.2逻辑位立即操作指令(1)立即触点指令在每个标准触点指令的后面加“I”。指令执行时,立即读取物理输入点的值,但是不刷新对应映像寄存器的值。这类指令包括:LDI、LDNI、AI、ANI、OI和ONI。下面以LDI指令为例。用法:LDIbit例:LDII0.2注意:bit只能是I类型。LDI指令把物理输入点的值立即装入栈顶。AI和OI指令分别将物理输入点的值与堆栈顶值进行与和或,运算结果仍放于栈顶。LDNI指令把物理输入点的值取反后立即装入栈顶。ANI和ONI指令分别将物理输入点的值取反与堆栈顶值进行与和或,运算结果仍放于栈顶。(2)=I,立即输出指令用立即指令访问输出点时,把栈顶值立即复制到指令所指出的物理输出点,同时,相应的输出映像寄存器的内容也被刷新。用法:=Ibit例:=IQ0.2注意:bit只能是Q类型。(3)SI,立即置位指令用立即置位指令访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即置位,同时,相应的输出映像寄存器的内容也被刷新。用法:SIbit,N例:SIQ0.0,2注意:bit只能是Q类型。(4)RI,立即复位指令用立即复位指令访问输出点时,从指令所指出的位开始的N个(最多为128个)物理输出点被立即复位,同时,相应的输出映像寄存器的内容也被刷新。用法:RIbit,N例:RIQ0.0,1LDI0.0//装入常开触点=Q0.0//输出触点,非立即=IQ0.1//立即输出触点SIQ0.2,1//从Q0.2开始的1个//触点被立即置1LDII0.0//立即输入触点指令=Q0.3//扫描周期n扫描周期n+1扫描周期n+3扫描周期n+2输出刷新输出刷新输出刷新输出刷新输出刷新输入扫描输入扫描输入扫描输入扫描输入扫描Q0.1I0.0Q0.0Q0.3Q0.24.2.3定时器指令S7-200系列PLC内部有256个定时器。按功能分为3类:接通延时定时器TON、断开延时定时器TOF和有记忆接通延时定时器TONR。按定时器的分辨率分为3个等级:1ms、10ms和100ms。每个定时器由一个16位寄存器和1个状态位(反映其触点状态)构成。定时器编号和分辨率TXXX:定时器编号PT(INT)预置常数:VW、IW、QW、MW、SMW、LW、AIW、AC、T、CIN(BOOL)使能输入:I、Q、M、SM、T、C、V、S、L1、定时器工作工程接通延时定时器TON,接通延时定时器指令。用于单次时间定时。上电时或首次扫描,该定时器的状态位T和寄存器内容被清0。当使能输入接通时,定时器状态位为OFF,当前值从0开始计时,当前值达到预设值时,定时器状态位为ON,继续计时,一直计到最大值32767。当使能输入断开,定时器自动

1 / 165
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功