A M 21.4
JNB tz1
L MB 61
L 4
+I
T MB 61
tz1: A BR
R M 21.4
请问为什么M21.4置位之后会立即复位?
M21.4置位后RLO=1,然后继续下面的加法程序,RLO的值赋给了BR。但是跳转目标tz1只有在RLO=0时才会执行程序啊。难道说是RLO赋值给BR后自身变为0吗?
问题补充:
看了几位的回复,实在感谢。
我是这样理解的:跳转目标tz1后面的程序,无论跳转条件(RLO=0)是否成立,都会执行。
区别在于跳转条件不成立时,会把加法程序执行完再执行跳转程序;而跳转条件成立时,就直接执行tz1后面的复位程序了。
请问这样理解是否正确?
最佳答案
当M21.4为1时,不执行跳转,执行加法指令,当存在一个JNB <跳转标签>指令时,将RLO复制到BR,而与RLO的状态无关,所以这个时候BR位应该为1,所以会执行一次M21.4的复位。
tz1: A BR
R M 21.4
这段程序在跳转或者不跳转的情况下都执行的。
提问者对于答案的评价:
谢谢。我刚才用其他程序整了一下,确实一直都会执行。再次感谢。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc150444.html