1,在OB1里断开FC的调用后,此时FC里正在运行的线圈Q,M,和经过置位的Q,M,计数器,定时器状态会怎么样?继续保持还是断开,重新再次调用FC它们的状态又会怎么样?
2,当跳转指令执行时,此时被跳过的程序里正在运行的线圈Q,M,和经过置位的Q,M,计数器,定时器状态会怎么样?继续保持还是断开,重新跳回来它们的状态又会怎么样?
小弟正在编一手动自动的程序,要求自动转到手动或者暂停后重新转到自动时设备得继续上次为完成的动作,因为程序较复杂,光自动子程序可能就十来个,所以不太好下手,望各位老兄不吝赐教,在此先谢过
最佳答案
1、在OB1里断开FC的调用后,此时FC里正在运行的线圈Q,M,和经过置位的Q,M,计数器,定时器状态会怎么样?继续保持还是断开,重新再次调用FC它们的状态又会怎么样?
断开FC的调用后,如果该FC的输出定义为全局变量则继续保持,包括定时器。如果该FC的输出定义为局部变量则被清除,包括定时器。
重新再次调用该FC,该FC的输出则按照程序的逻辑结果进行置位或复位。
2、当跳转指令执行时,此时被跳过的程序里正在运行的线圈Q,M,和经过置位的Q,M,计数器,定时器状态会怎么样?继续保持还是断开,重新跳回来它们的状态又会怎么样?
被跳过的程序里正在运行的线圈Q,M,和经过置位的Q,M,计数器,定时器状态会继续保持。重新跳回来它们的状态则按照程序的逻辑结果进行置位或复位。
3、建议:
、要在控制逻辑上对于OB1里断开FC的调用时,程序应对相关的输出进行相应的处理,不应置之不理。这是编制控制程序必须顾及的。
、如果想在OB1里断开FC的调用后,该FC的输出不保持。还可以定义为局部变量(即临时变量)。
4、相关文档:
《功能和功能块》连接:
http://www.docin.com/p-50344375.html
见《FB和FC的区别》连接:
http://hi.baidu.com/x335/blog/item/9e9bc41fad7ff403304e15f9.html
提问者对于答案的评价:
谢谢老兄那么详细的解答,我彻底的明白了!再次谢了
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc246395.html