influxdata/telegraf

Modbus: Unsigned float

Open

#15,909 opened on Sep 17, 2024

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Go (9,892 stars) (4,161 forks)batch import
area/modbusfeature requesthelp wantedsize/s

Description

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

Contributor guide