S7中输入和输出的OW有什么区别
刘玉蓉
发布于2014-10-13 17:38
1
0
标签:
L MB75
L IB2
OW
T IB2
L MB76
L QB2
OW
T QB2
当MB75和IB2或的时候,IB2的输入信号值为0时,M75.0为1的时候程序中I2.0为1,为什么MB76和QB2或的时候,QB0的输出信号值为0时,M76.0为1时,Q2.0输出为0不为1,当然程序中Q2.0-Q2.7都有线圈输出,I2.0-I2.7 也有光电信号输入,
佳答案
1、 OW指令是一个字(16 位)“或”逻辑运算。将累加器 1 低字中的内容与累加器 2 低字中的内容进行“或”运算;结果保存到累加器 1 低字中。
2、 MB75与IB2的“或”逻辑运算结果,存入IB2中了。
当IB2的输入信号值为0时,M75.0为1的时,“或”逻辑运算结果存入IB2中,此时I2.0为1.
3、 MB76与QB2的“或”逻辑运算结果,存入QB2中了。
为什么MB76和QB2或的时候,QB0的输出信号值为0时,M76.0为1时,Q2.0输出为0不为1,当然程序中Q2.0-Q2.7都有线圈输出,I2.0-I2.7 也有光电信号输入,?
解释这个问题要结合双线圈特性来讲:
、在程序中有 MB76与QB2的“或”逻辑运算结果存入QB2中的指令,又有Q2.0-Q2.7其他的有线圈输出指令,这就是双线圈问题。
、在一个周期中,指令的执行是自上而下的,首先执行的是MB76与QB2的“或”逻辑运算结果,
M76.0为1时,Q2.0为1(注意此时并没有真正输出)。程序又执行另外对于Q2.0-Q2.7逻辑指令
,如果在这些指令中的逻辑结果使得Q2.0为0。那么在在这个周期结束时,Q2.0的终结果为0。
4、按楼主所述,这样编制程序是有问题的,就是双线圈问题,即对同一输出点两次或多次进行赋值,按照周期I/O映像区刷新的特性,只有程序的后扫描的逻辑结果被输出。