influxdata/telegraf

Modbus: Unsigned float

Open

#15,909 创建于 2024年9月17日

在 GitHub 查看
 (1 评论) (0 反应) (0 负责人)Go (4,161 fork)batch import
area/modbusfeature requesthelp wantedsize/s

仓库指标

Star
 (9,892 star)
PR 合并指标
 (平均合并 2天 12小时) (30 天内合并 136 个 PR)

描述

Use Case

I am using power meters that provide measurement values using a Non-IEEE floating point formats:

Unsigned Measurement (32 bit):

  • Decade Exponent(Signed 8 bit)
  • Binary Unsigned Value (24 bit) Example: 123456*10–3 stored as FD01 E240(16)

Signed Measurement (32 bit)

  • Decade Exponent (Signed 8 bit)
  • Binary Signed value (24 bit) Example: - 123456*10–3 stored as FDFE 1DC0(16)

I am looking for a way to configure/extend the modbus input plugin to handle these values.

Am I right that currently, only IEEE (signed) float values are supported? Can I just come up with new data_types like UFLOAT32 and MSIGN_FLOAT32 (as the mantissa holds the sign)?

I'd be able to implement it on my own, just checking what a sane convention would be.

Kind regards

nischu

Expected behavior

I would like the Modbus input plugin to generate correct floating point values

Actual behavior

I cannot really specify this custom data type

Additional info

https://cdn.findernet.com/app/uploads/Benutzerhandbuch_Typ_7M38_DE.pdf page 52

贡献者指南