Unipi Technology Patron M207 Modbus register map
Modbus TCP PLC unit with 20 digital inputs, 4 digital outputs, 14 relay outputs, 1 analog output and 1 analog input
- Official
- 278 registers
- Modbus TCP
- Revision 3 · 2026-11-10
- Identity: firmware, serial number
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus TCP
- Unit ID
- 0
- TCP port
- 502
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 229 holding registers, 49 coils
- Groups
- 15
- Translation tables
- 2
- Revision
- 3 · 2026-11-10
- Added
- ()
- File
- maps/unipi/patron-m207.mbmap.json · 44 KB · history
- SHA-256
- f81fcfec42e775912fb3f54a1415c8170cac1d6415ee95e3b26f76bbb617e7d9
- Manufacturer
- www.unipi.technology
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Firmware | Firmware Version (section 1) | holding 1000 | uint16 | |
| Serial number | PCB Serial Number (section 1) | holding 1005 | uint32 ABCD |
Sources and notes
- Patron M207 Modbus map · version 2.0 Registers and Coils sheets
Source: Patron M207 Modbus map v2.0, Unipi technology
- Registers are 0-based and use the Unit 0 addresses of the document, which cover every section of the device. Multi-register values (32-bit counters, serial number, floats) are read here with the most significant register first, as the document states.
- Reserved, obsolete and internal registers, and registers reachable only through a section unit (Unit 1 to 3), are left out.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 0 | bool bit 0 | R | ||||
| HR | 0 | bool bit 1 | R | ||||
| HR | 0 | bool bit 2 | R | ||||
| HR | 0 | bool bit 3 | R | ||||
| HR | 1 | bool bit 0 | RW | ||||
| HR | 1 | bool bit 1 | RW | ||||
| HR | 1 | bool bit 2 | RW | ||||
| HR | 1 | bool bit 3 | RW | ||||
| HR | 5 | uint16 | R | Reference voltage of the MCU (raw) | |||
| HR | 6 | bool bit 0 | RW | ||||
| HR | 6 | bool bit 1 | RW | ||||
| HR | 8 | uint32 ABCD | RW | Pulse counter; writable to reset | |||
| HR | 10 | uint32 ABCD | RW | Pulse counter; writable to reset | |||
| HR | 12 | uint32 ABCD | RW | Pulse counter; writable to reset | |||
| HR | 14 | uint32 ABCD | RW | Pulse counter; writable to reset | |||
| HR | 16 | uint16 | RW | PWM duty cycle of the digital output | |||
| HR | 17 | uint16 | RW | PWM duty cycle of the digital output | |||
| HR | 18 | uint16 | RW | PWM duty cycle of the digital output | |||
| HR | 19 | uint16 | RW | PWM duty cycle of the digital output | |||
| HR | 20 | bool bit 0 | RW | ||||
| HR | 20 | bool bit 1 | RW | ||||
| HR | 20 | bool bit 2 | RW | ||||
| HR | 20 | bool bit 3 | RW | ||||
| HR | 21 | bool bit 0 | RW | ||||
| HR | 21 | bool bit 1 | RW | ||||
| HR | 21 | bool bit 2 | RW | ||||
| HR | 21 | bool bit 3 | RW | ||||
| HR | 22 | bool bit 0 | RW | ||||
| HR | 22 | bool bit 1 | RW | ||||
| HR | 22 | bool bit 2 | RW | ||||
| HR | 22 | bool bit 3 | RW | ||||
| HR | 1000 | uint16 | R | Firmware version of the section (raw number) | |||
| HR | 1001 | uint16 bits 0–7 | R | ||||
| HR | 1001 | uint16 bits 8–15 | R | ||||
| HR | 1002 | uint16 bits 0–3 | R | ||||
| HR | 1002 | uint16 bits 4–7 | R | ||||
| HR | 1002 | uint16 bits 8–15 | R | ||||
| HR | 1003 | uint16 | R | ||||
| HR | 1004 | uint16 | R | ||||
| HR | 1005 | uint32 ABCD | R | ||||
| HR | 1007 | bool bit 0 | RW | ||||
| HR | 1007 | bool bit 1 | RW | ||||
| HR | 1007 | bool bit 2 | RW | ||||
| HR | 1007 | bool bit 3 | RW | ||||
| HR | 1008 | uint16 | RW | ms | |||
| HR | 1009 | uint16 | R | Reference voltage of the MCU (raw) | |||
| HR | 1010 | uint16 | RW | ms | ×0.1 | Raw unit is 100 us | |
| HR | 1011 | uint16 | RW | ms | ×0.1 | Raw unit is 100 us | |
| HR | 1012 | uint16 | RW | ms | ×0.1 | Raw unit is 100 us | |
| HR | 1013 | uint16 | RW | ms | ×0.1 | Raw unit is 100 us | |
| HR | 1014 | bool bit 0 | RW | ||||
| HR | 1014 | bool bit 1 | RW | ||||
| HR | 1014 | bool bit 2 | RW | ||||
| HR | 1014 | bool bit 3 | RW | ||||
| HR | 1015 | bool bit 0 | RW | ||||
| HR | 1015 | bool bit 1 | RW | ||||
| HR | 1015 | bool bit 2 | RW | ||||
| HR | 1015 | bool bit 3 | RW | ||||
| HR | 1016 | bool bit 0 | RW | ||||
| HR | 1016 | bool bit 1 | RW | ||||
| HR | 1016 | bool bit 2 | RW | ||||
| HR | 1016 | bool bit 3 | RW | ||||
| HR | 1017 | uint16 | RW | ||||
| HR | 1018 | uint16 | RW | ||||
| HR | 1019 | uint16 | RW | ||||
| HR | 1020 | uint16 | RW | ||||
| HR | 1021 | uint16 | RW | ||||
| HR | 1022 | uint16 | RW | ||||
| HR | 1023 | uint16 | RW | ||||
| HR | 1024 | uint16 | RW | ||||
| HR | 1025 | uint16 | RW | ||||
| HR | 1026 | uint16 | RW | ||||
| HR | 1027 | uint16 | RW | ||||
| HR | 1028 | uint16 | RW | ||||
| HR | 1029 | uint16 | RW | ||||
| HR | 1030 | uint16 | RW | ||||
| HR | 3000 | float32 ABCD | RW | Value in the unit of the configured mode (V, mA or ohm) | |||
| HR | 3002 | float32 ABCD | R | Value in the unit of the configured mode (V, mA or ohm) | |||
| HR | 4000 | uint16 | R | % | |||
| HR | 4001 | uint16 | R | % | |||
| HR | 100 | bool bit 0 | R | ||||
| HR | 100 | bool bit 1 | R | ||||
| HR | 100 | bool bit 2 | R | ||||
| HR | 100 | bool bit 3 | R | ||||
| HR | 100 | bool bit 4 | R | ||||
| HR | 100 | bool bit 5 | R | ||||
| HR | 100 | bool bit 6 | R | ||||
| HR | 100 | bool bit 7 | R | ||||
| HR | 100 | bool bit 8 | R | ||||
| HR | 100 | bool bit 9 | R | ||||
| HR | 100 | bool bit 10 | R | ||||
| HR | 100 | bool bit 11 | R | ||||
| HR | 100 | bool bit 12 | R | ||||
| HR | 100 | bool bit 13 | R | ||||
| HR | 100 | bool bit 14 | R | ||||
| HR | 100 | bool bit 15 | R | ||||
| HR | 101 | bool bit 0 | RW | ||||
| HR | 101 | bool bit 1 | RW | ||||
| HR | 101 | bool bit 2 | RW | ||||
| HR | 101 | bool bit 3 | RW |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).