APC by Schneider Electric · UPS
Smart-UPS with Network Management Card 2/3 (SMT, SMX, SRT, SURTD) Modbus register map
Default configuration
- Protocol
- Modbus TCP
- Port
- 502
- Unit ID
- 1
- Addressing
- 0-based
- Byte order
- Big endian
- Word order
- High word first
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 2 | 1 | UPSStatusChangeCause_EN not the reason why the old status is no longer valid. | UInt16 | - | 1 | R |
| 6 | 1 | SOG[0].OutletStatus_BF (low word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.OutletStatus_BF. | Hex | - | 1 | R |
| 7 | 1 | SOG[0].OutletStatus_BF (high word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.OutletStatus_BF. | Hex | - | 1 | R |
| 9 | 1 | SOG[1].OutletStatus_BF (low word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.OutletStatus_BF. | Hex | - | 1 | R |
| 10 | 1 | SOG[1].OutletStatus_BF (high word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.OutletStatus_BF. | Hex | - | 1 | R |
| 12 | 1 | SOG[2].OutletStatus_BF (low word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.OutletStatus_BF. | Hex | - | 1 | R |
| 13 | 1 | SOG[2].OutletStatus_BF (high word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.OutletStatus_BF. | Hex | - | 1 | R |
| 128 | 2 | RunTimeRemaining to." Some UPS's will max out at 65535 seconds (18.2 hours). | UInt32 | s | 1 | R |
| 130 | 1 | StateOfCharge_Pct The percent state of charge in the battery. | UInt16 | % | 0.001953125 | R |
| 131 | 1 | Battery.Positive.VoltageDC Measured battery voltage - positive battery bus. | Int16 | - | 0.03125 | R |
| 132 | 1 | Battery.Negative.VoltageDC Measured battery voltage - negative battery bus. | Int16 | - | 0.03125 | R |
| 133 | 1 | Battery.Date not be interpreted to be more accurate than a month. | UInt16 | - | 1 | R |
| 135 | 1 | Battery.Temperature Battery temperature in Degrees C. | Int16 | °C | 0.0078125 | R |
| 136 | 1 | Output[0].RealPower_Pct Phase 1 - Measured real power as a percent of full rating. | UInt16 | % | 0.00390625 | R |
| 137 | 1 | Output[1].RealPower_Pct Phase 2 - Measured real power as a percent of full rating. | UInt16 | % | 0.00390625 | R |
| 138 | 1 | Output[0].ApparentPower_Pct Phase 1 - Measured apparent power as a percent of full rating. | UInt16 | % | 0.00390625 | R |
| 139 | 1 | Output[1].ApparentPower_Pct Phase 2 - Measured apparent power as a percent of full rating. | UInt16 | % | 0.00390625 | R |
| 140 | 1 | Output[0].CurrentAC Phase 1 - Measured AC RMS Current. | UInt16 | A | 0.03125 | R |
| 141 | 1 | Output[1].CurrentAC Phase 2 - Measured AC RMS Current. | UInt16 | A | 0.03125 | R |
| 142 | 1 | Output[0].VoltageAC Phase 1 - Measured Output Voltage. | UInt16 | V | 0.015625 | R |
| 143 | 1 | Output[1].VoltageAC Phase 2 - Measured Output Voltage. | UInt16 | V | 0.015625 | R |
| 144 | 1 | Output.Frequency Measured frequency on the output. | UInt16 | Hz | 0.0078125 | R |
| 145 | 2 | Output.Energy This is the number of Watt Hours consumed by the output load. | UInt32 | Wh | 1 | R |
| 148 | 1 | Bypass.VoltageAC Measured Voltage on the bypass input for separate bypass feed. | UInt16 | V | 0.015625 | R |
| 149 | 1 | Bypass.Frequency Measured frequency on the bypass input for separate bypass feed. | UInt16 | Hz | 0.0078125 | R |
| 150 | 1 | Input.InputStatus_BF SEE BIT DESCRIPTIONS ABOVE FOR Bypass.InputStatus_BF. | Hex | - | 1 | R |
| 151 | 1 | Input[0].VoltageAC Phase 1 - Measured Input Voltage. | UInt16 | V | 0.015625 | R |
| 152 | 1 | Input[1].VoltageAC Phase 2 - Measured Input Voltage. | UInt16 | V | 0.015625 | R |
| 153 | 1 | Input[2].VoltageAC Phase 3 - Measured Input Voltage. | UInt16 | V | 0.015625 | R |
| 154 | 1 | Efficiency_EN measurements should not be used. | UInt16 | - | 1 | R |
| 155 | 1 | MOG.TurnOffCountdown_EN (1)-(32767): Seconds remaining for countdown. | UInt16 | - | 1 | R |
| 156 | 1 | MOG.TurnOnCountdown_EN (1)-(32767): Seconds remaining for countdown. | UInt16 | - | 1 | R |
| 157 | 2 | MOG.StayOffCountdown_EN (1)-(2147483647): Seconds remaining for countdown. ReadWrite x x | Int32 | - | 1 | R |
| 159 | 1 | SOG[0].TurnOffCountdown_EN SEE ENUM DESCRIPTION ABOVE FOR MOG.TurnOffCountdown_EN. | UInt16 | - | 1 | R |
| 160 | 1 | SOG[0].TurnOnCountdown_EN SEE ENUM DESCRIPTION ABOVE FOR MOG.TurnOnCountdown_EN. | UInt16 | - | 1 | R |
| 161 | 2 | SOG[0].StayOffCountdown_EN SEE ENUM DESCRIPTION ABOVE FOR MOG.StayOffCountdown_EN. ReadWrite x x | Int32 | - | 1 | R |
| 163 | 1 | SOG[1].TurnOffCountdown_EN SEE ENUM DESCRIPTION ABOVE FOR MOG.TurnOffCountdown_EN. | UInt16 | - | 1 | R |
| 164 | 1 | SOG[1].TurnOnCountdown_EN SEE ENUM DESCRIPTION ABOVE FOR MOG.TurnOnCountdown_EN. | UInt16 | - | 1 | R |
| 165 | 2 | SOG[1].StayOffCountdown_EN SEE ENUM DESCRIPTION ABOVE FOR MOG.StayOffCountdown_EN. ReadWrite x x | Int32 | - | 1 | R |
| 167 | 1 | SOG[2].TurnOffCountdown_EN SEE ENUM DESCRIPTION ABOVE FOR MOG.TurnOffCountdown_EN. | UInt16 | - | 1 | R |
| 168 | 1 | SOG[2].TurnOnCountdown_EN SEE ENUM DESCRIPTION ABOVE FOR MOG.TurnOnCountdown_EN. | UInt16 | - | 1 | R |
| 169 | 2 | SOG[2].StayOffCountdown_EN SEE ENUM DESCRIPTION ABOVE FOR MOG.StayOffCountdown_EN. ReadWrite x x | Int32 | - | 1 | R |
| 516 | 8 | FWVersion_STR UPS Firmware Version. | Ascii | - | 1 | R |
| 532 | 16 | Model_STR UPS Model Name. | Ascii | - | 1 | R |
| 548 | 16 | SKU_STR UPS SKU Name. | Ascii | - | 1 | R |
| 564 | 8 | SerialNumber_STR UPS Serial Number. | Ascii | - | 1 | R |
| 572 | 8 | Battery.SKU_STR only one type). | Ascii | - | 1 | R |
| 580 | 8 | Battery.ExternalBattery.SKU_STR The replacement battery pack SKU for the external battery pack. | Ascii | - | 1 | R |
| 588 | 1 | Output.ApparentPowerRating The rated apparent full power. | UInt16 | - | 1 | R |
| 589 | 1 | Output.RealPowerRating The rated real full power. Bits: 0=MOGPresent; 1=SOG0Present; 2=SOG1Present; 3=SOG2Present; 4=SOG3Present | UInt16 | - | 1 | R |
| 591 | 1 | Manufacture.Date Manufacture Date, days since 1999 (January 1, 2000 = 0). Bits: 0=VAC100; 1=VAC120; 2=VAC200; 3=VAC208; 4=VAC220; 5=VAC230; 6=VAC240; 7=Reserved; 8=Reserved; 9=Reserved; 10=Reserved; 11=VAC110; 12=Reserved; 13=selected 208 or 240 based on the input.; 14=VAC120_208; 15=VAC120_240 | UInt16 | - | 1 | R |
| 593 | 1 | Output.AcceptableFrequencySetting_BF output is in sync with the input. ReadWrite x x Bits: 0=Auto; 1=Hz50_0_1; 2=Hz50_1_0; 3=Hz50_3_0; 4=Hz60_0_1; 5=Hz60_1_0; 6=Hz60_3_0 | Hex | - | 1 | R |
| 595 | 1 | Battery.DateSetting Battery Installation Date, days since 1999 (January 1, 2000 = 0). ReadWrite x x x | UInt16 | - | 1 | R |
| 596 | 8 | Name_STR The name assigned to the UPS. ReadWrite x x | Ascii | - | 1 | R |
| 604 | 8 | MOG.Name_STR The name assigned to the Main Outlet Group (MOG). ReadWrite x x | Ascii | - | 1 | R |
| 612 | 8 | SOG[0].Name_STR The name assigned to Switched Outlet Group SOG0. ReadWrite x x | Ascii | - | 1 | R |
| 620 | 8 | SOG[1].Name_STR The name assigned to SOG 1. ReadWrite x x | Ascii | - | 1 | R |
| 628 | 8 | SOG[2].Name_STR The name assigned to SOG 2. ReadWrite x x | Ascii | - | 1 | R |
| 1026 | 1 | Output.UpperAcceptableVoltageSetting voltage load will see). ReadWrite x x | UInt16 | - | 1 | R |
| 1027 | 1 | Output.LowerAcceptableVoltageSetting voltage load will see). ReadWrite x x Bits: 0=Normal; 1=Reduced; 2=Low | UInt16 | - | 1 | R |
| 1029 | 1 | MOG.TurnOffCountdownSetting_EN loaded into the TurnOffCountdown_EN when a delayed off command is requested. ReadWrite x x | UInt16 | - | 1 | R |
| 1030 | 1 | MOG.TurnOnCountdownSetting_EN TurnOnCountdown_EN when a delayed on command is requested. ReadWrite x x | UInt16 | - | 1 | R |
| 1031 | 2 | MOG.StayOffCountdownSetting_4B value of 4, maximum of 300. ReadWrite x x | Int32 | - | 1 | R |
| 1033 | 1 | MOG.MinimumReturnRuntimeSetting using power calculation captured at start of last shutdown. ReadWrite x x | UInt16 | - | 1 | R |
| 1034 | 1 | SOG[0].TurnOffCountdownSetting_EN loaded into the TurnOffCountdown_EN when a delayed off command is requested. ReadWrite x x | UInt16 | - | 1 | R |
| 1035 | 1 | SOG[0].TurnOnCountdownSetting_EN TurnOnCountdown_EN when a delayed on command is requested. ReadWrite x x | UInt16 | - | 1 | R |
| 1036 | 2 | SOG[0].StayOffCountdownSetting_4B value of 4, maximum of 300. ReadWrite x x | Int32 | - | 1 | R |
| 1038 | 1 | SOG[0].MinimumReturnRuntimeSetting on, using power calculation captured at start of last shutdown. ReadWrite x x | UInt16 | - | 1 | R |
| 1039 | 1 | SOG[1].TurnOffCountdownSetting_EN TurnOffCountdown_EN when a delayed off command is requested. ReadWrite x x | UInt16 | - | 1 | R |
| 1040 | 1 | SOG[1].TurnOnCountdownSetting_EN TurnOnCountdown_EN when a delayed on command is requested. ReadWrite x x | UInt16 | - | 1 | R |
| 1041 | 2 | SOG[1].StayOffCountdownSetting_4B value of 4, maximum of 300. ReadWrite x x | Int32 | - | 1 | R |
| 1043 | 1 | SOG[1].MinimumReturnRuntimeSetting on, using power calculation captured at start of last shutdown. ReadWrite x x | UInt16 | - | 1 | R |
| 1044 | 1 | SOG[2].TurnOffCountdownSetting_EN TurnOffCountdown_EN when a delayed off command is requested. ReadWrite x x | UInt16 | - | 1 | R |
| 1045 | 1 | SOG[2].TurnOnCountdownSetting_EN TurnOnCountdown_EN when a delayed on command is requested. ReadWrite x x | UInt16 | - | 1 | R |
| 1046 | 2 | SOG[2].StayOffCountdownSetting_4B value of 4, maximum of 300. ReadWrite x x | Int32 | - | 1 | R |
| 1048 | 1 | SOG[2].MinimumReturnRuntimeSetting on, using power calculation captured at start of last shutdown. ReadWrite x x Bits: 0=modifier will use the TurnOffCountdownSetting to shut the outlet off.; 1=manual intervention to restart the outlet.; 2=Reserved; 3=are valid with this bit.; 4=UseOffDelay and ManualRestartRequired are valid with this bit.; 5=applicable for the Main Outlet Group (MOG). | UInt16 | - | 1 | R |
| 1056 | 1 | SOG[0].LoadShedConfigSetting_BF (low word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.LoadShedConfigSetting_BF. ReadWrite x x | Hex | - | 1 | R |
| 1057 | 1 | SOG[0].LoadShedConfigSetting_BF (high word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.LoadShedConfigSetting_BF. ReadWrite x x | Hex | - | 1 | R |
| 1058 | 1 | SOG[1].LoadShedConfigSetting_BF (low word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.LoadShedConfigSetting_BF. ReadWrite x x | Hex | - | 1 | R |
| 1059 | 1 | SOG[1].LoadShedConfigSetting_BF (high word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.LoadShedConfigSetting_BF. ReadWrite x x | Hex | - | 1 | R |
| 1060 | 1 | SOG[2].LoadShedConfigSetting_BF (low word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.LoadShedConfigSetting_BF. ReadWrite x x | Hex | - | 1 | R |
| 1061 | 1 | SOG[2].LoadShedConfigSetting_BF (high word) SEE BIT DESCRIPTIONS ABOVE FOR MOG.LoadShedConfigSetting_BF. ReadWrite x x | Hex | - | 1 | R |
| 1064 | 1 | SOG[0].LoadShedRunTimeRemainingSetting LoadShedConfigSetting_BF. ReadWrite x x | UInt16 | - | 1 | R |
| 1065 | 1 | SOG[1].LoadShedRunTimeRemainingSetting turn off. This condition is enabled and configured with the LoadShedConfigSetting_BF. ReadWrite x x | UInt16 | - | 1 | R |
| 1066 | 1 | SOG[2].LoadShedRunTimeRemainingSetting turn off. This condition is enabled and configured with the LoadShedConfigSetting_BF. ReadWrite x x | UInt16 | - | 1 | R |
| 1068 | 1 | SOG[0].LoadShedTimeOnBatterySetting enabled and configured with the LoadShedConfigSetting_BF. ReadWrite x x | UInt16 | - | 1 | R |
| 1069 | 1 | SOG[1].LoadShedTimeOnBatterySetting enabled and configured with the LoadShedConfigSetting_BF. ReadWrite x x | UInt16 | - | 1 | R |
| 1070 | 1 | SOG[2].LoadShedTimeOnBatterySetting enabled and configured with the LoadShedConfigSetting_BF. ReadWrite x x | UInt16 | - | 1 | R |
| 1072 | 1 | MOG.LoadShedRunTimeRemainingSetting LoadShedConfigSetting_BF. ReadWrite x x | UInt16 | - | 1 | R |
| 1073 | 1 | MOG.LoadShedTimeOnBatterySetting enabled and configured with the LoadShedConfigSetting_BF ReadWrite x x | UInt16 | - | 1 | R |
| 2048 | 2 | ModbusMapID Reports the Modbus map ID as a string, no null terminator. | Ascii | - | 1 | R |
| 2050 | 4 | TestString Always reports "12345678" - included to debug end customer protocol byte order. | Ascii | - | 1 | R |
| 2054 | 2 | Test4BNumber1 Always reports 0x12345678 - included to debug end customer protocol byte order. | UInt32 | - | 1 | R |
| 2056 | 2 | Test4BNumber2 Always reports -5 (0xFFFFFFFB) - included to debug end customer protocol byte order. | Int32 | - | 1 | R |
| 2058 | 1 | Test2BNumber1 Always reports 0x1234 - included to debug end customer protocol byte order. | UInt16 | - | 1 | R |
| 2059 | 1 | Test2BNumber2 Always reports -5 (0xFFFB) - included to debug end customer protocol byte order. | Int16 | - | 1 | R |
| 2060 | 1 | TestBPINumber1 Always reports 128.5 (0x2020) - included to debug end customer protocol byte order. | Int16 | - | 0.015625 | R |
| 2061 | 1 | TestBPINumber2 Always reports -128.5 (0xDFE0) - included to debug end customer protocol byte order. | Int16 | - | 0.015625 | R |
Notes
Addresses are the zero-based Modbus addresses (the 'Absolute Starting Register Address' decimal column) of Schneider/APC's Modbus register map 990-9840B for Smart-UPS models with prefix SMT, SMX, SRT and SURTD; the Modicon 4xxxx register number is the address + 40001. The map is served by the UPS Network Management Card 2 (AP9635) over Modbus serial RTU and by NMC 2 and NMC 3 (AP9641 / AP9643) over Modbus TCP on port 502. Every register is one word wide; values with a scale are raw counts divided by the published divisor, applied here as scale_factor (for example battery state of charge is raw / 512 = %). Boolean data points are published as bit maps over one or two registers: a single-register bitmap is listed as one Hex row, a two-register bitmap as a low-word and a high-word row, with the bit names in the description. Every register of this map is read-only: outlet-group commands, setpoints and the NMC's own Modbus TCP/serial settings are described in the NMC Modbus Documentation Addendum (990-5701C) and are not part of this document. SURTD models only support reading. Strings are ASCII, two characters per register, space padded.