S7 200 浮点数在v存储器中低字位没有写入数据

程序里面对vd2000写入一个浮点数(如1234567.1234),(不管写入多大的数)在vw2000 里面一直是0,当我把这个vd2000以通讯形式传送到第三方设备上,读出的数值对应不上,不管写入多大的数,经查找是vw2000里面一直是0,影响数据的精度,导致数据读取不准的原因。想问一下这是为什么,怎么才能能解决这个问题,请大侠指教。

问题补充:
vd2000 地址肯定是 没有被占用, vw2002的值应该是随vd2000的值变化,但实际中,vw2002的值是不随之变化,我想问的是200 plc浮点数到32位二进制是怎么转换的,按帮助里面浮点数换算公式来看,vw2002(即低位字)应该是随之变化,为什么到这就不变了,困惑????????

最佳答案

我不是很确定,你往VD2000里面写入数据,为什么要读取VW2000的值,很明显这是2个不同的数据类型。
VD2000=VW2000+VW2002  ,如果写入的数据很小,只会被保存在VW2002中,VD2000的低位为VW2002,高位为VW2000,如果你写入的数据不超过65535,肯定事读取不到VW2000的,当初需要首先确认,VD2000这个数据没有被其他的程序占用掉

提问者对于答案的评价:
谢谢,问题已解决,还是占用的问题。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午12:26
下一篇 2021年7月5日 下午12:26

相关推荐

发表回复

登录后才能评论