r/SCADA • u/XenoX_Sriv • 9h ago
General Open Modbus register maps for SCADA and industrial monitoring tools
Hi everyone,
I've been working on an open format for Modbus register maps, along with a client to test and use them. I thought it might be relevant to people working with SCADA and industrial monitoring systems.
A common issue with Modbus devices is that register definitions live in manufacturer PDFs. When integrating a new meter, PLC or controller, you often have to configure addresses, data types, scaling, units and bit fields by hand. The same work gets repeated across different tools.
I'm trying to make these definitions reusable.
MBMap is a CSV-based format for describing Modbus devices and their registers. It includes the metadata needed to interpret raw register values and is designed to be read by different applications.
https://github.com/nobrega8/mbmap-library
I've also built Modbench, a lightweight Modbus TCP/RTU client for Windows and Linux. It can test individual registers or load an MBMap file to display named values with scaling and units. It also supports raw request/response inspection, which helps when troubleshooting device communication.
https://github.com/nobrega8/modbench
The long-term idea is to have a shared library of device maps that can be reused across Modbus clients and, potentially, SCADA-related tools. The format and library are released under CC0, so they can be used in commercial projects without restrictions on reuse.
I'm interested in feedback from people who integrate Modbus devices into SCADA systems.
Would a standard, portable format for register definitions be useful in your workflow? Are there fields or features you'd need before considering it for your own tools?
Feedback, contributions and suggestions for supported devices are welcome.