问题:我现在通过485通讯把现场的流量计数据传到了plc中(300的),然后现在我想把瞬时流量和累计流量在上位机上显示,但是协议上说是16进制的,比如累计流量是 00 00 00 39 41 25 24 e1这是个八位的,其中前六位是整数,后两位是小数,我在300的程序里怎么把它转换成十进制的数3752229.144啊,说说具体的方法啊?
佳答案:
1、将 00 00 00 39 41 25 24 e1这是个八位数转换为双字实数;
2、所转换的双字实数除以100;
3、结果为实数。
例如:八位数在db1的md10中:
l md10// 将 32 位整数装入累加器 1。
dtr// 将双整数转换为浮点数(32 位,ieee fp);结果保存到累加器 1 中
t md20// 将结果(bcd 数)传送到存储双字 md20。
l md20
l 100.0
/r //除以100
t md30//保存结果。