网站跳转代码(西门子)

JM:当为负时跳转,执行后并不断开二进制逻辑链JM并不是根据累加器1的值来进行判断跳转,他是根据CC0和CC1这2个状态位的状态来进行的跳转。当程序执行逻辑运算时会根据运算结果,改变这2个状态位的值。比如执行过0-2运算时,累加器1结果为-2,CC0=TRUE,CC1=FALSE,此时跳转条件成立。如果将-2直接载入累加器1,虽然累加器1结果也为-2,此时CC0和CC1没有改变,跳转条件不成立。功能描述STL代码STL代码逐行解读:1、A #in1 检查IN1的状态是否为TRUE,将/FC置为true,IN1状态保存到RLO。2、L #int13、L #int24、-I 5、JM _001 执行IN1-IN2之后,系统会根据数学运算结果,改变CC0和CC1的状态,当CC0为1,CC1为0时跳转。6、A #in2 7、= #OUT18、JU _002当结果大于零不执行跳转时,从第6行继续执行程序扫描,二进制逻辑链为A #in1——>A#in2;等于赋值指令,将RLO状态赋值到OUT1,就相当于输出线圈;跳转到_002结尾处。9、_001: AN #in210、= #OUT2 当第4行运算结果小于零时,JM跳转到此处。二进制逻辑链为A #in1——>AN #in2,将RLO状态赋值到OUT2。11、_002: NOP 0空操作指令SCL代码SCL源码便于理解总结:JC,JNB等指令执行过后,就会将/FC状态位置1,会开始新的二进制逻辑,JM/JP/JZ/JMP/JMZ之类的条状不会影响状态位,只是对程序的扫描顺序。大家在进行STL代码解读的时候一定要注意。


本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.xiaosb.com/beian/47473/