您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 第八章PLC基本指令.
第九章可编程控制器的基本指令9.1可编程控制器的逻辑指令9.1.1触点指令及线圈驱动指令1LD(load):常开触点逻辑运算开始。2LDN:常闭触点逻辑运算开始。3=(OUT):线圈驱动。LD、LDN指令用于公共线(输入母线)相连的触点,也可以与OLD、ALD指令配合使用于分支回路的开头。=指令用于输出继电器、辅助继电器(线圈),不用于输入继电器(触点)。操作数:指令可以操作的对象。常开触点在其寄存器对应位值为0时,其梯形图中触点是断开的,触点的状态为OFF或为0,当寄存器对应位中值为1时,触点闭合。常闭触点在其寄存器中对应位值为0时,其触点是闭合的,因为LDN指令从寄存器对应位读出数据后要取反,使0变成1,则常闭触点状态为闭合。当常闭触点寄存器值为1时,触点状态为断开。为了使梯形图和传统继电接触控制线路一一对应,输入控制电器的触点尽可能接成常开形式。COMSB1SB2KMUPLC接线图2I0.0COMSB1SB2KMUPLC接线图1Q0.0()梯形图1()梯形图2KMSB2SB1KM启-保-停继电接触控制线路I0.1I0.0Q0.0I0.1I0.0I0.1Q0.0Q0.0I0.1I0.0Q0.0Q0.0COMCOM9.1.2触点串并联指令A:常开触点串联;AN:常闭触点串联;用于单个触点的串联,可连续使用。图9-2按正确顺序编程,可以反复使用=指令。图9-3多触点组成的组合回路串联时,不能使用该指令。9.1.3触点并联指令O:常开触点并联;ON:常闭触点并联。做单个触电的连接指令,紧接在LD、LDN指令后边使用,对LD、LDN规定的触点再并联一个触点,可以连续使用。图9-4若将两个以上触点串联的回路和其他回路并联时,不能使用该指令。9.1.4串联电路块的并联指令OLD:串联电路块的并联连接。几个串联支路并联连接时,其支路起点以LD、LDN开始,支路终点用OLD指令。如果需要多个支路并联,从第二个支路开始,在每一个支路后面加OLD指令。并联支路的个数没有限制。图9-5OLD无操作数。9.1.5并联电路块的串联指令ALD:用于并联电路块的串联连接。并联电路块与前边电路串联连接时,使用ALD指令。分支的起点用LD、LDN指令,并联电路块结束后,用ALD指令与前边电路串联。图9-6如果有多个并联电路块串联,顺次以ALD指令与前边支路连接,支路数量没有限制。ALD指令无操作数。9.1.6置位/复位指令置位:SS-BIT,N复位:RS-BIT,N语句格式及含义——图9-7a、b置位即置1,复位即清零。置位和复位指令可以将位存储区的某一位开始的一个或多个同类寄存器位置1或清零。最多达255个。当置位信号来临(为1)时,操作对象被置位,即使置位信号变成0,被置位对象的状态仍然为1,直到其复位信号到来。图9-7c当复位信号来临(为1)时,操作对象被复位,即使复位信号变成0,被复位对象的状态仍然为0,直到其置位信号到来。如果被复位的是定时器或计数器,定时器、计数值清零。由于扫描的工作方式,置位和复位指令,写在后面的有优先权。即一个扫描周期结束后,存储器对应位是置位还是复位要看最后使用的是置位语句还是复位语句。(S)S-BITN(R)S-BITN9.1.7脉冲生成指令EU:在对应EU指令前的逻辑运算结果有一个上升沿时(由OFF到ON)产生一个宽度为一个扫描周期的脉冲,驱动其后的输出线圈。ED:对应ED前逻辑运算结果有下降沿时(由ON到OFF)产生一个宽度为一个扫描周期的脉冲,驱动其后的输出线圈。图9-8a、b、c()P()N宽度为一个周期的脉冲含义:在PLC程序中,程序反复循环执行,每个循环为一个扫描周期。脉冲宽度只有一个扫描周期意味着某个值只能维持一次循环,下次程序循环的时候该值回到原来的状态。9.1.8逻辑堆栈的操作S7-200PLC有9层堆栈,用于处理所有逻辑操作。当线路的逻辑复杂时,也可以借助堆栈指令描述。从堆栈的角度解释ALD与OLD(堆栈动作自动完成)。1.ALD:把逻辑堆栈第一、二级值作“与”操作,结果置于栈顶。ALD指令执行后,堆栈下方数据上移一级。2.OLD:把逻辑堆栈第一、二级值作“或”操作,结果置于栈顶。OLD指令执行后,堆栈下方数据上移一级。图9-9逻辑入栈指令LPS:把栈顶值复制后压入堆栈,栈底值压出丢失。在梯形图中,用于生成一条新的母线,其左侧为原来的主控逻辑块,右侧为新的逻辑块。图9-9逻辑读栈指令LRD:将堆栈中第二级的值复制到栈顶,堆栈中没有入栈或出栈操作,只是栈顶的值被第二级的值取代。在梯形图中,当新母线左侧为主控逻辑块时,LPS开始右侧第一个从逻辑块编程,LRD开始第二个以后的从逻辑块编程。图9-9逻辑出栈指令LPP:将栈顶值弹出,原堆栈中各级栈值向上一次弹一级,堆栈第二级的值成为新的栈顶值。在梯形图中,LPP用于LPS产生的新母线右侧最后一个从逻辑模块编程,它在读取完离它最近的LPS压入堆栈内容时,复位该条新母线。图9-9从梯形图的角度写指令:图9-10LDI0.0LPS(新母线开始第一个逻辑块用LPS)LDI0.1OI0.2ALD=Q0.0LRD(新母线第二个逻辑块用LRD)LDI0.3ONI0.4ALD=Q0.1LPP(新母线最后一个逻辑块用LPP)AI0.5ANI0.6=Q0.2图9-10指令对应堆栈的变化LDI0.0程序执行前X……XI0.0LPSI0.0I0.0X…………LDI0.1I0.1I0.0I0.0XOI0.2S1I0.0I0.0XALD=Q0.1S2I0.0X………………LRDI0.0I0.0X……LDI0.3I0.0I0.0XI0.3ONI0.4S3I0.0I0.0XALD=Q0.0S4I0.0X………………LPPI0.0X……AI0.5S6XANI0.5S7X…………LPS、LPP必须配对使用,它们之间的LRD可以使用多次或不使用。写出下列梯形图对应的指令语句:()()I0.0I0.1Q0.0Q0.1()()I0.0I0.1Q0.0Q0.1()()()()()()I0.0I0.1Q0.0I0.2I0.3I0.4Q0.1Q0.2I0.5Q0.3I0.6I0.7I0.8Q0.4Q0.59.1.9定时器TON:延时通电定时器(接通延时)。1TON:定时器标识符,表示延时通电定时器;IN:启动电平输入端,数据类型BOOL;PT:时间设定值输入端,数据类型为整型;Tn为定时器编号,如T33表示精度为10ms的接通延时型定时器。INPTTONTn2定时时间计算:根据定时器编号,确定定时器分辨率(精度)1ms、10ms、100ms(见表8-9),定时时间T=PT*定时器分辨率。如T37,精度100ms,预设值PT为120,定时时间为12000ms。3定时器状态位:存储定时器当前状态,当定时器当前值达到预设值PT时,该位被置为1.4定时器当前值:存储定时器当前的累计时间,它用16位有符号整数表示,故最大值为32767.定时器的当前值大小是有限的,所以,定时器的计时也是有限的,最大计时值=32767*精度。(1ms、10ms、100ms)定时器的状态位和定时器的当前值都用其编号Tn来表示。5接通延时定时器的工作过程:A当启动信号IN的状态为0时,定时器的当前值为0,定时器状态位也为0,其对应的常开触点打开,常闭触点闭合,定时器没有工作。B当启动信号IN状态从0变成1时,定时器开始工作,每过一个基本时间间隔,定时器的当前值加1.若定时器的当前值大于等于预设值PT时,定时器的状态位由0变成1,常开触点闭合,常闭触点打开。C在定时器当前状态改变后,定时器值继续计时,直到32767才停止计时,当前值也停留在32767,只要当前值大于PT值,定时器状态位就为1.D当IN信号从1变成0,则当前值复位为0,状态位也为0.当IN信号从0变为1后,维持的时间不足以使当前值达到PT值,定时器状态位不会从零变成1.6延时通定时器梯形图与指令表,图9-11。7时序图,图9-118不同精度的定时器刷新(更新计数)方式不同。A1ms:系统每隔1ms刷新一次计数,刷新与扫描周期无关,。因而在扫描周期较长时,一个周期内可能被刷新多次,其当前值在一个扫描周期内不一定保持一致。B10ms:每个扫描周期开始时自动刷新。由于每个扫描周期只刷新一次,故每个扫描周期内,其当前值为常数。假设扫描周期为20ms,每个扫描周期开始,定时器值加2.(系统程序中,定时器刷新程序编写在扫描循环开始的位置,见159页图7-5)C100ms:定时器当前值在定时器指令被执行时刷新。在子程序和中断程序中,不宜使用100ms定时器,因为子程序或中断程序不一定每个扫描周期都被执行,若在扫描循环中时间达到100ms,但由于子程序或中断程序不能被执行,所以计数次数要少一次。同一100ms定时器不宜在一个扫描周期中使用多次,因为当达到100ms刷新时间时,定时器会被刷新多次,增加了计数次数。9用定时器的常闭触点做本定时器的激励时输入时,三种分辨率定时器的运行(图9-13):A1ms定时器很可能不会工作。如果刷新时机恰当,可以使Q0.0接通一个扫描周期。B10ms分辨率定时器不能工作。C100ms定时器可以工作,使Q0.0接通一个扫描周期。D不建议使用图9-13a的接法,如果希望Q0.0只接通一个扫描周期,可以使用9-13b的接法断电延时型定时器TON与TOF定时器编号相同,在使用时,它们不能共享相同的定时器编号。TOF指令在输入端IN接通时,定时器状态位置1,当前值清零。输入端IN断开后,开始从零计时,当计时值等于预设值PT时,定时器清零,当前值保持不变,直到输入端IN接通。INPTTOFTn保持型延时通定时器TONR1保持型延时通定时器具有记忆功能,它可以累计输入信号的接通时间。当IN从0变为1,定时器状态位为0,当前值从0开始累计计数。若IN从1变为0时,定时器状态位和当前值保持最后状态。当IN从0再变到1时,当前值从上次的保持值继续计数,当累计的计数值达到预设值时,定时器状态位为1,当前值连续计数到32767才停止计数。2梯形图、语句表、时序图9-123TONR定时器只能通过复位指令R对其进行复位操作,使当前值清零。9.1.10计数器计数器用来累计输入脉冲的次数。有增计数器CTU、增减计数器CTUD,计数器编号共256个,从C0到C255,计数器的状态和计数器的当前值都用其编号来表示。CTU加计数器1CTU为计数器标识符;Cn为计数器编号;CU为计数脉冲输入端;R为复位信号输入端,数据类型为BOOL;PV为脉冲设定值输入端,整型。CnCURPVCTU2加计数器在复位端信号为1时,其计数当前值为0,计数器状态位也为0.当复位信号为0时,计数器可以工作。在计数器每个脉冲输入的上升沿,计数器计数1次,计数器的当前值加1.当计数器的当前值大于等于设定值PV时,计数器状态位变为1,这时再来计数脉冲时,计数器的当前值仍然不断累加,直到32767(16位有符号)时停止计数。当复位信号到来时,计数器当前值复位清零,状态位清零。3写语句表时,一定要按照CU端、R端、PV端的顺序输入,不能颠倒。写出下面梯形图的指令语句C10CURPVCTU()I0.0I0.1C10Q0.0+3加/减计数器CTUD1CTUD为计数器标识符;Cn为计数器编号;CU为加计数脉冲输入端;CD为减计数输入端;R为复位信号输入端,数据类型为BOOL;PV为脉冲设定值输入端,整型。CnCURPVCTUDCD2加/减计数器复位信号为1时,计数器的状态位为0,计数当前值也为0.当复位信号为0时,计数器可以工作。当CU输入端每一个脉冲上升沿到来时,计数器的当前值加1,当计数器当前值大于等于PV预设值时,状态位变为1.这时再来加计数脉冲时,计数器当前值仍然不断累加,直到32767(0111111111111111),下一个计数器脉冲到来时,计数器值会变为最小,-32768(二进制1000000000000000)变成-327
本文标题:第八章PLC基本指令.
链接地址:https://www.777doc.com/doc-2085971 .html