Samrello PID500-U Modbus register map
Universal PID process and temperature controller with RS485 Modbus RTU
- Official
- 168 registers
- Modbus RTU
- Revision 1 · 2026-11-11
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 RTU
- Unit ID
- 1
- Serial
- 9600 8E1 · 9600 baud, 8 data bits, even parity, 1 stop bit defaults
- 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
- 140 holding registers, 8 input registers, 20 coils
- Groups
- 9
- Translation tables
- 19
- Revision
- 1 · 2026-11-11
- Added
- ()
- File
- maps/samrello/pid500-u.mbmap.json · 35 KB · history
- SHA-256
- 22552e69fb6394e2322e1cfba415bf0698c427a9eeb3fe264259b9f694b575cd
- Manufacturer
- samrello.com.br
Sources and notes
- PID500-U RS485 MODBUS Addresses · version 0.0, 2023-05 Supplied with the map request
Source: Samrello, PID500-U RS485 MODBUS Addresses, version 0.0 (May 2023)
- Addresses are the hexadecimal ones in the document (holding register 40032 is address 0x20 = 32, input register 30007 is address 7, coil 10 is address 0x0A), used as they are with address_base 0.
- Functions: 0x01 coils, 0x04 input registers, 0x03 and 0x10 holding registers. The document marks the coils as read-only.
- The document lists the setpoints, scaling, alarm and tuning parameters a second time as 32-bit floats at 400512 to 400780 (hex 0x200 to 0x30C). They are the same parameters and are not mapped here; the 16-bit and 32-bit integer set is used, with the decimal point set by the resolution register 130.
- The integer values carry the decimals of the resolution setting; the document gives no fixed factor, so values are raw (except output percentage 0 to 1000 = 0 to 100 %).
- Profile ramp time is 0000 to 9959 (hours and minutes as digits). Profile parameters follow the controller's 16-step profile.
- The document gives no serial defaults (baud rate, parity, stop bits) or unit id.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| CO | 1 | bool | R | 0 = °C, 1 = °F | |||
| CO | 2 | bool | R | 0 = no, 1 = yes | |||
| CO | 4 | bool | R | 0 = FD, 1 = RE | |||
| CO | 5 | bool | R | 0 = auto, 1 = manual | |||
| CO | 6 | bool | R | 0 = absolute, 1 = deviation | |||
| CO | 7 | bool | R | 0 = on, 1 = off | |||
| CO | 8 | bool | R | 0 = on, 1 = off | |||
| CO | 9 | bool | R | 0 = energize, 1 = de-energize | |||
| CO | 10 | bool | R | 0 = off, 1 = on | |||
| CO | 12 | bool | R | 0 = low, 1 = high | |||
| CO | 13 | bool | R | 0 = on, 1 = off | |||
| CO | 14 | bool | R | 0 = on, 1 = off | |||
| CO | 15 | bool | R | 0 = energize, 1 = de-energize | |||
| CO | 16 | bool | R | 0 = off, 1 = on | |||
| CO | 17 | bool | R | 0 = no, 1 = yes | |||
| CO | 18 | bool | R | 0 = no, 1 = yes | |||
| CO | 19 | bool | R | 0 = auto, 1 = manual | |||
| CO | 20 | bool | R | 0 = no, 1 = yes | |||
| CO | 21 | bool | R | 0 = level, 1 = online | |||
| CO | 26 | bool | R | 0 = all, 1 = zone | |||
| IR | 1 | int32 ABCD | R | ||||
| IR | 3 | int32 ABCD | R | ||||
| IR | 5 | int32 ABCD | R | % | ×0.1 | 0 to 1000 | |
| IR | 7 | int32 ABCD | R | Decimals follow the resolution setting | |||
| IR | 9 | int32 ABCD | R | ||||
| IR | 64 | float32 ABCD | R | % | |||
| IR | 66 | float32 ABCD | R | ||||
| IR | 68 | float32 ABCD | R | ||||
| HR | 32 | int32 ABCD | RW | ||||
| HR | 34 | int32 ABCD | RW | ||||
| HR | 36 | int32 ABCD | RW | ||||
| HR | 64 | int16 | RW | ||||
| HR | 65 | uint16 | RW | ||||
| HR | 66 | int16 | RW | ||||
| HR | 67 | uint16 | RW | ||||
| HR | 68 | int16 | RW | ||||
| HR | 69 | int16 | RW | ||||
| HR | 72 | int16 | RW | ||||
| HR | 73 | int16 | RW | ||||
| HR | 74 | int16 | RW | ||||
| HR | 75 | int16 | RW | ||||
| HR | 76 | uint16 | RW | 0 to 400.0 | |||
| HR | 77 | uint16 | RW | ||||
| HR | 78 | uint16 | RW | ||||
| HR | 79 | uint16 | RW | ||||
| HR | 80 | uint16 | RW | 0 to 3600 | |||
| HR | 81 | uint16 | RW | ||||
| HR | 82 | uint16 | RW | ||||
| HR | 83 | uint16 | RW | ||||
| HR | 84 | uint16 | RW | 0 to 200 | |||
| HR | 85 | uint16 | RW | ||||
| HR | 86 | uint16 | RW | ||||
| HR | 87 | uint16 | RW | ||||
| HR | 88 | uint16 | RW | ||||
| HR | 89 | uint16 | RW | ||||
| HR | 90 | uint16 | RW | ||||
| HR | 91 | int16 | RW | ||||
| HR | 92 | uint16 | RW | ||||
| HR | 95 | uint16 | RW | ||||
| HR | 96 | uint16 | RW | ||||
| HR | 97 | uint16 | RW | ||||
| HR | 98 | int16 | RW | ||||
| HR | 99 | int16 | RW | ||||
| HR | 102 | uint16 | RW | ||||
| HR | 105 | uint16 | RW | ||||
| HR | 106 | uint16 | RW | ||||
| HR | 107 | uint16 | RW | ||||
| HR | 108 | int16 | RW | ||||
| HR | 111 | uint16 | RW | ||||
| HR | 128 | uint16 | RW | ||||
| HR | 129 | uint16 | RW | ||||
| HR | 130 | uint16 | RW | TC/RTD: 0 = 1, 1 = 0.1; analog input: 0 = 1, 1 = 0.1, 2 = 0.01, 3 = 0.001 | |||
| HR | 133 | uint16 | RW | ||||
| HR | 134 | uint16 | RW | 75 to 100 | |||
| HR | 135 | int16 | RW | 0 to 100 (-100 to 100 in heat/cool mode) | |||
| HR | 136 | uint16 | RW | ||||
| HR | 137 | uint16 | RW | ||||
| HR | 138 | uint16 | RW | ||||
| HR | 139 | uint16 | RW | 0.5 to 5.0 | |||
| HR | 140 | uint16 | RW | ||||
| HR | 141 | int16 | RW | ||||
| HR | 144 | uint16 | RW | ||||
| HR | 145 | uint16 | RW | ||||
| HR | 146 | int16 | RW | ||||
| HR | 149 | uint16 | RW | ||||
| HR | 150 | int16 | RW | ||||
| HR | 153 | uint16 | RW | ||||
| HR | 154 | uint16 | RW | ||||
| HR | 155 | uint16 | RW | Off or 0 to 100 | |||
| HR | 156 | uint16 | RW | ||||
| HR | 157 | int16 | RW | 0 to 100 (-100 to 100 in heat/cool mode) | |||
| HR | 158 | uint16 | RW | 0 = off, 1 to 99 | |||
| HR | 159 | uint16 | RW | 0 = off, 1 to 250 | |||
| HR | 160 | uint16 | RW | 0.1 to 10.0 for TC/RTD | |||
| HR | 163 | uint16 | RW | ||||
| HR | 164 | uint16 | RW | ||||
| HR | 165 | uint16 | RW | ||||
| HR | 166 | uint16 | RW | ||||
| HR | 167 | uint16 | RW | ||||
| HR | 168 | uint16 | 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).