怎么把十六进制转换成十进制?

西门子plc
西门子plc
西门子plc
1976
文章
127
评论
2019年1月1日20:17:23 评论 1,708 阅读

问题:我现在通过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//保存结果。

 

weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: