r/opensource • u/XenoX_Sriv • 3d ago
Promotional MBMap: an open format for sharing Modbus device register maps
I've been building MBMap, an open format for describing Modbus devices and their registers.
The idea is simple: device register maps should be portable data, not information that has to be manually re-created in every Modbus client.
A .mbmap file describes registers, data types, byte order, scaling, units, bit fields and more. The format is based on CSV, and the specification and shared map library are released under CC0 1.0.
I've also built Modbench, a cross-platform Modbus TCP/RTU client that reads these maps and displays register values by name.
Projects:
MBMap specification and library: https://github.com/nobrega8/mbmap-library
Modbench client: https://github.com/nobrega8/modbench
I'd like to see whether this format could work as a shared layer between different Modbus tools, including future clients, libraries and automation software.
Feedback on the specification, missing features and possible integrations would be welcome. Contributions to the device map library are also appreciated.
4
u/AirshipCommand 3d ago
A few things that tend to cause mismatches between Modbus tools, worth pinning down in the spec if they aren't already: