第八章PLC基本指令_第1页
第八章PLC基本指令_第2页
第八章PLC基本指令_第3页
第八章PLC基本指令_第4页
第八章PLC基本指令_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章第九章 可编程控制器的基本指令可编程控制器的基本指令9.1 可编程控制器的逻辑指令可编程控制器的逻辑指令9.1.1 触点指令及线圈驱动指令触点指令及线圈驱动指令1 LD(load):):常开触点常开触点逻辑运算开始。逻辑运算开始。2 LDN:常闭触点逻辑运算开始。:常闭触点逻辑运算开始。3 =(OUT):线圈驱动。):线圈驱动。v LD、LDN指令用于公共线(输入母线)相连的触点,也指令用于公共线(输入母线)相连的触点,也可以与可以与OLD、ALD指令配合使用于分支回路的开头。指令配合使用于分支回路的开头。v =指令用于输出继电器、辅助继电器(线圈),不用于输指令用于输出继电器、辅助继电

2、器(线圈),不用于输入继电器(触点)。入继电器(触点)。v 操作数:指令可以操作的对象。操作数:指令可以操作的对象。v 常开触点在其寄存器对应位值为常开触点在其寄存器对应位值为0时,其梯形图时,其梯形图中触点是断开的,触点的状态为中触点是断开的,触点的状态为OFF或为或为0,当,当寄存器对应位中值为寄存器对应位中值为1时,触点闭合。常闭触点时,触点闭合。常闭触点在其寄存器中对应位值为在其寄存器中对应位值为0时,其触点是闭合的,时,其触点是闭合的,因为因为LDN指令从寄存器对应位读出数据后要取指令从寄存器对应位读出数据后要取反,使反,使0变成变成1,则常闭触点状态为闭合。当常,则常闭触点状态为闭

3、合。当常闭触点寄存器值为闭触点寄存器值为1时,触点状态为断开。时,触点状态为断开。v 为了使梯形图和传统继电接触控制线路一一对应,输入控为了使梯形图和传统继电接触控制线路一一对应,输入控制电器的触点尽可能接成常开形式。制电器的触点尽可能接成常开形式。9.1.2 触点串并联指令触点串并联指令A:常开触点串联;:常开触点串联;AN:常闭触点串联;:常闭触点串联;v 用于用于单个触点单个触点的串联,可连续使用。图的串联,可连续使用。图9-2v 按正确顺序编程,可以反复使用按正确顺序编程,可以反复使用=指令。图指令。图9-3v 多触点组成的组合回路串联时,不能使用该指令。多触点组成的组合回路串联时,不

4、能使用该指令。9.1.3 触点并联指令触点并联指令O:常开触点并联;常开触点并联;ON:常闭触点并联。:常闭触点并联。v 做做单个触电单个触电的连接指令,紧接在的连接指令,紧接在LD、LDN指令指令后边使用,对后边使用,对LD、LDN规定的触点再并联一个规定的触点再并联一个触点,可以连续使用。图触点,可以连续使用。图9-4v 若将两个以上触点串联的回路和其他回路并联时,若将两个以上触点串联的回路和其他回路并联时,不能使用该指令。不能使用该指令。9.1.4 串联电路块的并联指令串联电路块的并联指令OLD:串联电路块的并联连接。:串联电路块的并联连接。v几个串联支路并联连接时,其支路起点以几个串联

5、支路并联连接时,其支路起点以LD、LDN开始,支路终点用开始,支路终点用OLD指令。指令。v如果需要多个支路并联,从第二个支路开始,在如果需要多个支路并联,从第二个支路开始,在每一个支路后面加每一个支路后面加OLD指令。并联支路的个数没指令。并联支路的个数没有限制。图有限制。图9-5vOLD无操作数。无操作数。9.1.5 并联电路块的串联指令并联电路块的串联指令ALD:用于并联电路块的串联连接。:用于并联电路块的串联连接。v并联电路块与前边电路串联连接时,使用并联电路块与前边电路串联连接时,使用ALD指指令。分支的起点用令。分支的起点用LD、LDN指令,并联电路块指令,并联电路块结束后,用结束

6、后,用ALD指令与前边电路串联。图指令与前边电路串联。图9-6v如果有多个并联电路块串联,顺次以如果有多个并联电路块串联,顺次以ALD指令与指令与前边支路连接,支路数量没有限制。前边支路连接,支路数量没有限制。vALD指令无操作数。指令无操作数。9.1.6 置位置位/复位指令复位指令v 置位置位 : S S-BIT ,N v 复位复位 : R S-BIT ,Nv 语句格式及含义语句格式及含义图图9-7a、bv 置位即置置位即置1,复位即清零。置位和复位指令可以将位存储区的某一位,复位即清零。置位和复位指令可以将位存储区的某一位开始的一个或多个同类寄存器位置开始的一个或多个同类寄存器位置1或清零

7、。最多达或清零。最多达255个。个。v 当置位信号来临(为当置位信号来临(为1)时,操作对象被置位,即使置位信号变成)时,操作对象被置位,即使置位信号变成0,被置位对象的状态仍然为被置位对象的状态仍然为1,直到其复位信号到来。图,直到其复位信号到来。图9-7cv 当复位信号来临(为当复位信号来临(为1)时,操作对象被复位,即使复位信号变成)时,操作对象被复位,即使复位信号变成0,被复位对象的状态仍然为被复位对象的状态仍然为0,直到其置位信号到来。,直到其置位信号到来。v 如果被复位的是定时器或计数器,定时器、计数值清零。如果被复位的是定时器或计数器,定时器、计数值清零。v 由于扫描的工作方式,

8、置位和复位指令,写在后面的有优先权。即一由于扫描的工作方式,置位和复位指令,写在后面的有优先权。即一个扫描周期结束后,存储器对应位是置位还是复位要看最后使用的是个扫描周期结束后,存储器对应位是置位还是复位要看最后使用的是置位语句还是复位语句。置位语句还是复位语句。9.1.7 脉冲生成指令脉冲生成指令vEU:在对应:在对应EU指令前的逻辑运算结果有一个上指令前的逻辑运算结果有一个上升沿时(由升沿时(由OFF到到ON)产生一个宽度为一个扫)产生一个宽度为一个扫描周期的脉冲,驱动其后的输出线圈。描周期的脉冲,驱动其后的输出线圈。vED:对应:对应ED前逻辑运算结果有下降沿时(由前逻辑运算结果有下降沿

9、时(由ON到到OFF)产生一个宽度为一个扫描周期的脉)产生一个宽度为一个扫描周期的脉冲,驱动其后的输出线圈。图冲,驱动其后的输出线圈。图9-8a、b、cv宽度为一个周期的脉冲含义:宽度为一个周期的脉冲含义:在在PLC程序中,程序反复循环执行,每个循环为一程序中,程序反复循环执行,每个循环为一个扫描周期。脉冲宽度只有一个扫描周期意味着某个扫描周期。脉冲宽度只有一个扫描周期意味着某个值只能维持一次循环,下次程序循环的时候该值个值只能维持一次循环,下次程序循环的时候该值回到原来的状态。回到原来的状态。9.1.8 逻辑堆栈的操作逻辑堆栈的操作v S7-200PLC有有9层堆栈,用于处理层堆栈,用于处理

10、所有所有逻辑操逻辑操作。当线路的逻辑复杂时,也可以借助堆栈指令作。当线路的逻辑复杂时,也可以借助堆栈指令描述。描述。v 从堆栈的角度解释从堆栈的角度解释ALD与与OLD(堆栈动作自动(堆栈动作自动完成)。完成)。v ALD:把逻辑堆栈第一、二级值作:把逻辑堆栈第一、二级值作“与与”操作,操作,结果置于栈顶。结果置于栈顶。ALD指令执行后,堆栈下方数指令执行后,堆栈下方数据上移一级。据上移一级。1. OLD:把逻辑堆栈第一、二级值作:把逻辑堆栈第一、二级值作“或或”操作,操作,结果置于栈顶。结果置于栈顶。OLD指令执行后,堆栈下方数指令执行后,堆栈下方数据上移一级。图据上移一级。图9-9v 逻辑

11、入栈指令逻辑入栈指令LPS:把栈顶值复制后压入堆栈,栈底值压:把栈顶值复制后压入堆栈,栈底值压出丢失。在梯形图中,用于生成一条新的母线,其左侧为出丢失。在梯形图中,用于生成一条新的母线,其左侧为原来的主控逻辑块,右侧为新的逻辑块。图原来的主控逻辑块,右侧为新的逻辑块。图9-9v 逻辑读栈指令逻辑读栈指令LRD: 将堆栈中第二级的值复制到栈顶,堆将堆栈中第二级的值复制到栈顶,堆栈中没有入栈或出栈操作,只是栈顶的值被第二级的值取栈中没有入栈或出栈操作,只是栈顶的值被第二级的值取代。在梯形图中,当新母线左侧为主控逻辑块时,代。在梯形图中,当新母线左侧为主控逻辑块时,LPS开开始右侧第一个从逻辑块编程

12、,始右侧第一个从逻辑块编程,LRD开始第二个以后的从开始第二个以后的从逻辑块编程。图逻辑块编程。图9-9v 逻辑出栈指令逻辑出栈指令LPP:将栈顶值弹出,原堆栈中各级栈值向:将栈顶值弹出,原堆栈中各级栈值向上一次弹一级,堆栈第二级的值成为新的栈顶值。在梯形上一次弹一级,堆栈第二级的值成为新的栈顶值。在梯形图中,图中,LPP用于用于LPS产生的新母线右侧最后一个从逻辑模产生的新母线右侧最后一个从逻辑模块编程,它在读取完离它最近的块编程,它在读取完离它最近的LPS压入堆栈内容时,复压入堆栈内容时,复位该条新母线。图位该条新母线。图9-9v从梯形图的角度写指令:图从梯形图的角度写指令:图9-10LD

13、 I0.0LPS (新母线开始第一个逻辑块用(新母线开始第一个逻辑块用LPS)LD I0.1O I0.2ALD= Q0.0LRD (新母线第二个逻辑块用(新母线第二个逻辑块用LRD) LD I0.3ON I0.4ALD= Q0.1LPP (新母线最后一个逻辑块用(新母线最后一个逻辑块用LPP)A I0.5AN I0.6= Q0.2图图9-10指令对应堆栈的变化指令对应堆栈的变化v LPS、LPP必须配对使用,它们之间的必须配对使用,它们之间的LRD可以使用多可以使用多次或不使用。次或不使用。v 写出下列梯形图对应的指令语句:写出下列梯形图对应的指令语句:9.1.9 定时器定时器v TON:延时

14、通电定时器(接通延时)。:延时通电定时器(接通延时)。1 TON:定时器标识符,表示延时通电定时器;:定时器标识符,表示延时通电定时器;IN:启动:启动电平输入端,数据类型电平输入端,数据类型BOOL ; PT: 时间设定值输入端,时间设定值输入端,数数据类型为整型;据类型为整型;Tn为定时器编号,如为定时器编号,如T33表示精度为表示精度为10ms的接通延时型定时器。的接通延时型定时器。v 定时时间计算:根据定时器编号,确定定时器分辨率定时时间计算:根据定时器编号,确定定时器分辨率v (精度)(精度)1ms、10ms、100ms(见表(见表8-9),定时),定时时间时间v T=PT*定时器分

15、辨率。如定时器分辨率。如T37,精度,精度100ms,预设值,预设值PTv 为为120,定时时间为,定时时间为12000ms。v 定时器状态位:存储定时器当前状态,当定时器当前值定时器状态位:存储定时器当前状态,当定时器当前值v 达到预设值达到预设值PT时,该位被置为时,该位被置为1.v 定时器当前值:存储定时器当前的累计时间,它用定时器当前值:存储定时器当前的累计时间,它用16位位v 有符号整数表示,故最大值为有符号整数表示,故最大值为32767. 定时器的当前值定时器的当前值大小大小v 是有限的,所以,定时器的计时也是有限的,是有限的,所以,定时器的计时也是有限的,v 最大计时值最大计时值

16、=32767*精度。(精度。(1ms、10ms、100ms)v 定时器的状态位和定时器的当前值都用其编号定时器的状态位和定时器的当前值都用其编号Tn来表示。来表示。5 接通延时定时器的工作过程:接通延时定时器的工作过程:A 当启动信号当启动信号IN的状态为的状态为0时,定时器的当前值为时,定时器的当前值为0,定时,定时器状态位也为器状态位也为0,其对应的常开触点打开,常闭触点闭合,其对应的常开触点打开,常闭触点闭合,定时器没有工作。定时器没有工作。B 当启动信号当启动信号IN状态从状态从0变成变成1时,定时器开始工作,每过时,定时器开始工作,每过一个基本时间间隔,定时器的当前值加一个基本时间间

17、隔,定时器的当前值加1.若定时器的当前若定时器的当前值大于等于预设值值大于等于预设值PT时,定时器的状态位由时,定时器的状态位由0变成变成1,常,常开触点闭合,常闭触点打开。开触点闭合,常闭触点打开。C 在定时器当前状态改变后,定时器值继续计时,直到在定时器当前状态改变后,定时器值继续计时,直到32767才停止计时,当前值也停留在才停止计时,当前值也停留在32767,只要当前,只要当前值大于值大于PT值,定时器状态位就为值,定时器状态位就为1.D 当当IN信号从信号从1变成变成0,则当前值复位为,则当前值复位为0,状态位也为,状态位也为0.当当IN信号从信号从0变为变为1后,维持的时间不足以使

18、当前值达到后,维持的时间不足以使当前值达到PT值,定时器状态位不会从零变成值,定时器状态位不会从零变成1.6 延时通定时器梯形图与指令表,图延时通定时器梯形图与指令表,图9-11。7 时序图,图时序图,图9-118 不同精度的定时器刷新(更新计数)方式不同。不同精度的定时器刷新(更新计数)方式不同。A 1ms:系统每隔:系统每隔1ms刷新一次计数,刷新与扫描周期无刷新一次计数,刷新与扫描周期无关,。因而在扫描周期较长时,一个周期内可能被刷新多关,。因而在扫描周期较长时,一个周期内可能被刷新多次,其当前值在一个扫描周期内不一定保持一致。次,其当前值在一个扫描周期内不一定保持一致。B 10ms:每

19、个扫描周期开始时自动刷新。由于每个扫描周:每个扫描周期开始时自动刷新。由于每个扫描周期只刷新一次,故每个扫描周期内,其当前值为常数。假期只刷新一次,故每个扫描周期内,其当前值为常数。假设扫描周期为设扫描周期为20ms,每个扫描周期开始,定时器值加,每个扫描周期开始,定时器值加2. (系统程序中,定时器刷新程序编写在扫描循环开始的位(系统程序中,定时器刷新程序编写在扫描循环开始的位置,见置,见159页图页图7-5)C 100ms:定时器当前值在定时器指令被执行时:定时器当前值在定时器指令被执行时刷新。刷新。 在子程序和中断程序中,不宜使用在子程序和中断程序中,不宜使用100ms定时定时器,因为子

20、程序或中断程序不一定每个扫描周期器,因为子程序或中断程序不一定每个扫描周期都被执行,若在扫描循环中时间达到都被执行,若在扫描循环中时间达到100ms,但由于子程序或中断程序不能被执行,所以计数但由于子程序或中断程序不能被执行,所以计数次数要少一次。同一次数要少一次。同一100ms定时器不宜在一个定时器不宜在一个扫描周期中使用多次,因为当达到扫描周期中使用多次,因为当达到100ms刷新刷新时间时,定时器会被刷新多次,增加了计数次数。时间时,定时器会被刷新多次,增加了计数次数。9 用定时器的常闭触点做本定时器的激励时输入时,用定时器的常闭触点做本定时器的激励时输入时,三种分辨率定时器的运行(图三种

21、分辨率定时器的运行(图9-13):):A 1ms定时器很可能不会工作。如果刷新时机恰当,定时器很可能不会工作。如果刷新时机恰当,可以使可以使Q0.0接通一个扫描周期。接通一个扫描周期。B 10ms分辨率定时器不能工作。分辨率定时器不能工作。C 100ms定时器可以工作,使定时器可以工作,使Q0.0接通一个扫描接通一个扫描周期。周期。D 不建议使用图不建议使用图9-13a的接法,如果希望的接法,如果希望Q0.0只只接通一个扫描周期,可以使用接通一个扫描周期,可以使用9-13b的接法的接法断电延时型定时器断电延时型定时器v TON与与TOF定时器编号相同,在使用时,它们不能共享相定时器编号相同,在

22、使用时,它们不能共享相同的定时器编号。同的定时器编号。v TOF指令在输入端指令在输入端IN接通时,定时器状态位置接通时,定时器状态位置1,当前值,当前值清零。输入端清零。输入端IN断开后,开始从零计时,当计时值等于预断开后,开始从零计时,当计时值等于预设值设值PT时,定时器清零,当前值保持不变,直到输入端时,定时器清零,当前值保持不变,直到输入端IN接通。接通。v保持型延时通定时器保持型延时通定时器TONR1 保持型延时通定时器具有记忆功能,它可以累计保持型延时通定时器具有记忆功能,它可以累计输入信号的接通时间。当输入信号的接通时间。当IN从从0变为变为1,定时器,定时器状态位为状态位为0,

23、当前值从,当前值从0开始开始累计累计计数。若计数。若IN从从1变为变为0时,定时器状态位和当前值保持最后状态。时,定时器状态位和当前值保持最后状态。当当IN从从0再变到再变到1时,当前值从上次的保持值继时,当前值从上次的保持值继续计数,当累计的计数值达到预设值时,定时器续计数,当累计的计数值达到预设值时,定时器状态位为状态位为1,当前值连续计数到,当前值连续计数到32767才停止计才停止计数。数。2 梯形图、语句表、时序图梯形图、语句表、时序图 9-123 TONR定时器只能通过复位指令定时器只能通过复位指令R对其进行复位对其进行复位操作,使当前值清零。操作,使当前值清零。9.1.10 计数器

24、计数器 计数器用来累计输入脉冲的次数。有增计数器计数器用来累计输入脉冲的次数。有增计数器CTU、增、增减计数器减计数器CTUD,计数器编号共,计数器编号共256个,从个,从C0到到C255,计数器的状态和计数器的当前值都用其编号来表示。计数器的状态和计数器的当前值都用其编号来表示。v CTU 加计数器加计数器1 CTU为计数器标识符;为计数器标识符;Cn为计数器编号;为计数器编号;CU为计数脉为计数脉冲输入端;冲输入端;R为复位信号输入端,数据类型为为复位信号输入端,数据类型为BOOL;PV为脉冲设定值输入端,整型。为脉冲设定值输入端,整型。2 加计数器在复位端信号为加计数器在复位端信号为1时

25、,其计数当前值为时,其计数当前值为0,计数器状态位也为计数器状态位也为0. 当复位信号为当复位信号为0时,计数器时,计数器可以工作。在计数器每个脉冲输入的可以工作。在计数器每个脉冲输入的上升沿上升沿,计,计数器计数数器计数1次,计数器的当前值加次,计数器的当前值加1. 当计数器的当计数器的当前值当前值大于等于大于等于设定值设定值PV时,计数器状态位变为时,计数器状态位变为1,这时再来计数脉冲时,计数器的当前值仍然,这时再来计数脉冲时,计数器的当前值仍然不断累加,直到不断累加,直到32767(16位有符号)时停止位有符号)时停止计数。当复位信号到来时,计数器当前值复位清计数。当复位信号到来时,计

26、数器当前值复位清零,状态位清零。零,状态位清零。3 写语句表时,一定要按照写语句表时,一定要按照CU端、端、R端、端、PV端的端的顺序输入,不能颠倒。顺序输入,不能颠倒。v写出下面梯形图的指令语句写出下面梯形图的指令语句v加加/减计数器减计数器CTUD1 CTUD为计数器标识符;为计数器标识符;Cn为计数器编号;为计数器编号;CU为加计数脉冲输入端;为加计数脉冲输入端;CD为减计数输入端;为减计数输入端;R为为复位信号输入端,数据类型为复位信号输入端,数据类型为BOOL;PV为脉为脉冲设定值输入端,整型。冲设定值输入端,整型。2 加加/减计数器复位信号为减计数器复位信号为1时,计数器的状态位为

27、时,计数器的状态位为0,计数当前值也为,计数当前值也为0. 当复位信号为当复位信号为0时,计数时,计数器可以工作。当器可以工作。当CU输入端每一个脉冲上升沿到来输入端每一个脉冲上升沿到来时,计数器的当前值加时,计数器的当前值加1,当计数器当前值大于,当计数器当前值大于等于等于PV预设值时,状态位变为预设值时,状态位变为1.这时再来加计这时再来加计数脉冲时,计数器当前值仍然不断累加,直到数脉冲时,计数器当前值仍然不断累加,直到32767(0111 1111 1111 1111),下一),下一个计数器脉冲到来时,计数器值会变为最小,个计数器脉冲到来时,计数器值会变为最小, -32768(二进制(二

28、进制1000 0000 0000 0000) 变成变成-32768后继续加计数,会由负数向零变后继续加计数,会由负数向零变 化。化。3 当一个减计数脉冲到来时,计数器的当前值进行当一个减计数脉冲到来时,计数器的当前值进行减减1操作。计数器的当前值操作。计数器的当前值小于小于PV时,计数器状时,计数器状态位变为态位变为0. 再来计数脉冲时,计数器的当前值仍再来计数脉冲时,计数器的当前值仍不断递减,达到最小值不断递减,达到最小值-32768后,下一个后,下一个CD脉冲上升沿使计数值跳变为脉冲上升沿使计数值跳变为32767. (如果继续(如果继续减计数,数值从减计数,数值从32767向向0递减。递减

29、。4 梯形图、语句表、时序图:梯形图、语句表、时序图: 图图9-14v 9.1.11 NOT及及NOP指令指令v NOT为非,为逻辑结果取反。为非,为逻辑结果取反。v NOP为空操作,对程序没有实质影响。为空操作,对程序没有实质影响。LD I0.0A I0.1= Q0.0NOT= Q0.1v9.1.12 比较指令比较指令1 比较指令是将两个操作数按照指定条件进行比较。比较指令是将两个操作数按照指定条件进行比较。当比较条件成立时,触点闭合。(即比较指令的当比较条件成立时,触点闭合。(即比较指令的触点是常开触点)比较条件有触点是常开触点)比较条件有=、=、=、和和不等于不等于6种。比较指令操作数的

30、类种。比较指令操作数的类型有:字节比较、整数比较、双字整数比较和实型有:字节比较、整数比较、双字整数比较和实数比较(数比较(32位,位,CPU214以上)以上)v梯形图、语句表梯形图、语句表v IN1、IN2为比较的操作数,为比较的操作数,B表示字节比较,表示字节比较,LDB= IN1,IN2表示对两个字节表示对两个字节IN1、IN2进行相进行相等比较,如果等比较,如果IN1=IN2,则触点闭合。,则触点闭合。梯形图中梯形图中I表示整数比较,表示整数比较,16位。所以语句表中用位。所以语句表中用W表示。表示。 梯形图中,梯形图中,D表示双字整数比较,共表示双字整数比较,共32位。位。R表表示实

31、数比较,示实数比较,32位。位。字节比较是无符号的,其他类型比较是有符号比较。字节比较是无符号的,其他类型比较是有符号比较。LDB VB1,VB2= Q0.0(按字节访问变量寄存器(按字节访问变量寄存器V,当,当VB1大于大于VB2时,触点闭合)时,触点闭合)LD I0.0AW= C40,2000(计数器计数器C40和和2000做比较,计数器做比较,计数器16位位有符号整数有符号整数)= Q0.1LD I0.1OD -150000000,VD1= Q0.2LDR= VD2,3.14= Q0.3(32位,实数比较位,实数比较) 9.2 程序控制指令程序控制指令9.2.1 跳转指令及标号跳转指令及

32、标号vJMP:跳转指令,把程序跳转到指定的标号。:跳转指令,把程序跳转到指定的标号。vLBL:指定跳转的目标标号。:指定跳转的目标标号。v跳转指令表示形式:梯形图、语句表跳转指令表示形式:梯形图、语句表 表表9-6v语句举例:图语句举例:图9-15v跳转指令及标号必须使用在主程序内,或同一子跳转指令及标号必须使用在主程序内,或同一子程序、中断程序,不能在主程序、子程序、中断程序、中断程序,不能在主程序、子程序、中断程序之间跳转。若在步进程序中使用跳转指令,程序之间跳转。若在步进程序中使用跳转指令,JMP和和LBL必须在同一块中。必须在同一块中。vJMP、LBL必须成对使用,不过多条必须成对使用

33、,不过多条JMP指令可指令可以对应同一条以对应同一条LBL指令,但不允许一条指令,但不允许一条JMP指令指令对应多条对应多条LBL指令。指令。v执行跳转指令时,跳过的程序段中各元件状态如执行跳转指令时,跳过的程序段中各元件状态如下:下:vA 各输出线圈保持跳转前的状态。各输出线圈保持跳转前的状态。vB 计数器停止计数,当前值保持跳转之前的计数计数器停止计数,当前值保持跳转之前的计数值。值。vC 1ms、10ms定时器保持跳转之前的工作状态,定时器保持跳转之前的工作状态,原来工作的继续工作,到设置值后可以正常动作,原来工作的继续工作,到设置值后可以正常动作,当前值要累积到当前值要累积到32767

34、才停止。才停止。100ms定时器定时器在跳转时停止工作,但不会复位,保持当前值不在跳转时停止工作,但不会复位,保持当前值不变,跳转结束后若条件允许可继续计时。变,跳转结束后若条件允许可继续计时。9.2.2 结束指令结束指令ENDvEND:条件结束指令,结束主程序,回到程序执:条件结束指令,结束主程序,回到程序执行起点。行起点。vMEND:无条件结束指令,结束主程序,返回主:无条件结束指令,结束主程序,返回主程序起点。程序起点。v用户必须以无条件结束指令结束主程序。用户必须以无条件结束指令结束主程序。v条件结束指令,用在无条件结束指令之前结束主条件结束指令,用在无条件结束指令之前结束主程序。程序

35、。v在程序结束时一定要写上在程序结束时一定要写上MEND,否则会出错,否则会出错,STEP-Micro/WIN32没有没有MEND指令,但它指令,但它会自动加一无条件结束指令到每个主程序的结尾。会自动加一无条件结束指令到每个主程序的结尾。vMEND可以用于程序的分段调试。可以用于程序的分段调试。9.2.3 停止指令停止指令STOPv当执行条件成立时,当执行条件成立时,CPU由由RUN转到转到STOP。 9.2.4 警戒时钟刷新指令警戒时钟刷新指令WDRvWDR:警戒时钟刷新指令,刷新警戒时钟,延:警戒时钟刷新指令,刷新警戒时钟,延长扫描周期。长扫描周期。v警戒时钟的作用:防止程序在单个扫描周期

36、中不警戒时钟的作用:防止程序在单个扫描周期中不能退出。能退出。PLC单次扫描有最大时间范围单次扫描有最大时间范围(300ms),如果这个时间范围单次扫描没有),如果这个时间范围单次扫描没有完成,则完成,则PLC停止运行。停止运行。v如果用户程序执行时间过长,会导致如果用户程序执行时间过长,会导致PLC停止运停止运行。这时使用行。这时使用WDR可以刷新警戒时钟,是扫描可以刷新警戒时钟,是扫描周期延长。周期延长。vSTOP、END、WDR举例举例 图图9-169.2.5 子程序调用、子程序入口、子程序返回指令子程序调用、子程序入口、子程序返回指令v CALL:将程序执行转到子程序:将程序执行转到子

37、程序n处。处。v SBR:子程序入口指令,表示:子程序入口指令,表示n号子程序的开始位置。号子程序的开始位置。v CRET:子程序条件返回指令,当条件成立时,返回原调:子程序条件返回指令,当条件成立时,返回原调用处。用处。v REC:无条件结束子程序,返回原调用处。:无条件结束子程序,返回原调用处。v 操作数操作数n:0-63v STEP7-Micro/WIN32没有子程序无条件返回指令,没有子程序无条件返回指令,但它会自动加一条无条件返回指令到每个子程序的结尾。但它会自动加一条无条件返回指令到每个子程序的结尾。v 当子程序结束时,程序执行应返回原调用指令当子程序结束时,程序执行应返回原调用指

38、令CALL的下的下一条指令。一条指令。v 子程序可嵌套,最大为子程序可嵌套,最大为8层。不禁止子程序自调用。层。不禁止子程序自调用。v 例见图例见图9-17v调用子程序时的堆栈:在子程序执行时也需要使调用子程序时的堆栈:在子程序执行时也需要使用堆栈,为了不改变原主程序堆栈的堆栈情况,用堆栈,为了不改变原主程序堆栈的堆栈情况,需要在进入子程序前对主程序堆栈进行保护,即需要在进入子程序前对主程序堆栈进行保护,即子程序调用时,整个逻辑堆栈另存别处,然后栈子程序调用时,整个逻辑堆栈另存别处,然后栈顶置顶置1,其余栈位置零。子程序执行完毕后,逻,其余栈位置零。子程序执行完毕后,逻辑堆栈恢复到原调用点的值

39、。辑堆栈恢复到原调用点的值。9.2.6 中断程序标号、中断程序的返回指令中断程序标号、中断程序的返回指令v子程序由用户主动调用,而中断可以由特定的事子程序由用户主动调用,而中断可以由特定的事件件“触发触发”,如通信口接收信息完成事件,如通信口接收信息完成事件,I0.0输入的上升沿,高速计数器的各种动作等等。输入的上升沿,高速计数器的各种动作等等。vINT:中断程序标号,:中断程序标号,INT表示表示n号中断程序的号中断程序的开始(入口)。开始(入口)。vCRETI:中断程序条件返回指令,:中断程序条件返回指令,CRETI根据根据前面逻辑条件决定是否返回。前面逻辑条件决定是否返回。vRETI:中

40、断程序无条件返回指令。:中断程序无条件返回指令。 STEP7-Micro/WIN32没有没有RETI指令,指令,RETI指令是指令是自动加的。自动加的。v中断号中断号n:0-127,取决于,取决于CPU型号。型号。9.2.7 开中断、关中断指令开中断、关中断指令vENI:开中断指令,允许所用中断事件中断。:开中断指令,允许所用中断事件中断。vDISI:关中断指令,禁止所有中断事件产生中:关中断指令,禁止所有中断事件产生中断。断。vCPU进入进入RUN状态时,禁止中断。但可以通过状态时,禁止中断。但可以通过执行执行ENI指令全面开放中断。执行关中断指令后,指令全面开放中断。执行关中断指令后,中断

41、列队仍然产生,但不执行中断程序。中断列队仍然产生,但不执行中断程序。9.3 PLC梯形图可编程原则梯形图可编程原则9.3.1 两个基本概念两个基本概念v软继电器软继电器非实际继电器,靠非实际继电器,靠PLC内部存储器位的状态来决定内部存储器位的状态来决定继电器的状态。软继电器的线圈定义号只能有一继电器的状态。软继电器的线圈定义号只能有一个,而对它的接点状态可以做多次读出(可以有多个,而对它的接点状态可以做多次读出(可以有多个触点,使用在多条梯形图线路中),可以常开可个触点,使用在多条梯形图线路中),可以常开可以常闭。以常闭。v能流:梯形图中,并没有真是的电流流动,为了能流:梯形图中,并没有真是

42、的电流流动,为了便于分析,可以假想梯形图中有便于分析,可以假想梯形图中有“电流电流”流动,这流动,这就就是能流。能流在梯形图中只能做单方向流动,从左是能流。能流在梯形图中只能做单方向流动,从左到右。层次的改变只能先上后下。到右。层次的改变只能先上后下。9.3.2 梯形图的设计规则梯形图的设计规则v 触点应画在水平线上,不能画在垂直分支上。图触点应画在水平线上,不能画在垂直分支上。图9-18v 不包含触点的分支应放在垂直方向,不可放在水平位置,不包含触点的分支应放在垂直方向,不可放在水平位置,以便于识别触点的组合和对输出线圈的控制路径。图以便于识别触点的组合和对输出线圈的控制路径。图9-19v

43、在几个串联回路相并联时,应将触点回路最多的那个串联在几个串联回路相并联时,应将触点回路最多的那个串联回路放在梯形图的最上面。几个并联回路向串联时,应将回路放在梯形图的最上面。几个并联回路向串联时,应将触点最多的并联回路放在梯形图最左面。这样梯形图简洁触点最多的并联回路放在梯形图最左面。这样梯形图简洁明了,指令少。图明了,指令少。图9-20.v 不能将触点画在线圈右边,只能在触点的右边接线圈。图不能将触点画在线圈右边,只能在触点的右边接线圈。图9-21v 推荐画法:图推荐画法:图9-22,上重下轻,左重右轻。,上重下轻,左重右轻。9.3.3 指令表编程规则指令表编程规则v编程顺序:从左到右,自上而下。图编程顺序:从左到右,自上而下。图9-23v适当的编程顺序可以减少程序步数。适当的编程顺序可以减少程序步数。1 串联多的电路尽量放在上边。串联多的电路尽量放在上边。2 并联多的电路尽量靠近母线。图并联多的电路尽量靠近母线。图9-249.4 PLC指令应用实例指令应用实例9.4.1 延时断开电路延时断开电路v电路功能:当电路功能:当I0.0有输入信号时,有输入信号时,Q0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论