楼主最近还看过
这个问题还是我说一下吧,浮点数是有误差的,这个谁来都不好使的。
解决办法就是你输入的时候使用整数形式输入,不要用浮点数,显示的时候也用整数显示,用触摸屏的小数点位数功能实现浮点数的效果即可。
什么意思呢,你输入3.2,在PLC里收到的应该是32或者320这样的整数,然后去运算处理,输出也是一样,PLC地址里是32或者320这样的整数,然后用小数点位数把他处理成3.2这样的效果。你不要闲个手在PLC里直接处理成3.2这样的浮点数送去显示。
一方面PLC不擅长去处理32为的浮点数,虽然现在大部分PLC支持处理,但是本质上PLC是一个16位机,也就是一个周期可以吞吐16位的数据,你整个32位浮点数他需要至少两个周期完成,另一方面通讯传输整数比浮点数要快的多,整数16位,浮点数32位,如果是4G无线传输的话传浮点数费流量这样你能懂吧。
所以我推测了一下是浮点数坑害了你,如果你不研究明白了后期浮点数字节序还会殴打你的。