如附件监控程序,仿真的时候JCN正常跳转了,但是实际下载到PLC里就没有跳转,换了一个PLC还是一样的结果。。RLO=0,满足跳转条件了,怎么就不跳呢?
L #i_Unit_ID
L 0
>I
JCN GO99
OPN "DB_GeneralStatus"
L #i_Unit_ID
L 1
-I
L 4
*I
SLW 3
LAR1
L "MD_Report"
T DBD [AR1,P#0.0]
GO99: NOP 0
问题补充:
这个程序块是嵌套重复调用的,我把其它调用的地方都屏蔽了,只留了一处调用。。问题还是一直存在。。。
如果 #i_Unit_ID=0不跳转,AR1会变成一个很大的数,在T DBD [AR1,P#0.0]的时候PLC会报错stop。。。很奇怪的问题。。
这是监控的时候看到的结果,另一个匪夷所思的地方是如果不去监控这段程序,PLC就不会报错stop。。
图片说明:
最佳答案
JCN 当RLO = 0时跳转。
我也仿真了一个你看看JCN的工作原理,图示:
补充问题回复:
可能还在嵌套层及FB的调用上。
当调用离去或JCN指令离开时,原被调用的跳转指令内的程序段结果仍然有效。
建议你在调用离去时,复位JCN内部程序段。
图片说明:
提问者对于答案的评价:
我会再测试一下,把嵌套一层一层的往外提,看看到哪一层会变正常,谢谢大神们的解答,有了结果我会反馈给大家的
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc363351.html