EdgexGo2.0学习-13 ModBus读取10进制,按Float类型显示

1、DeviceProfile配置如下

name: Temperature
  isHidden: false
  tag: ""
  properties:
    valueType: Float32
    readWrite: R
    units: ""
    minimum: ""
    maximum: ""
    defaultValue: ""
    mask: ""
    shift: ""
    scale: "0.01"
    offset: ""
    base: ""
    assertion: ""
    mediaType: ""
  attributes:
    primaryTable: HOLDING_REGISTERS
    rawType: Int16
    startingAddress: 4003

注意下面的rawType,和上面的scale,valueType

2、读取温度值如下

00 01 00 00 00 05 01 03 02 02 26 

226对应550,scale 0.01代表小数点2位,实际显示的数据就是5.5

 3、日志

 下面的[2 38]代表,02 26的10进制,这个地方看起来好别扭。

 

本博客是个人工作中记录,遇到问题可以互相探讨,没有遇到的问题可能没有时间去特意研究,勿扰。
另外建了几个QQ技术群:
2、全栈技术群:616945527,加群口令abc123
2、硬件嵌入式开发: 75764412
3、Go语言交流群:9924600

闲置域名www.nsxz.com出售(等宽等高字符四字域名)。
原文地址:https://www.cnblogs.com/zhaogaojian/p/15061705.html