PLC/PAC
1、进入子程序请使用CALL指令,即是FUN67指令,在子程序中要使用标签:LBL指令即FUN65,子程序段结束后请使用RTS指令,即FUN68子程序返回指令。
2、使用中断方式,中断方式只要在对应的中断名称后,加有“I”作为中断子程序标签,例如,做X上升沿中断输入,X上升沿中断号为”;;X1+,那么对应的中断标签即为:X1I,所以在子程序中用FUN65:LBL指令 指定为:LBL X1I 从此标签开始即为X1输入中断子程序。中断子程序末尾,使用FUN69:RTI 中断子程序返回表示结束。
子程序调用指令CALL的编号为FNC01。操作数为P0~P127,此指令占用3个程序步。
子程序返回指令SRET的编号为FNC02。无操作数,占用1个程序步。
如图1所示,如果X0接通,则转到标号P10处去执行子程序。当执行SRET指令时,返回到CALL指令的下一步执行。
1)转移标号不能重复,也不可与跳转指令的标号重复; 2)子程序可以嵌套调用,最多可5级嵌套
注:
FEND 是主程序结束指令,END 是所有程序结束的指令。
FEND之后,还会执行子程序和中断程序,前提是有调用子程序或有中断。
PLC200怎样让正在运行的程序暂停,直到去掉暂停信号,接着运行后面的步骤。
其实有个小技巧可以达到达到你的功能,把程序写到子程序里面,在MAIN调用时加一个暂停条件,需要暂停就停止调用,要恢复时就恢复调用!
加一个你没有用过的位地址在前端。强制1或0。。需要断电保持的可以用V地址。若是不想用电脑强制,可以用一个PLC的DI点,如备用点I5.2,,将它添加到需要暂停的前端,,就可以外部控制了。类似急停按钮!
将你的程序分成几个阶段,使用标志位M来区分
比如 M0.0 - M0.7 就可以表示8个阶段
每次上电时 因为M0.0-M0.7是可以断电保持的。所以只要判断一下标志位的状态即可恢复断电前得工作
如果你停止调用子程序,在你主程序中没有涉及到任何这个子程序的内容,这个子程序的内容在你下一次调用前,或者PLC重新启动前,这些内容都是保持的。
全部0条评论
快来发表一下你的评论吧 !