第三章S7-200系列PLC基本指令及应用S7-200系列PLC的基本指令分为布尔指令和程序控制指令,该指令多用于开关量逻辑控制。本章着重介绍梯形图(LAD)和指令表(STL),并讨论基本指令的功能及编程方法。第一节PLC的布尔指令SIMATICS7-200系列PLC共有20多条布尔指令,现按用途分类说明指令的含义,梯形图的编程方法及对应的指令表形式。一、装载及线圈驱动指令LD(load):常开触点逻辑运算开始(装载指令)。LDN(loadnot):常闭触点逻辑运算开始(取反后装载指令)。=(out):线圈驱动(输出指令)。LD,LDN,=指令使用说明LD,LDN指令用于与输入公共线(输入左母线)相连的触点,也可以与OLD,AID指令配合使用于分支回路的开头。=指令用于输出继电器,辅助继电器,定时器及计数器等,但不能用于输入继电器。并联的=指令可以连续使用任意次。LD、LDN的操作数:I,Q,M,SM,T,C,V,S。=的操作数:Q,M,SM,T,C,V,S。二、触点串联指令A(And):常开触点串联连接。AN(AndNot):常闭触点串联连接。梯形图及指令表表示了上述两条基本指令的用法。A、AN指令使用说明:(1)A、AN是单个触点串联连接指令,可连续使用。(2)A、AN的操作数:I,Q,M,SM,T,C,V,S。三、触点并联指令O(or):常开触点并联连接(或指令)。ON(ornot):常闭触点并联连接(取反后或指令)。O、ON指令使用说明如下:1.O,ON指令可作为一个接点的并联连接指令,可以连续使用。2.O,ON的操作数:I,Q,M,SM,T,C,V,S。四、串联电路块的并联指令OLD(orload),用于串联电路块的并联连接(或装载指令)。OLD指令使用说明如下:1.几个串联支路并联连接时,其支路的起点以LD,LDN开始,支路的终点用OLD指令。2.如需将多个支路并联,从第二条支路开始,在每一支路后面加OLD指令。用这种方法编程,对并联支路的个数不限。3.OLD指令无操作数。五、并联电路块的串联指令ALD(AndLood),用于并联电路块的串联连接(与装载指令)ALD指令使用说明如下:1.分支电路(并联电路块)间的串联连接时,使用ALD指令。2.如果有多个并联电路块串联,顺次以ALD指令与前面支路连接,支路数量不限。3.ALD指令无操作数。六、置位指令(S)和复位指令(R)置位即置1,复位即置0。置位和复位指令可以将位存储区的某一位开始的一个或多个(最多可达255个)同类存储器位置1或置0。这两条指令在使用时需指明三点:操作性质、开始位和位的数量。S、R指令应用示例从I0.0的上升沿令Q0.0接通并保持,即使I0.0断开也不再影响Q0.0。I0.1的上升沿使Q0.0断开并保持,直到I0.0的下一个脉冲到来。S、R指令使用说明如下:1.由于是扫描工作方式,故写在后面的指令有优先权。在上例S-R触发器(把次序反过来可组成R-S触发器)中,当I0.0和I0.1同时为1,则Q0.0为0。R指令写在后因而有优先权。2.S、R指令必须成对使用而且使用的器件号应相同。3.S、R指令的操作数:Q,M,SM,V,S,T,C。七、立即指令立即指令允许对输入和输出点进行快速和直接存取。当用立即指令读取输入点的状态时,相应的输入映像寄存器中的数值并未发生更新;用立即指令访问输出点时,访问的同时,相应的输出寄存器的内容也被刷新。只有输入继电器I和输出继电器Q可以使用立即指令。(一)立即触点指令在每个标准触点指令的后面加“I”。指令执行时,立即读取输入点的值,但是不刷新相应映像寄存器的值。这类指令包括LDI,LDNI,AI,ANI,OI和ONI。(二)立即输出指令=I,立即输出指令。下图为梯形图及指令表表示立即输出指令的用法。(三)立即置位和立即复位指令SI,立即置位指令。RI,立即复位指令。用立即置位指令(或立即复位指令)访问输出点时,从指令所指出的位(bit)开始的N个(最多为128个)物理输出点被立即置位(或立即复位),同时,相应的输出映像寄存器的内容也被刷新。八、正负跳变指令正负跳变指令在梯形图中以触点形式使用。用于检测脉冲的正跳变(上升沿)或负跳变(下降沿),利用跳变让能流接通一个扫描周期,即可产生一个扫描周期长度的微分脉冲,驱动后面的输出线圈。EU(EdgeUp):正跳变指令(检测上升沿指令)。正跳变触点检测到脉冲的每一次正跳变后,产生一个微分脉冲。指令格式:EU(无操作数)ED(EdgeDown):负跳变指令(检测下降沿指令)。负跳变触点检测到脉冲的每一次负跳变后,产生一个微分脉冲。指令格式:ED(无操作数)正负跳变触点指令编程举例九、逻辑堆栈操作指令S7-200系列PLC有一个9层堆栈,用于处理所有逻辑操作,称为逻辑堆栈。ALD指令:栈装载“与”指令,用于将并联电路块进行串联连接。执行ALD指令,将逻辑堆栈第一,第二级的值进行逻辑”与”操作,结果置于栈顶,并将堆栈中其余各级的内容依次上弹一级。OLD指令:栈装载“或”指令,用于将串联电路块进行并联连接。执行OLD指令,将逻辑堆栈第一,第二级的值进行逻辑”或”操作,结果置于栈顶,并将堆栈中其余各级的内容依次上弹一级。LPS指令:逻辑压栈指令(分支或主控指令),用于将栈顶值复制后压入堆栈,栈底值压出丢失。在梯形图中的分支结构中,用于生成一条新的母线,左侧为主控逻辑块时,第一个完整从逻辑行由此开始。LRD指令:逻辑读栈指令。LRD指令把逻辑堆栈第二级的值复制到栈顶,堆栈没有压入和弹出。LPP指令:逻辑弹出栈指令(分支结束或主控复位指令),LPP指令把堆栈弹出一级,原第二级的值变为新的栈顶值。在梯形图中的分支结构中,用于将LPS指令生成的一条新母线进行恢复。应注意,LPS和LPP必须配对使用。LDSn指令:装入堆栈指令,复制堆栈中的第n级的值到栈顶。原栈中各级栈值依次下压一级,栈底值丢失。逻辑指令的操作LPS、ALD、LRD、LPP指令应用示例十、定时器指令定时器是由集成电路构成,是PLC中的重要硬件编程元件。定时器编程时提前输入时间预设值,在运行时当定时器的输入条件满足时开始计时,当前值从0开始按一定的时间单位增加,当定时器的当前值达到预设值时,定时器发出中断请求,使PLC响应作出相应的动作。此时它对应的常开触点闭合,常闭触点断开。利用定时器的输入与输出触点就可以得到控制所需的延时时间。系统提供3种定时指令:TONR(有记忆通电延时)TON(通电延时)TOF(断电延时)CPU221、CPU222、CPU224、CPU224XP、CPU226五种CPU模块均有256个定时器,定时器的类型及分辨率的编号分配如表5-7所示。带记忆通电延时定时器(TONR)指令应用示例通电延时(TON)定时器指令应用示例断电延时定时器(TOF)指令应用示例十一、计数器指令计数器与定时器的结构和使用基本相似,编程时输入它的预设值PV(计数的次数),计数器累计它的脉冲输入端电位上升沿(正跳变)个数,当计数器达到预设值PV时,PLC作出相应的处理计数器指令有三种。加计数CTU、加减计数CTUD、减计数CTD。加计数器电路减计数器电路加/减计数器电路十二、NOT及NOP指令NOT(取反)触点改变使能位输入状态。当使能位到达NOT(取反)触点时即停止。当使能位未到达NOT(取反)触点时,则供给使能位。在LAD中,NOT(取反)指令用触点表示。在FBD中,NOT(取反)指令使用带有布尔输入的图形负号。在STL中,NOT(取反)指令将堆栈顶部的数值从0改变为1,或从1改变为0。十二、NOT及NOP指令十三、比较指令比较指令是将两个操作数按指定的条件作比较,条件成立时,触点就闭合。比较指令的类型有:字节比较、整数比较、双字整数比较和实数比较。比较运算符有:,=,=,=,,(表示不等于)“х”表示比较运算符n1,n2所需满足的条件“口”表示操作数n1,n2的数据类型及范围第二节程序控制指令一、跳转及标号指令JMP:跳转指令,把程序的执行跳转到指定的标号。执行跳转后,逻辑堆栈顶值始终为逻辑1。LBL:指定跳转的目标标号。操作数n:0~255程序控制指令-跳转指令二、结束指令END:条件结束指令,执行条件成立时结束主程序,返回主程序起点。可以在主程序中使用,不能再子程序和中断程序中使用。STEP-Micro/WIN32自动在程序结尾添加了结束语句在编制主程序时不需要用户再在程序末尾添加结束语句(END)MEND:无条件结束指令,结束主程序,返回主程序起点。三、停止命令STOP:停止指令,执行条件成立时停止执行用户程序,令CPU状态由RUN切换到STOP模式。四、看门狗复位指令WDR:允许CPU的系统监视程序定时器被重新触发,WDR指令可以在没有监视程序错误的条件下增加CPU系统扫描占用的时间,以延长扫描周期。五、子程序调用、子程序入口和子程序返回指令CALL:转子程序调用指令,CALL将程序执行转到子程序n处。SBR:子程序入口指令,SBR标示n号子程序的开始位置。CRET:子程序条件返回指令,CRET条件成立时,结束该子程序,返回原调用处。RET:子程序无条件返回指令,RET无条件结束该子程序,返回原调用处。子程序必须以本指令作结束。第三节PLC初步编程指导一、梯形图设计规则1.触点应画在水平线上,不能画在垂直分支上。如图a)中触点3被画在垂直线上,通过触点3的“能流”是双向的,而不是单向,属于不可编程梯形图,对不可编程梯形图可按逻辑关系不变的原则进行处理,处理后b图2.不含触点的分支应画在垂直方向,不可画在水平位置.3.在有几个串联回路相并联时,触点最多的那个串联回路画在梯形图的最上面;在有几个并联回路相串联时,触点最多的并联回路画在梯形图的最左面。这种安排所编制的程序简洁明了,指令减少,二、指令表编程规则利用PLC基本指令对梯形图编程时,必须按从左到右,自上而下的原则进行。第四节典型简单电路和环节的PLC程序设计一、延时断开电路控制要求:当输入I0.0接通时,Q0.0有输出;当I0.0断开时,则Q0.0延时一定时间后才断开。二、二分频电路另一种形式的二分频电路三、定时器构成振荡电路四、定时器、计数器的扩展(一)自复式定时器(二)自复式计数器(三)定时器的扩展(四)计数器的扩展两个计数器加法的级联两个计数器的乘法级联(五)定时器与计数器的扩展五、长延时电路本章小结本章主要介绍了S7-200系列PLC的逻辑指令和程序控制指令,并简介了各指令的含义、梯形图的编制方法及对应的指令表形式。在逻辑指令的应用中,应重点掌握延时断开电路、分频电路、振荡电路、自复式定时器、自复式计数器、定时器的级联、计数器的级联、定时器计数器的级联及长延时电路的编程方法和分析。