Cummins PS0500 Modbus register map
Generator set control, Modbus RTU on RS485 (TB15), with fault status bitmaps
- Official
- 124 registers
- Modbus RTU
- Revision 1 · 2026-10-15
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
- 1default
- 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
- 1-based · wire address = address − 1
- Max read
- 16 registers per request
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 124 holding registers
- Groups
- 8
- Revision
- 1 · 2026-10-15
- Firmware
- from 6.02 Modbus from software 6.02
- Added
- ()
- File
- maps/cummins/ps0500.mbmap.json · 22 KB · history
- SHA-256
- a509adbedf41e3b38f32e9865bf082027e7d2fa5359e26a3e1e6e48ddceec2da
- Manufacturer
- cummins.com
Sources and notes
- Modbus Register Mapping, Control · version A029X159 (Issue 26), 2020-06 sections 12, table 27 (registers marked PS0500), and 14 (fault status bitmaps marked PS0500)
Source: Cummins, Modbus Register Mapping (Control), A029X159 Issue 26 (6-2020): sections 12 and 14
- Addresses are the manual's 4xxxx numbers less 40000, 1-based (40011 is holding register 11).
- 32-bit values have the high register first. Write both registers, high then low.
- Text values the manual lists as one character per register (serial numbers, time stamps) are left out.
- The manual does not give the factory serial settings: check baud rate, parity, stop bits and node address on the control.
- Save Trims writes the settings to flash memory, which wears out: use it only after a change, never on a schedule.
- Registers missing from older control software answer with an exception.
- Modbus works only from PS0500 software version 6.02.
- Some fault bitmap bits mean one fault on the PS0500 and another on PowerCommand 2.x/3.x; these are the PS0500 ones.
- 32 one-character text registers left out.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 4 | uint16 | RW | ||||
| HR | 9 | uint16 | R | ||||
| HR | 10 | uint16 | R | ||||
| HR | 11 | uint16 | R | ||||
| HR | 12 | uint16 | R | ||||
| HR | 13 | uint16 | R | ||||
| HR | 16 | uint16 | R | ||||
| HR | 17 | uint16 | R | ||||
| HR | 18 | uint16 | R | V | |||
| HR | 19 | uint16 | R | V | |||
| HR | 20 | uint16 | R | V | |||
| HR | 22 | uint16 | R | V | |||
| HR | 23 | uint16 | R | V | |||
| HR | 24 | uint16 | R | V | |||
| HR | 25 | uint16 | R | V | |||
| HR | 26 | uint16 | R | A | ×0.1 | ||
| HR | 27 | uint16 | R | A | ×0.1 | ||
| HR | 28 | uint16 | R | A | ×0.1 | ||
| HR | 29 | uint16 | R | A | ×0.1 | ||
| HR | 40 | uint16 | R | kVA | |||
| HR | 41 | uint16 | R | kVA | |||
| HR | 42 | uint16 | R | kVA | |||
| HR | 43 | uint16 | R | kVA | |||
| HR | 44 | uint16 | R | % | ×0.1 | ||
| HR | 58 | uint16 | R | % | ×0.1 | ||
| HR | 59 | uint16 | R | % | ×0.1 | ||
| HR | 60 | uint16 | R | % | ×0.1 | ||
| HR | 61 | uint16 | R | V | ×0.1 | ||
| HR | 62 | uint16 | R | kPa | |||
| HR | 64 | uint16 | R | °C | ×0.1 | ||
| HR | 68 | uint16 | R | rpm | |||
| HR | 69 | uint16 | R | ||||
| HR | 70 | uint16 | R | s | |||
| HR | 71 | uint16 | R | s | |||
| HR | 300 | uint16 | RW | ||||
| HR | 301 | uint16 | RW | ||||
| HR | 302 | uint16 | RW | ||||
| HR | 400 | uint16 | R | ||||
| HR | 400 | bool bit 0 | R | Fault code 2677, shutdown; bit 0 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 1 | R | Fault code 151, shutdown; bit 1 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 2 | R | Fault code 415, shutdown; bit 2 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 3 | R | Fault code 1446, shutdown; bit 3 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 4 | R | Fault code 1447, shutdown; bit 4 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 5 | R | Fault code 1449, shutdown; bit 5 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 6 | R | Fault code 1448, shutdown; bit 6 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 7 | R | Fault code 2335, shutdown; bit 7 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 8 | R | Fault code 234, shutdown; bit 8 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 9 | R | Fault code 1434, shutdown; bit 9 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 10 | R | Fault code 359, shutdown; bit 10 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 11 | R | Fault code 1123, shutdown; bit 11 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 12 | R | Fault code 4799, shutdown; bit 12 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 13 | R | Fault code 1472, shutdown; bit 13 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 14 | R | Fault code 2814, shutdown; bit 14 of Fault Status Bitmap 1 | |||
| HR | 400 | bool bit 15 | R | Fault code 1541, shutdown; bit 15 of Fault Status Bitmap 1 | |||
| HR | 401 | uint16 | R | ||||
| HR | 402 | uint16 | R | ||||
| HR | 403 | uint16 | R | ||||
| HR | 404 | uint16 | R | ||||
| HR | 405 | uint16 | R | ||||
| HR | 406 | uint16 | R | ||||
| HR | 407 | uint16 | R | ||||
| HR | 408 | uint16 | R | ||||
| HR | 409 | uint16 | R | ||||
| HR | 410 | uint16 | R | ||||
| HR | 410 | bool bit 0 | R | Fault code 146, warning; bit 0 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 1 | R | Fault code 1435, warning; bit 1 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 2 | R | Fault code 144, warning; bit 2 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 3 | R | Fault code 441, warning; bit 3 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 4 | R | Fault code 442, warning; bit 4 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 5 | R | Fault code 143, warning; bit 5 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 6 | R | Fault code 141, warning; bit 6 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 7 | R | Fault code 1131, warning; bit 7 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 8 | R | Fault code 2678, warning; bit 8 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 9 | R | Fault code 1416, warning; bit 9 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 10 | R | Fault code 1442, warning; bit 10 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 11 | R | Fault code 1471, warning; bit 11 of Fault Stauts Bitmap 11 | |||
| HR | 410 | bool bit 12 | R | Fault code 6227, warning; bit 12 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 13 | R | Fault code 6226, warning; bit 13 of Fault Status Bitmap 11 | |||
| HR | 410 | bool bit 14 | R | Fault code 1540, warning; bit 14 of Fault Status Bitmap 11 | |||
| HR | 411 | uint16 | R | ||||
| HR | 412 | uint16 | R | ||||
| HR | 413 | uint16 | R | ||||
| HR | 414 | uint16 | R | ||||
| HR | 415 | uint16 | R | ||||
| HR | 416 | uint16 | R | ||||
| HR | 417 | uint16 | R | ||||
| HR | 418 | uint16 | R | ||||
| HR | 419 | uint16 | R | ||||
| HR | 420 | uint16 | R | ||||
| HR | 420 | bool bit 0 | R | Fault code 1312, shutdown; bit 0 of Fault Status Bitmap 21 | |||
| HR | 421 | uint16 | R | ||||
| HR | 425 | uint16 | R | ||||
| HR | 426 | uint16 | R | ||||
| HR | 430 | uint16 | R | ||||
| HR | 430 | bool bit 0 | R | Fault code 1463; bit 0 of Even Status Bitmap 1 | |||
| HR | 430 | bool bit 1 | R | Event code 1468; bit 1 of Event Status Bitmap 1 | |||
| HR | 430 | bool bit 2 | R | Event code 1483; bit 2 of Event Status Bitmap 1 | |||
| HR | 430 | bool bit 3 | R | Event code 5671; bit 3 of Event Status Bitmap 1 | |||
| HR | 3000 | uint16 | RW | V | |||
| HR | 3001 | 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).