发布于 2013-02-16 18:00:45
1楼
将原始数据保存到一个字,例如MW101,令MW100为0,MD100就是一个32位的正数。再将它转换为浮点数,就不会损*度了。
不能用ITD指令将原始数据转换为双整数,因为原始数据大于16#7FFF时,被视为负数,转换后的双整数的高16位为16#FFFF,还是被视为负数。
“Hx0000到HxFFFF,对应4~20mA”,这个原始的格式就不太友好,如果改为0~27468或0~32000对应4~20mA就要好处理得多。也可能是别的系统通信传来的数据,只好用户自己想办法了。
实际上原始的精度一般不会有16位这样高,楼主的处理方法也是可以的。
追求完美