调试的时候遇到一个问题,请教一下各位,我在OB1中调用FC2 ,然后当FC2程序满足条件时,在FC2内调用FB3(20个开关500ms分闸块,FB内无实参)块, 当满足调用FB3时,FB3在线观察有输出但是PLC模块没有输出, 当我把FB3单独放到OB1中,模块输出正常。 谢谢
问题补充:
谢谢各位的分析, 我在测试的时候 OB1 内执行FC2是不条件的,同时FB2在FC2中的调用也是没有加附加条件,只是给了一个启动命令start_order, 我现在在PLC上做实验的时候发现DO模块没有正确输出 , 但是当FB2直接放到OB1主程序里面,将Start_order修改为1, 模块输出就正常 !我附了一张图片,还请各位指点一下 是不是哪里出什么错误了
图片说明:
最佳答案
没有看到你的程序,通常条件控制的方法是控制程序,而不是控制程序块的执行。文字说不清楚,看附图。
即,逻辑是否成立,是靠FC10中的程序判断执行的,而不是靠外面的逻辑去决定FC10是否运行。
所有的程序块应该是常导通的,前面不应该有逻辑判断程序。
图片说明:
提问者对于答案的评价:
感谢各位热心帮助,造成模块没有正确的输出原因我已经找了,由于FB2的程序是同步合闸输出,同时我的程序里面还有一个FB3优先级合闸输出 ,由于两个FB的输出Q是一样的地址,加上 个程序的调用前面没有条件限制,当我测试完了 FB3 再去测试FB2 就没有输出了 (应该是双线圈输出的问题),放到OB1里面就没有干扰了, 我最好将两个调用的前面加了一个条件就正常了,暗夜精灵师兄提供的案例使我有了一些查找的灵感,谢谢各位
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc238257.html