网络1
LD SM0.1
MOVB 16#0, AC0
网络2
LDN M0.0
AB>= 16#FE, AC0
A I0.0
EU
INCW AC0
网络3
LD SM0.0
MOVD AC0, VD200
网络4
LD SM0.0
MOVW 2, VW60
DIV VW60, VD200
MOVD AC0, VD100
在I0.0变化的时候,vd200 总是交替变化,正确一次,错误一次,请问为什么??
最佳答案
整数与双整数相除(DIV)指令将两个16位整数相除,得出一个32位结果,其中包括一个16位余数(高位)和一个16位商(低位)。
DIV VW60, VD200
其实是把余数放在vw200(高)里,把商放在vw202(低)里,如果AC0中的值是偶数,那么除2是没有余数的, 所以VD200结果是正确的,如果是奇数,那么VD200值是错误的
所以在I0.0变化的时候,vd200 总是交替变化,正确一次,错误一次,你可以监控一下VW200及VW202区
提问者对于答案的评价:
多谢了!
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc358723.html