200的运算

Network 1 // 网络标题
// 网络注释
LD     I1.0
LD     I1.1
A      SM0.1
OLD
MOVB   IB0, VB0
=      M0.0
Network 2 
LD     I1.2
A      M0.0
BTI    VB0, VW4
AENO
ITD    VW4, VD8
AENO
DTR    VD8, VD12
Network 3 
LD     I1.3
MOVR   VD12, VD16
AENO
*R     2.0, VD16
AENO
=      M0.2
Network 4 
LD     M0.2
ROUND  VD16, VD20
AENO
=      M0.3
Network 5 
LD     M0.3
TRUNC  VD16, VD24
AENO
=      M0.4
Network 6 
LD     M0.4
LPS
A      I1.4
MOVR   VD24, QD0
LPP
A      I1.5
MOVR   VD20, QD0

为什么算出的结果不对那,不论vd20.,或者vd24,请高手给解答下,最好能给个例程,谢谢

问题补充:
没有任何地方引用,是自己仅仅编制的一个仿真程序,ibo 中的值通过i0.0_i0.7的关断来付给,但通过二进制到vd16都对,但到vd20.,或者vd24,输出就不对了,请高手给解答下

最佳答案

首先你的问题其实可以再具体一点,比如,你输入是什么,得到的输出是什么
然后就是赞同pianzhouyiye ,看看有没有其他赋值的地方,比如你其他地方用了VW26就会造成影响,
第三是实数的存储格式和整数的是不一样的,在你程序里VD16是实数,VD24和VD20是双整数,比如同样是10,如果作为实数10.0赋值给VD16,和作为整数赋值为VD20,那么你得到的二进制VD16和二进制VD20的数值是不一样的,因为存储格式不一样,实数存储格式见帮助文件,所以如果靠判断二进制的VD16和VD20,VD24的数值不一致,认为结果不正确是错误的

提问者对于答案的评价:
结果靠近

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc319791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午5:03
下一篇 2020年11月1日 下午5:03

相关推荐