1) Meter Address
Driver requirement:
addressis 12-digit numeric string (e.g.,123456789012)
The protocol layer will convert it to 6-byte BCD address (and handle low/high order).
Practical Suggestion
- Base on the address displayed by field "Meter Reading Software/Master Station Tool", and verify if it responds correctly in the first collection.
2) DI
DI is Data Identifier, used to specify "Which data item to read".
2.1 Version Differences
- DL/T 645-1997: DI length is 2 bytes
- DL/T 645-2007: DI length is 4 bytes
Byte Order and Filling Suggestion
UI requires DI as hex string:
- 2007: 8-digit hex (Example
02010100)
Suggest basing on manufacturer manual/master station tool; if reading fails:
- First confirm if DI needs "Low byte first" (Some materials display in Little Endian)
- Compare DI byte order in request frame using packet capture/master station tool
3) Relationship between decimals and scale
Decoding flow (High level):
- Protocol payload (BCD) → Decode as float
vbydecimals v→ Force convert by Point'sdata_type(Int/Float/UInt)- If
scaleis set, apply scaling factor further
Suggestion
- If device manual explicitly gives "BCD decimal places", prioritize using
decimalsto express scaleis more suitable for expressing "Engineering Conversion" (e.g., 0.01)
Note: Core's
min/maxvalidation does not automatically apply scale; please ensure configured min/max are on the same scale as external write value.
