RS485/M-Bus converter configuration
-
Hi all, is here anyone with a knowledge to properly setup RS485/M-Bus converter from JC Elektronika?
My testing setup:
- Unipi Patron M527 with Patron Node RED OS installed and libmbus 0.8.0,
- 80 device version of RS485toMBus-XL connected to 1.3 port RS485,
- Electricity meter Inepro PRO380Mb (Addr set to 9, Bdr set to 1200).
mbus-serial-scan tool seems to find the meter:
unipi@M527-snXXX:~$ mbus-serial-scan -d -b 1200 /dev/ttymxc0 Scanning primary addresses: ... 9 [2024-06-09 09:23:07] SEND (005): 10 40 09 49 16 [2024-06-09 09:23:07] RECV (001): E5 Found a M-Bus device at address 9 ...but mbus-serial-request-data tool is not able to read response:
unipi@M527-snXXX:~$ mbus-serial-request-data-multi-reply -d -b 1200 /dev/ttymxc0 9 main: debug: sending init frame [2024-06-09 09:15:20] SEND (005): 10 40 FF 3F 16 [2024-06-09 09:15:21] SEND (005): 10 7B 09 84 16 mbus_sendrecv_request: Failed to receive M-Bus response frame. mbus_frame_print: Dumping M-Bus frame [type 0, -3 bytes]: Failed to generate XML representation of MBUS frames: M-bus data parse error.If I use M-Bus master from ENBRA (USB-MBus) CODMBUS the read tool is ok to read the meter:
unipi@M527-snXXX:~$ mbus-serial-request-data -d -b 1200 /dev/ttyUSB0 9 main: debug: sending init frame [2024-06-09 09:05:30] SEND (005): 10 40 FF 3F 16 [2024-06-09 09:05:30] SEND (005): 10 7B 09 84 16 [2024-06-09 09:05:31] RECV (081): 68 4B 4B 68 08 09 72 08 05 08 21 CD 25 01 02 2D 00 00 00 0C 04 61 77 26 00 8C 10 04 61 77 26 00 8C 20 04 00 00 00 00 1C 04 61 77 26 00 9C 10 04 61 77 26 00 9C 20 04 00 00 00 00 2C 04 00 00 00 00 AC 10 04 00 00 00 00 AC 20 04 00 00 00 00 83 16 mbus_frame_print: Dumping M-Bus frame [type 4, 81 bytes]: 68 4B 4B 68 08 09 72 08 05 08 21 CD 25 01 02 2D 00 00 00 0C 04 61 77 26 00 8C 10 04 61 77 26 00 8C 20 04 00 00 00 00 1C 04 61 77 26 00 9C 10 04 61 77 26 00 9C 20 04 00 00 00 00 2C 04 00 00 00 00 AC 10 04 00 00 00 00 AC 20 04 00 00 00 00 83 16 <MBusData> <SlaveInformation> <Id>21080508</Id> <Manufacturer>INM</Manufacturer> <Version>1</Version> <ProductName></ProductName> <Medium>Electricity</Medium> <AccessNumber>45</AccessNumber> <Status>00</Status> <Signature>0000</Signature> </SlaveInformation> <DataRecord id="0"> <Function>Instantaneous value</Function> <Unit>Energy (10 Wh)</Unit> <Value>267761</Value> <Timestamp>2024-06-09T09:05:31</Timestamp> </DataRecord> ...I would appreciate any idea what I'm doing wrong. Thanks!
-
Hi @t-kavan,
We have already encountered this, unfortunately this meter does not wait for the prescribed time and responds too quickly, so that the RS485 (transmit/receive) state in the controller does not have enough time to change.
The RS485 behaviour was modified in later versions of the debian packages. With the current OS image the PRO380-MB meter are already working.
Best regards,
Antonín Všetula - Unipi technician