本人新做一个项目,直接从以前的程序里COPY了一个计算FB的功能块,重新设置引脚,然后再OB35里调用两次计算不同的数据,对应有不同的背景数据块,但仿真的时候发现里面的逻辑全乱了。例如:
A(
L #IN1
L #IN2
)
JNB M001
L #IN2
T #TEMP0
M001:NOP 0
A(
L #IN1
L #IN3
>R
)
JNB M002
L #IN3
T #TEMP0
M002: NOP 0
L #IN1
T #TEMP0
这段程序里,如果IN1小于IN3大于IN2的话,那么就应该把IN1的值给TEMP0,但现在仿真测试的时候,IN1明显在IN2与IN3之间,但结果却是IN3的值直接给了TEMP0,后来我用梯形图重新做了这段程序,即当IN1小于IN2时,IN2就MOVE给TEMP0;IN1大于IN3时,IN3就MOVE给TEMP0;无其他条件时,IN1就MOVE给TEMP0,这回是把IN1的值给TEMP0了。请问这是为什么?跟这里面的跳转有没有关系?如果我在别的功能块如FB100里用到了M001这个被跳转对象,在这个功能块FB105里还能用M001来作为跳转对象吗?