Cat M5X - Modbus Memory Map ECMP 3.1 3.2 3.3
This page is a technical reference for a subset of the Cat M5X (Caterpillar) generator controller EMCP 3.1, 3.2, and 3.3 Modbus memory map. In many generator monitoring and power management projects, EMCP controllers expose operating data over Modbus so that a supervisory system (BMS/SCADA/EMS, historian, or analytics platform) can read electrical measurements and derived values such as real power, apparent power, reactive power, and power factor.
The registers listed here are typically used for generator electrical output monitoring. The table includes the register address (as provided), point description, data size, access type, engineering meaning, scale factor, and valid range. These details are required to correctly interpret the raw Modbus values (for example, converting a scaled integer into Hz or % based on the documented resolution).
Note that Modbus implementations often differ on how addresses are presented (e.g., “100” vs “40101”), and whether a device uses 0-based or 1-based addressing in its documentation. The register numbers in the table below are preserved exactly as provided. When integrating to a Modbus client, confirm the gateway/client addressing convention and apply any required offset at the client configuration layer (not by modifying the documented register values).
EMCP 3.1, 3.2, and 3.3 Modbus Memory Map
We may be able to provide you with the complete manual. Email us and ask.
The table below includes examples of commonly integrated electrical measurements. Pay close attention to the data length field (1 register vs 2 registers) and the scale (for example 1/128 Hz per bit or 0.0078125% per bit). For 32-bit values that span two registers, you must also confirm the controller’s word ordering (endianness) expected by the Modbus client or gateway configuration.
| 102 | GENERATORAVERAGE AC RMS FREQUENCY | 1REGISTER (2 BYTES) LONG | READ | Average AC frequency measured at the generator output. | 1/128 Hz/ bit | 0 Hz | 0 to501.9922 Hz | |
| 100 | GENERATORAVERAGE LINE-LINE AC RMS VOLTAGE | 1REGISTER (2 BYTES) LONG | READ | Average Line to Line RMS voltage measured at thegenerator output. | 1 V / bit | 0 V | 0 to64255 V | |
| 163 | GENERATORAVERAGE LINE-LINE AC RMS VOLTAGE PERCENT | 1REGISTER (2 BYTES) LONG | READ | Average Line to Line RMS voltage at the generator, as apercentage of nominal generator voltage. | 0.0078125% / bit | -251.00% | -251 to250.99% | |
| 108 | GENERATORPHASE A LINE-LINE AC RMS VOLTAGE | 1REGISTER (2 BYTES) LONG | READ | Line to Line RMS voltage measured at the generatorphase AB output. | 1 V / bit | 0 V | 0 to64255 V | |
| 109 | GENERATORPHASE B LINE-LINE AC RMS VOLTAGE | 1REGISTER (2 BYTES) LONG | READ | Line to Line RMS voltage measured at the generatorphase BC output. | 1 V / bit | 0 V | 0 to64255 V | |
| 110 | GENERATORPHASE C LINE-LINE AC RMS VOLTAGE | 1REGISTER (2 BYTES) LONG | READ | Line to Line RMS voltage measured at the generatorphase CA output. | 1 V / bit | 0 V | 0 to64255 V | |
| 148 | GENERATORAVERAGE LINE-NEUTRAL AC RMS VOLTAGE | 1REGISTER (2 BYTES) LONG | READ | The average Line to Neutral AC RMS voltage measured atthe generator output. | 1 V / bit | 0 V | 0 to64255 V | |
| 114 | GENERATORPHASE A LINE-NEUTRAL AC RMS VOLTAGE | 1REGISTER (2 BYTES) LONG | READ | Line to Neutral RMS voltage measured at the generatorphase A output. | 1 V / bit | 0 V | 0 to64255 V | |
| 115 | GENERATORPHASE B LINE-NEUTRAL AC RMS VOLTAGE | 1REGISTER (2 BYTES) LONG | READ | Line to Neutral RMS voltage measured at the generatorphase B output. | 1 V / bit | 0 V | 0 to64255 V | |
| 116 | GENERATORPHASE C LINE-NEUTRAL AC RMS VOLTAGE | 1REGISTER (2 BYTES) LONG | READ | Line to Neutral RMS voltage measured at the generatorphase C output. | 1 V / bit | 0 V | 0 to64255 V | |
| 101 | GENERATORAVERAGE AC RMS CURRENT | 1REGISTER (2 BYTES) LONG | READ | Average RMS current measured at the generator output. | 1 A / bit | 0 A | 0 to64255 V | |
| 111 | GENERATORPHASE A AC RMS CURRENT | 1REGISTER (2 BYTES) LONG | READ | RMS current measured at the generator phase A output. | 1 A / bit | 0 A | 0 to64255 V | |
| 112 | GENERATORPHASE B AC RMS CURRENT | 1REGISTER (2 BYTES) LONG | READ | RMS current measured at the generator phase B output. | 1 A / bit | 0 A | 0 to64255 V | |
| 113 | GENERATORPHASE C AC RMS CURRENT | 1REGISTER (2 BYTES) LONG | READ | RMS current measured at the generator phase C output. | 1 A / bit | 0 A | 0 to64255 V | 0 to64255 V |
| 103 | GENERATOROVERALL POWER FACTOR | 1REGISTER (2 BYTES) LONG | READ | The average power factor of the generator. See APPENDIXA for a programming example. | 1/16384/ bit | -1.0 | -1.0 to1.0 | |
| 104 | GENERATOROVERALL POWER FACTOR LAGGING | 1REGISTER (2 BYTES) LONG | READ | Lead/lag status for generator average power factor. | 00 =Power factor leading | 01 =Power factor lagging | 10 =Error | 11 = Notavailable |
| 105 | GENERATORTOTAL PERCENT KW | 1REGISTER (2 BYTES) LONG | READ | Total real power delivered by the generator, as apercentage of generator rated power. | 0.0078125% / bit | -251.00% | -251 to250.99 % | |
| 106 | GENERATORTOTAL REAL POWER | 2REGISTERS (4 BYTES) LONG | READ | Total real power delivered by the generator. | 1 W / bit | -2000000000W | -2000000000to +2211081215W | |
| 117 | GENERATORPHASE A REAL POWER | 2REGISTERS (4 BYTES) LONG | READ | The real power delivered by phase A of the generator. | 1 W / bit | -2000000000W | -2000000000to +2211081215W | |
| 119 | GENERATORPHASE B REAL POWER | 2REGISTERS (4 BYTES) LONG | READ | The real power delivered by phase B of the generator. | 1 W / bit | -2000000000W | -2000000000to +2211081215W | |
| 121 | GENERATORPHASE C REAL POWER | 2REGISTERS (4 BYTES) LONG | READ | The real power delivered by phase C of the generator. | 1 W / bit | -2000000000W | -2000000000to +2211081215W | |
| 123 | GENERATORPHASE A APPARENT POWER | 2REGISTERS (4 BYTES) LONG | READ | The apparent power delivered by phase A of thegenerator. | 1 VA /bit | -2000000000VA | -2000000000to +2211081215VA | |
| 125 | GENERATORPHASE B APPARENT POWER | 2REGISTERS (4 BYTES) LONG | READ | The apparent power delivered by phase B of thegenerator. | 1 VA /bit | -2000000000VA | -2000000000to +2211081215VA | |
| 127 | GENERATORPHASE C APPARENT POWER | 2REGISTERS (4 BYTES) LONG | READ | The apparent power delivered by phase C of thegenerator. | 1 VA /bit | -2000000000VA | -2000000000to +2211081215VA | |
| 129 | GENERATORPHASE A REACTIVE POWER | 2REGISTERS (4 BYTES) LONG | READ | The reactive power delivered by phase A of thegenerator. | 1 VAr /bit | -2000000000VAr | -2000000000to +2211081215VAr | |
| 131 | GENERATORPHASE B REACTIVE POWER | 2REGISTERS (4 BYTES) LONG | READ | The reactive power delivered by phase B of thegenerator. | 1 VAr /bit | -2000000000VAr | -2000000000to +2211081215VAr | |
| 133 | GENERATORPHASE C REACTIVE POWER | 2REGISTERS (4 BYTES) LONG | READ | The reactive power delivered by phase C of thegenerator. | 1 VAr /bit | -2000000000VAr | -2000000000to +2211081215VAr | |
| 135 | GENERATORPHASE A POWER FACTOR | 1REGISTER (2 BYTES) LONG | READ | The power factor of phase A of the generator. | 1/16384/ bit | -1.0 | -1.0 to 1.0 | |
| 136 | GENERATORPHASE B POWER FACTOR | 1REGISTER (2 BYTES) LONG | READ | The power factor of phase B of the generator. | 1/16384/bit | -1.0 | -1.0 to 1.0 | |
| 137 | GENERATORPHASE C POWER FACTOR | 1REGISTER (2 BYTES) LONG | READ | The power factor of phase C of the generator. | 1/16384/bit | -1.0 | -1.0 to1.0 | |
| 138 | GENERATORTOTAL APPARENT POWER | 2REGISTERS (4 BYTES) LONG | READ | The total apparent power delivered by the generator. | 1 VA/bit | -2000000000VA | -2000000000to +2211081215VA | |
| 140 | GENERATORTOTAL PERCENT KVA | 1REGISTER (2 BYTES) LONG | READ | The total apparent power delivered by the generator, as a percentage of generator rated apparent power. | 0.0078125% / bit | -251.00% | -251 to 250.99 % | |
| 141 | GENERATORTOTAL REACTIVE POWER | 2REGISTERS (4 BYTES) LONG | READ | The total reactive power delivered by the generator. | 1 VAR/bit | -2000000000VAr | -2000000000to +2211081215VAr | |
| 143 | GENERATORTOTAL PERCENT KVAR | 1REGISTER (2 BYTES) LONG | READ | The total reactive power delivered by the generator, asa percentage of generator rated reactive power. | 0.0078125% / bit | -251.00% | -251 to 250.99 % | |
| 144 | GENERATORTOTAL KW HOURS EXPORT | 2REGISTERS (4 BYTES) LONG | READ | The total kilowatt-hours that have been exported by thegenerator. | 1 kWh /bit | 0 kWh | 0 to4211081215kWh | |
| 146 | GENERATORTOTAL KVAR HOURS EXPORT | 2REGISTERS (4 BYTES) LONG | READ | The total kilovar-hours that have been exported by thegenerator. | 1 kVArh/ bit | 0 kVArh | 0 to4211081215kVArh | |
| 159 | GENERATORPHASE A POWER FACTOR LAGGING | 1REGISTER (2 BYTES) LONG | READ | Lead/lag status for generator phase A power factor. | 00 =Power factor leading | 01 =Power factor lagging | 10 =Error | 11 = Notavailable |
| 160 | GENERATORPHASE B POWER FACTOR LAGGING | 1REGISTER (2 BYTES) LONG | READ | Lead/lag status for generator phase B power factor. | 00 =Power factor leading | 01 =Power factor lagging | 10 =Error | 11 = Notavailable |
| 161 | GENERATORPHASE C POWER FACTOR LAGGING | 1REGISTER (2 BYTES) LONG | READ | Lead/lag status for generator phase C power factor. | 00 =Power factor leading | 01 =Power factor lagging | 10 =Error | 11 = Notavailable |
Cat M5X to Modbus TCP Integration Using a QuickServer Gateway
In many projects the EMCP controller is available on a serial Modbus link (Modbus RTU) or is otherwise not directly reachable by a supervisory system that expects Modbus TCP. In these cases, a protocol conversion gateway is used to read the required EMCP registers and present them over Ethernet as Modbus TCP holding registers.
Chipkin’s product page for this application is here: CatM5X to Modbus TCP QuickServer Gateway
Typical engineering steps include (1) confirming which EMCP register blocks are required (electrical output, energy totals, power factor, etc.), (2) defining word order for multi-register values, (3) choosing refresh rates appropriate for the data (for example, faster for live electrical measurements and slower for energy counters), and (4) validating scaling and units so values match the generator display and commissioning instruments.
If you are mapping these values into BACnet, Niagara, SCADA tags, or a historian, it is recommended to carry units and scale factors through the entire point naming / metadata process so that operators and analytics systems do not misinterpret the raw values.
Frequently Asked Questions (FAQ)
Are the register numbers in this table Modbus “40000” style addresses?
The table preserves the register identifiers exactly as provided (for example, “100”, “102”, “163”). Different Modbus clients represent holding register addresses differently (0-based vs 1-based, and with or without a 4xxxx prefix). Confirm your client’s convention and apply any required offset in the client configuration.
How do I interpret the scale factors such as 1/128 Hz per bit or 0.0078125% per bit?
These fields indicate that the register value is a scaled integer. For example, if a frequency register is scaled at 1/128 Hz per bit, the engineering value is (raw_value / 128) Hz. Percentage values often use 0.0078125% per bit (which equals 1/128 percent per bit). Use the scale shown in the table and do not assume all points share the same scaling.
What should I watch for with 2-register (4-byte) values?
For values described as “2REGISTERS (4 BYTES) LONG”, confirm the word order expected by your Modbus client/gateway. If the value appears incorrect by orders of magnitude or changes erratically, word order (endianness) is a primary suspect.
Can I use these registers for trending and energy reporting?
Yes, but choose polling/trending rates consistent with the signal. Live electrical values (voltage, current, power) are typically sampled more frequently than accumulated counters (kWh, kVArh). Also ensure your system handles signed ranges where negative values are allowed (for example real/reactive power ranges shown in the table).
Can Chipkin provide the full EMCP Modbus register manual?
In some cases, yes. The availability of full documentation depends on the specific project context and documentation rights. If you require the complete manual, contact Chipkin with your controller model, EMCP version, and the scope of data required.