Active Power CS XT / CS HD Modbus register map
CleanSource CS XT and CS HD flywheel UPS
- Verified
- 105 registers
- Modbus TCP and RTU
- Revision 3 · 2026-10-18
Verified: Tested on a real device.
Communication
- Protocol
- Modbus TCP and RTU
- Unit ID
- 1default
- TCP port
- 502default
- Serial
- 9600 8E1 · 9600 baud, 8 data bits, even parity, 1 stop bit defaults
- Byte / word order
- CDAB · bytes big-endian, words low first (word swap)
- Addresses
- 0-based
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 105 holding registers
- Groups
- 13
- Translation tables
- 1
- Revision
- 3 · 2026-10-18
- Added
- ()
- File
- maps/active-power/cs-xt-cs-hd.mbmap.json · 18 KB · history
- SHA-256
- 289fd44c95749dc53718f3f991ad4ab8abc428738ce3fef5cde797497cd6321c
- Manufacturer
- activepower.com
Sources and notes
Source: Active Power, a Division of Piller Power Systems Inc., "CS XT / CS HD Modbus Register Map", 6090618-1 Rev. E (2019)
- Active Power CleanSource CS XT and CS HD flywheel UPS (sold by Piller Power Systems in some countries).
- Tested on a CleanSource UPS, October 2026.
- Read-only (FC03). 32-bit values: the lower register holds bits 15-0, so the word order is low word first (CDAB); read both registers in one request.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 0 | uint16 | R | Always reads 16720 (0x4150, ASCII "AP") | |||
| HR | 1 | uint16 | R | ||||
| HR | 5 | uint16 | R | Major revision in the high byte, minor in the low byte | |||
| HR | 5 | uint16 bits 8–15 | R | ||||
| HR | 5 | uint16 bits 0–7 | R | ||||
| HR | 7 | uint16 | R | Major revision in the high byte, minor in the low byte | |||
| HR | 7 | uint16 bits 8–15 | R | ||||
| HR | 7 | uint16 bits 0–7 | R | ||||
| HR | 9 | uint16 | R | ×0.01 | |||
| HR | 11 | uint32 CDAB | R | ||||
| HR | 19 | uint32 CDAB | R | ||||
| HR | 27 | int32 CDAB | R | s | Unix time: seconds since 1970-01-01 | ||
| HR | 701 | int16 | R | V | ×0.1 | ||
| HR | 702 | int16 | R | V | ×0.1 | ||
| HR | 703 | int16 | R | V | ×0.1 | ||
| HR | 704 | int16 | R | V | ×0.1 | ||
| HR | 705 | int16 | R | V | ×0.1 | ||
| HR | 706 | int16 | R | V | ×0.1 | ||
| HR | 707 | int16 | R | V | ×0.1 | ||
| HR | 708 | int16 | R | V | ×0.1 | ||
| HR | 709 | int16 | R | V | ×0.1 | ||
| HR | 710 | int16 | R | V | ×0.1 | ||
| HR | 711 | int16 | R | V | ×0.1 | ||
| HR | 712 | int16 | R | V | ×0.1 | ||
| HR | 713 | int16 | R | A | ×0.1 | ||
| HR | 714 | int16 | R | A | ×0.1 | ||
| HR | 715 | int16 | R | A | ×0.1 | ||
| HR | 716 | int16 | R | A | ×0.1 | ||
| HR | 717 | int16 | R | A | ×0.1 | ||
| HR | 718 | int16 | R | A | ×0.1 | ||
| HR | 732 | int16 | R | °C | ×0.1 | ||
| HR | 733 | int16 | R | °C | ×0.1 | ||
| HR | 734 | int16 | R | °C | ×0.1 | ||
| HR | 735 | int16 | R | °C | ×0.1 | ||
| HR | 736 | int16 | R | °C | ×0.1 | CS HD: lower armature; CS XT: armature | |
| HR | 737 | int16 | R | °C | ×0.1 | CS HD: upper armature; CS XT: upper field coil | |
| HR | 738 | int16 | R | °C | ×0.1 | ||
| HR | 739 | int16 | R | °C | ×0.1 | ||
| HR | 740 | int16 | R | °C | ×0.1 | CS HD: excitation coil; CS XT: lower field coil | |
| HR | 743 | int16 | R | °C | ×0.1 | ||
| HR | 744 | int16 | R | °C | ×0.1 | ||
| HR | 745 | int16 | R | Hz | ×0.1 | ||
| HR | 746 | int16 | R | Hz | ×0.1 | ||
| HR | 747 | int16 | R | Hz | ×0.1 | ||
| HR | 749 | int16 | R | kW | ×0.1 | ||
| HR | 750 | int16 | R | kVA | ×0.1 | ||
| HR | 751 | int16 | R | ×0.001 | |||
| HR | 752 | int16 | R | kW | ×0.1 | ||
| HR | 753 | int16 | R | kVA | ×0.1 | ||
| HR | 754 | int16 | R | ×0.001 | |||
| HR | 755 | int16 | R | % | ×0.01 | ||
| HR | 756 | int16 | R | mTorr | ×0.1 | ||
| HR | 757 | int16 | R | RPM | |||
| HR | 758 | int16 | R | % | ×0.01 | ||
| HR | 759 | int16 | R | kW | ×0.1 | ||
| HR | 760 | int16 | R | A | ×0.1 | ||
| HR | 761 | int16 | R | V | ×0.1 | ||
| HR | 762 | int16 | R | kW | ×0.1 | ||
| HR | 763 | int16 | R | Hz | ×0.1 | ||
| HR | 764 | int16 | R | V | ×0.1 | ||
| HR | 765 | int16 | R | V | ×0.1 | ||
| HR | 766 | int16 | R | V | ×0.1 | ||
| HR | 767 | int16 | R | V | ×0.1 | ||
| HR | 768 | int16 | R | V | ×0.1 | ||
| HR | 769 | int16 | R | V | ×0.1 | ||
| HR | 770 | int16 | R | V | ×0.1 | ||
| HR | 771 | int16 | R | V | ×0.1 | ||
| HR | 772 | int16 | R | V | ×0.1 | ||
| HR | 773 | int16 | R | kW | ×0.1 | ||
| HR | 774 | int16 | R | A | ×0.1 | ||
| HR | 775 | int16 | R | A | ×0.1 | ||
| HR | 776 | int16 | R | A | ×0.1 | ||
| HR | 777 | int16 | R | A | ×0.1 | ||
| HR | 778 | int16 | R | A | ×0.1 | ||
| HR | 779 | int16 | R | A | ×0.1 | ||
| HR | 780 | int16 | R | lb | ×0.1 | ||
| HR | 901 | uint16 | R | ||||
| HR | 902 | uint16 | R | ||||
| HR | 903 | uint16 | R | ||||
| HR | 913 | uint16 | R | ||||
| HR | 964 | uint16 | R | ||||
| HR | 964 | bool bit 0 | R | ||||
| HR | 964 | bool bit 1 | R | ||||
| HR | 964 | bool bit 2 | R | ||||
| HR | 964 | bool bit 3 | R | ||||
| HR | 964 | bool bit 4 | R | ||||
| HR | 964 | bool bit 5 | R | ||||
| HR | 964 | bool bit 6 | R | ||||
| HR | 964 | bool bit 7 | R | ||||
| HR | 965 | uint16 | R | ||||
| HR | 965 | bool bit 0 | R | ||||
| HR | 965 | bool bit 1 | R | ||||
| HR | 965 | bool bit 2 | R | ||||
| HR | 965 | bool bit 3 | R | ||||
| HR | 965 | bool bit 4 | R | ||||
| HR | 965 | bool bit 5 | R | ||||
| HR | 965 | bool bit 6 | R | ||||
| HR | 965 | bool bit 7 | R | ||||
| HR | 1000 | uint16 | R | CS HD only; major in the high byte, minor in the low byte | |||
| HR | 1001 | uint16 | R | ×0.01 | CS HD only |
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).