条件跳转指令:
指令名称、助记符、指令代码、程序步骤如下:
程序步骤可以连续执行或以脉冲方式执行。 CJ 执行3 个步骤,CJ(P) 执行1 个步骤。
指令格式:
当我们按下启动跳转指令时,X001程序将被跳过,不被执行。
当X0 为ON 时,CJ 指令跳转的标签之间的程序将不被执行。跳转过程中,如果Y、M、S分别由OUT、SET驱动。 RST指令且输入发生变化时,跳转前的状态仍会保持。例如,驱动输出Y10 至X1 后发生跳转。即使在跳转过程中X0变为ON,输出Y10仍然有效。
注意:
1. 对于T 和C,如果在跳转过程中定时器或计数器正在动作,则计数将被中断或立即停止,直到跳转完成。但无论有无跳转,运行定时器T192T199和高速计数器C235C255都继续工作。
2. 跳转期间不执行功能指令,PLSY、PLSR 和PWW 指令除外。
子程序调用及返回指令:
指令名称、助记符、指令代码、程序步骤如下:
指令格式:
图中,FEND表示主程序结束。 FEND之前的称为主程序,FEND之后的称为子程序。 SRET表示子程序的结束,或者子程序的返回。需要注意的是,FEND和SRET之间的程序称为第一子程序,第二个SRET之前的程序称为第二子程序。当我们按X001时,指针被调用到P11,程序从P11开始自上而下执行。当遇到第一个SRET时,程序返回主程序,但是在这个程序中如果X002接通时,程序指针被调用到P12,程序开始从上到下运行。当遇到第二个SRET时,程序返回到P12,然后当遇到第一个SRET时,返回主程序。由于程序P12是嵌套在程序P11中的,所以必须注意这种程序嵌套在PLC中最多只能使用5层。
中断指令:
共有3条中断指令。我们用一个表格来详细说明:
这里,FEND之前的程序是主程序,FEND之后的程序是中断子程序。中断子程序能否执行取决于中断条件和中断指针,所以这里要给大家介绍一下中断指针的格式:
中断指针:
预定中断:
程序示例:
先给大家介绍一下这个程序:FEND前面的程序代表主程序,后面的程序代表中断子程序,EI代表允许中断,IRET代表中断返回指令,I610指针代表,中断时间为10mm, 6代表最高中断级别。
当我们按X000时,K1的数据传送到D1,K255的数据传送到D2,M1置位并打开,中断子程序运行。 RAMP代表斜坡指令,即产生一个数据D3,D3的变化范围是从D1到D2,即从1到255。由于这是一个定时中断程序,当M1打开时,程序是每10ms中断一次。 K1000代表1000个扫描周期,因为D3的范围从1变化到255,所花费的时间是1000 10ms,也就是说从X0接通到D3变为255的时间是1000X10ms=10秒。当D3等于255时,M8029打开,M1复位并关闭,然后中断命令和斜坡命令被切断,然后遇到IRET命令时程序返回。