870605
爱拼才会赢
级别: 论坛先锋
精华主题: 0
发帖数量: 135 个
工控威望: 1503 点
下载积分: 535 分
在线时间: 93(小时)
注册时间: 2008-02-15
最后登录: 2024-11-27
查看870605的 主题 / 回贴
楼主  发表于: 2011-06-09 11:15
程序流控制(00-09)

CJ (P)条件跳转指令用于跳过顺序程序中的某一部分,可以减少扫描时间,并使“双线圈操作”成为可能
目标操作元件:指针P0——P63(允许变址修改)
即跳转目标由指针P0-P63指定(允许变址修改)。P63 即END步。
使用格式: LD   X0
           CJ(P)   P0
           :
           :
           P0
           :  
           :
           END
当X0由OFF到ON时,程序直接跳到P0处,向下执行到程序结束。
当用连续方式执行CJ时,条件满足时,每个扫描周期执行一次。
(1)    跳转指令有效时跳转段内的程序跳过,PLC不扫描,
(2)    跳转前跳转段内已有自我保持的线圈,或以SET 的线圈,跳转后线圈仍保持,但可通过跳转外程序改变。积算定时器/计数器保持当前值,非积算型复位,高速计数器仍工作。
(3)    从主控区外跳到主控区内时,跳转独立于主控操作,不管MC状态如何,均作ON处理。
(4)    从主控内跳转时,MC为OFF时,不执行,为ON时可跳转可跳到主控区外。
(5)    T192---T199(100ms定时器);C235----C255(高速计数器)一经驱动,既是跳过,也仍工作,输出触点也动作。

CALL(P)转子程序
SRET 子程序返回。

目标操作元件:P0——P62(允许变址修改)
使用格式:LD   X0
          CALL(P)  P0
          :
          :
          :
          FEND
          P0
          :
          :
          SRET
          END
当X0由OFF变为ON时,程序直接跳到P0处,向下执行,到SRET时,返回跳转处再向下执行。
注意:(1)当用连续方式执行CALL时,执行条件满足时每个扫描周期执行一次。
(2)转移目标由P0-P62指定(允许变址修改)但CJ中用过的标号不可再用。不同的CALL可调用同一子程序。
(3)    P必须在主程序结束FEND后也就是说子程序必须写在主程序结束FEND后。
(4)CALL调用的子程序必须以SRET结束
(5)在子程序内可再用CALL子程序,形成嵌套,最多5级。
(6)子程序中定时器范围T192-T199和T246-T249。


IRET 中断返回,从中断子程序返回中断点,即子程序结束。
EI 允许中断
DI 禁止中断

指令EI 与DI之间的程序段为允许中断区间。当处理到允许中断区间时,中断请求为ON 态,则转而处理相应的中断子程序。子程序处理到IRET指令知返回断点。
在禁止中断区间(即EI 与DI以外)有中断事件发生,则PLC 记住该中断,留待EI指令后执行。
相应的特殊辅助继电器置1时,中断程序不能执行。例如,当M805△置1时,相应的中断I△★★不执行
在执行中断程序时,其它中断禁止,但可在中断程序内编入中断,可实现2级嵌套。
中断程序中用定时器为T192——T199和T246——T249。
(1)    中断子程序必须写在主程序结束FEND后。
(2)    中断子程序必须以IRET返回
中断类型见元件“指针”


FEND 主程序结束,表示主程序结束。执行到FEND指令时机器进行输出处理、输入处理、警戒时钟刷新,完成以后返回0步。
(1)    子程序必须写在FEND之后,即CALL、CALL(P)指令对应的标号必须写在FEND 指令之后。CALL、、CALL(P)指令调用的 子程序必须以SRET指令结束。
(2)    中断子程序也必须写在FEND之后,必须以IRET结束。
(3)    FEND 也不可出现在FOR-NEXT循环之中。

WDT(P)警戒时钟。
WDT指令刷新顺序程序的警戒时钟。如果扫描(从0步到END或FEND指令)超过200ms,PLC将停止。在这种情况下,应将WDT指令插到合适位置中刷新警戒时钟,以使顺序程序执行到END。
扫描周期的缺剩设置为200ms,如果希望改变扫描时间,可通过MOV改变D8000的值。
使用格式:LD   X0
          WDT(P)
当X0由OFF变ON时,WDT(P)执行一次刷新。
当为连续方式执行WDT时,执行条件满足时每个扫描周期执行一次。
(1)    当与CJ指令对应的标号的步序低于CJ指令时(即CJ跳到的位置在其前面时)在标号P后编如WDT指令。
(2)    M8039置位时,PLC 改以定时扫描方式运行,扫描时间由D8039指定。可通过MOV传送改变D8039数值。

FOR循环区起点,后面加Kn,循环n次。
NEXT 循环区终点

操作元件:K/H  KnX  KnY  KnM  KnS  T  C  D  V/Z
使用格式:FOR    K4
          :
          :
          NEXT
          :
          END
FOR——NEXT间的程序执行4次,再执行NEXT指令以后的程。
(1)    可嵌套5级
(2)    循环次数1——32767
[ 此帖被870605在2011-06-09 11:24重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(消失12356) 好贴好贴!
  • 爱拼才会赢 .