Easy Modbus
  1. Home
  2. Modbus register maps
  3. SmartGen
  4. HGM9510N / HGM9520N / HGM9530N

Generator controller · Modbus register map

SmartGen HGM9510N / HGM9520N / HGM9530N Modbus register map

Updated 16 October 2026

Short answer

SmartGen's HGM9510N, HGM9520N and HGM9530N are genset paralleling controllers; the HGM9520N variant also commands a mains breaker. Two RS485 ports speak Modbus RTU and the RJ45 port speaks Modbus TCP, all with the same register tables. Status, alarms and measurements are holding registers read with FC03; remote keys are FC05 coil writes; the clock and two load-share setpoints are FC06 writes. This map covers status words, voltages, currents, powers, engine values, breaker and genset state codes, counters and the remote command coils.

This page lists 134 Modbus registers for the SmartGen HGM9510N / HGM9520N / HGM9530N — 30 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from SmartGen’s own free documentation (linked below) and checked against it.

Manufacturer
SmartGen
Model
HGM9510N / HGM9520N / HGM9530N
Equipment type
Generator controller
Registers
134 (30 writable)
Transport
Modbus RTU, Modbus TCP
Default unit ID
1
Default serial
9600 baud, 8N1
TCP port
502
Documented addressing
0-based (the number printed is the address on the wire)
32-bit word order
CDAB low word first (word-swapped)
Also known as
HGM9520N, HGM9530N
Source document
HGM9510N/HGM9520N/HGM9530N Genset Controller Communication Protocol · rev. 2024-07-22 (v1.5)
Download CSV all columns JSON Manufacturer PDF ↗

Integration notes: SmartGen HGM9510N / HGM9520N / HGM9530N

Integration in brief

Poll register 0000 for mode and common alarm flags, 0260 for genset state, 0264/0268 for breaker states, and the measurement block 0120-0259. To start: send Remote Manual (coil 4), confirm bit 10 of register 0, send Remote Start (coil 0), then follow Generator Status until Normal Running.

Minimum registers to map

Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.

RegisterNameTypeWhyAccess
HR 0Summary Status WordBITMAP16Mode and common alarm flagsRead
HR 260Generator StatusUINT16Genset running stateRead
HR 264Gen Breaker (ATS) StatusUINT16Generator breaker stateRead
HR 146Gen UAUINT32 CDABGenerator phase A voltage (32-bit)Read
HR 166A Phase CurrentUINT16Phase A currentRead
HR 180Total Active PowerINT32 CDABTotal active power (32-bit)Read
HR 212Engine SpeedUINT16Engine speedRead
CO 0Remote Start Key (STARTS ENGINE)BITRemote start commandWrite

Enable Modbus control & writes

Set the controller address in the parameter menu (Controller Parameter Setting, default password 0318); the setting applies once saved. Each controller on a network needs a unique address.

Byte order & addressing

Network setup

Watch out for

SmartGen HGM9510N / HGM9520N / HGM9530N Modbus registers

Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.

134 of 134 shown
SmartGen HGM9510N / HGM9520N / HGM9530N Modbus register map
TableAddressNameDescriptionTypeOrderScaleUnitsAccessValues / bits
CO0doc 0000Remote Start Key (STARTS ENGINE)FC05 FF00 once = Start key; the documented procedure selects Manual mode first.BITWrite
CO1doc 0001Remote StopFC05 FF00 once = Stop key; puts the controller in Stop mode.BITWrite
CO3doc 0003Remote Auto ModeWrite FF00 once.BITWrite
CO4doc 0004Remote Manual ModeWrite FF00 once.BITWrite
CO5doc 0005Remote Gen Close (9510N/9530N) / Mains Close-Open (9520N)FC05 FF00 once. 9510N/9530N: gen breaker close. 9520N: mains close/open key.BITWrite
CO6doc 0006Remote Gen Open (9510N/9530N) / Gen Close-Open (9520N)FC05 FF00 once. 9510N/9530N: gen breaker open. 9520N: gen close/open key.BITWrite
CO7doc 0007Remote Up KeyWrite FF00 once.BITWrite
CO8doc 0008Remote Down KeyWrite FF00 once.BITWrite
CO11doc 0011Remote Confirm KeyWrite FF00 once.BITWrite
CO12doc 0012Remote Mute KeyWrite FF00 once.BITWrite
CO15doc 0015Remote Engine Fast StopFC05 FF00 once; fast engine stop.BITWrite
CO17doc 0017Remote Alarm ResetWrite FF00 once.BITWrite
CO20doc 0020Remote Output 1FF00 = active, 0000 = inactive.BITWrite
CO21doc 0021Remote Output 2FF00 = active, 0000 = inactive.BITWrite
CO22doc 0022Remote Output 3FF00 = active, 0000 = inactive.BITWrite
CO23doc 0023Remote Output 4FF00 = active, 0000 = inactive.BITWrite
CO24doc 0024Remote Output 5FF00 = active, 0000 = inactive.BITWrite
CO25doc 0025Remote Output 6FF00 = active, 0000 = inactive.BITWrite
CO26doc 0026Remote Output 7FF00 = active, 0000 = inactive.BITWrite
CO27doc 0027Remote Output 8FF00 = active, 0000 = inactive.BITWrite
CO31doc 0031Remote LockFF00 = remote lock on, 0000 = off; state is bit 12 of register 0.BITWrite
HR0doc 0000Summary Status WordCommon alarm classes and operating mode flags.BITMAP16Readbit 0 = Common Alarm; bit 1 = Common Shutdown Alarm; bit 2 = Common Warning Alarm; bit 3 = Common Trip and Stop Alarm; bit 4 = Common Trip Alarm; bit 5 = Common Safety Trip and Stop Alarm; bit 6 = Common Safety Trip Alarm; bit 7 = Common Block Alarm; bit 8 = In Test Mode; bit 9 = In Auto Mode; bit 10 = In Manual Mode; bit 11 = In Stop Mode; bit 12 = Remote Lock
HR1doc 0001Shutdown Alarms Word 1First word of the 15-word shutdown alarm field (0001-0015).BITMAP16Readbit 0 = Emergency Stop; bit 1 = Overspeed; bit 2 = Underspeed; bit 3 = Speed Signal Loss; bit 4 = Gen Overfrequency; bit 5 = Gen Underfrequency; bit 6 = Gen Overvoltage; bit 7 = Gen Undervoltage; bit 8 = Crank Failure; bit 9 = Gen Overcurrent; bit 10 = Current Imbalance; bit 11 = Earth Fault; bit 12 = Reverse Power; bit 13 = Over Power; bit 14 = Loss of Excitation; bit 15 = ECU Communication Failure
HR91doc 0091Warning Alarms Word 1First word of the 15-word warning field (0091-0105).BITMAP16Readbit 0 = Emergency Stop; bit 1 = Overspeed; bit 2 = Underspeed; bit 3 = Speed Signal Loss; bit 4 = Gen Overfrequency; bit 5 = Gen Underfrequency; bit 6 = Gen Overvoltage; bit 7 = Gen Undervoltage; bit 8 = Crank Failure; bit 9 = Gen Overcurrent; bit 10 = Current Imbalance; bit 11 = Earth Fault; bit 12 = Reverse Power; bit 13 = Over Power; bit 14 = Loss of Excitation; bit 15 = ECU Communication Failure
HR106doc 0106Digital Input StatusPhysical input states.BITMAP16Readbit 0 = Emergency Stop Input; bit 1 = Aux. Input 1; bit 2 = Aux. Input 2; bit 3 = Aux. Input 3; bit 4 = Aux. Input 4; bit 5 = Aux. Input 5; bit 6 = Aux. Input 6; bit 7 = Aux. Input 7; bit 8 = Aux. Input 8; bit 9 = Aux. Input 9; bit 10 = Aux. Input 10; bit 11 = Aux. Input 11; bit 12 = Aux. Input 12; bit 13 = Aux. Input 13; bit 14 = Aux. Input 14; bit 15 = Aux. Input 15
HR108doc 0108Relay Output StatusPhysical output states.BITMAP16Readbit 0 = Fuel Output; bit 1 = Crank Output; bit 2 = Aux. Output 1; bit 3 = Aux. Output 2; bit 4 = Aux. Output 3; bit 5 = Aux. Output 4; bit 6 = Aux. Output 5; bit 7 = Aux. Output 6; bit 8 = Aux. Output 7; bit 9 = Aux. Output 8
HR114doc 0114Mains / Gen Switch StatusBITMAP16Readbit 0 = Mains Normal; bit 1 = Mains On Load; bit 2 = Gen Normal; bit 3 = Gen Closed
HR120doc 0120Busbar/Mains UABUINT32CDAB× 0.1VRead
HR122doc 0122Busbar/Mains UBCUINT32CDAB× 0.1VRead
HR124doc 0124Busbar/Mains UCAUINT32CDAB× 0.1VRead
HR126doc 0126Busbar/Mains UAUINT32CDAB× 0.1VRead
HR128doc 0128Busbar/Mains UBUINT32CDAB× 0.1VRead
HR130doc 0130Busbar/Mains UCUINT32CDAB× 0.1VRead
HR132doc 0132Busbar/Mains UA Phase AngleUINT16× 0.1°Read
HR133doc 0133Busbar/Mains UB Phase AngleUINT16× 0.1°Read
HR134doc 0134Busbar/Mains UC Phase AngleUINT16× 0.1°Read
HR135doc 0135Busbar/Mains FrequencyUINT16× 0.01HzRead
HR140doc 0140Gen UABUINT32CDAB× 0.1VRead
HR142doc 0142Gen UBCUINT32CDAB× 0.1VRead
HR144doc 0144Gen UCAUINT32CDAB× 0.1VRead
HR146doc 0146Gen UAUINT32CDAB× 0.1VRead
HR148doc 0148Gen UBUINT32CDAB× 0.1VRead
HR150doc 0150Gen UCUINT32CDAB× 0.1VRead
HR152doc 0152Gen UA Phase AngleUINT16× 0.1°Read
HR153doc 0153Gen UB Phase AngleUINT16× 0.1°Read
HR154doc 0154Gen UC Phase AngleUINT16× 0.1°Read
HR155doc 0155Gen FrequencyUINT16× 0.01HzRead
HR156doc 0156Sync Voltage DifferenceINT16× 0.1VRead
HR157doc 0157Sync Frequency DifferenceINT16× 0.01HzRead
HR158doc 0158Sync Phase DifferenceINT16× 0.1°Read
HR159doc 0159Gen Active Load ActualCurrent generator active power percentage.INT16× 0.1%Read
HR160doc 0160Gen Active Load TargetINT16× 0.1%Read
HR161doc 0161Gen Reactive Load ActualINT16× 0.1%Read
HR162doc 0162Gen Reactive Load TargetINT16× 0.1%Read
HR163doc 0163Governor OutputSpeed bias output, -100.0 to 100.0 %.INT16× 0.1%Read
HR164doc 0164AVR OutputVoltage bias output, -100.0 to 100.0 %.INT16× 0.1%Read
HR166doc 0166A Phase CurrentUINT16× 0.1ARead
HR167doc 0167B Phase CurrentUINT16× 0.1ARead
HR168doc 0168C Phase CurrentUINT16× 0.1ARead
HR169doc 0169Earth CurrentUINT16× 0.1ARead
HR170doc 0170A Phase Current AngleUINT16× 0.1°Read
HR171doc 0171B Phase Current AngleUINT16× 0.1°Read
HR172doc 0172C Phase Current AngleUINT16× 0.1°Read
HR173doc 0173Earth Current AngleUINT16× 0.1°Read
HR174doc 0174A Phase Active PowerINT32CDAB× 0.1kWRead
HR176doc 0176B Phase Active PowerINT32CDAB× 0.1kWRead
HR178doc 0178C Phase Active PowerINT32CDAB× 0.1kWRead
HR180doc 0180Total Active PowerINT32CDAB× 0.1kWRead
HR182doc 0182A Phase Reactive PowerINT32CDAB× 0.1kvarRead
HR184doc 0184B Phase Reactive PowerINT32CDAB× 0.1kvarRead
HR186doc 0186C Phase Reactive PowerINT32CDAB× 0.1kvarRead
HR188doc 0188Total Reactive PowerINT32CDAB× 0.1kvarRead
HR190doc 0190A Phase Apparent PowerINT32CDAB× 0.1kVARead
HR192doc 0192B Phase Apparent PowerINT32CDAB× 0.1kVARead
HR194doc 0194C Phase Apparent PowerINT32CDAB× 0.1kVARead
HR196doc 0196Total Apparent PowerINT32CDAB× 0.1kVARead
HR212doc 0212Engine SpeedUINT16rpmRead
HR213doc 0213Battery VoltageUINT16× 0.1VRead
HR214doc 0214Charger (D+) VoltageUINT16× 0.1VRead
HR220doc 0220Engine Temperature (sensor)Analog temperature sensor; range -50 to 10000.INT16°CRead
HR222doc 0222Oil Pressure (sensor)UINT16kPaRead
HR224doc 0224Fuel Level (sensor)UINT16%Read
HR232doc 0232Load PercentageRange -100 to 100 %; listed as signed because the range is negative.INT16%Read
HR234doc 0234ECU Oil TemperatureECU engines only.INT16°CRead
HR239doc 0239ECU Exhaust TemperatureECU engines only.INT16°CRead
HR241doc 0241ECU Fuel ConsumptionECU engines only.INT16× 0.1L/hRead
HR242doc 0242ECU Accumulated FuelECU engines only.UINT32CDABLRead
HR251doc 0251Mains Active LoadINT16× 0.1%Read
HR252doc 0252Mains Reactive LoadINT16× 0.1%Read
HR253doc 0253Mains Active PowerINT32CDAB× 0.1kWRead
HR255doc 0255Mains Reactive PowerINT32CDAB× 0.1kvarRead
HR257doc 0257Mains Apparent PowerINT32CDAB× 0.1kVARead
HR260doc 0260Generator StatusUINT16Read0 = Standby; 1 = Preheat; 2 = Fuel Output; 3 = Crank; 4 = Crank Rest; 5 = Safety Run; 6 = Start Idle; 7 = High Speed Warming Up; 8 = Wait for Load; 9 = Normal Running; 10 = High Speed Cooling; 11 = Stop Idle; 12 = ETS; 13 = Wait for Stop; 14 = After Stop; 15 = Stop Failure
HR262doc 0262Remote Start StatusUINT16Read0 = No Delay; 1 = Start Delay; 2 = Stop Delay
HR264doc 0264Gen Breaker (ATS) StatusUINT16Read0 = Synchronizing; 1 = Close Delay; 2 = Wait for Closing; 3 = Closed; 4 = Unloading; 5 = Open Delay; 6 = Wait for Opening; 7 = Opened
HR266doc 0266Mains StatusUINT16Read0 = Normal; 1 = Normal Delay; 2 = Abnormal; 3 = Abnormal Delay
HR268doc 0268Mains Breaker (ATS) StatusUINT16Read0 = Synchronizing; 1 = Close Delay; 2 = Wait for Closing; 3 = Closed; 4 = Unloading; 5 = Open Delay; 6 = Wait for Opening; 7 = Opened
HR270doc 0270Accumulated Running HoursUINT16hRead
HR271doc 0271Accumulated Running MinutesUINT16minRead
HR272doc 0272Accumulated Running SecondsUINT16sRead
HR273doc 0273Accumulated Start CountUINT16Read
HR274doc 0274Accumulated Energy kWhUINT32CDAB× 0.1kWhRead
HR276doc 0276Accumulated Energy kvarhUINT32CDAB× 0.1kvarhRead
HR278doc 0278Accumulated Energy kVAhUINT32CDAB× 0.1kVAhRead
HR282doc 0282Maintenance Left HoursUINT16hRead
HR283doc 0283Maintenance Left MinutesUINT16minRead
HR284doc 0284Maintenance Left SecondsUINT16sRead
HR288doc 0288Controller ModelModel code number.UINT16Read
HR289doc 0289Software VersionUINT16× 0.1Read
HR290doc 0290Hardware VersionUINT16× 0.1Read
HR291doc 0291Release YearLast two digits.UINT16Read
HR292doc 0292Release MonthUINT16Read
HR293doc 0293Release DayUINT16Read
HR296doc 0296Controller Time: YearLast two digits; writable with FC06.UINT16Read/write
HR297doc 0297Controller Time: MonthWritable with FC06.UINT16Read/write
HR298doc 0298Controller Time: DayWritable with FC06.UINT16Read/write
HR299doc 0299Controller Time: WeekdayWritable with FC06.UINT16Read/write
HR300doc 0300Controller Time: HourWritable with FC06.UINT16Read/write
HR301doc 0301Controller Time: MinuteWritable with FC06.UINT16Read/write
HR302doc 0302Controller Time: SecondWritable with FC06.UINT16Read/write
HR303doc 0303Module MSC IDUnit ID on the load-sharing (MSC) bus, 0-31.UINT16Read
HR305doc 0305Total Modules on MSCNumber of controllers seen on the MSC bus.UINT16Read
HR306doc 0306Multi-unit Total Active PowerSum across paralleled sets.INT32CDAB× 0.1kWRead
HR407doc 0407Current Run Time HoursTime of the current run.UINT16hRead
HR408doc 0408Current Run Time MinutesUINT16minRead
HR409doc 0409Current Run Time SecondsUINT16sRead
HR410doc 0410Current Run EnergyINT32CDAB× 0.1kWhRead
HR412doc 0412THD 1INT16× 0.1%Read
HR413doc 0413THD 2INT16× 0.1%Read
HR414doc 0414THD 3INT16× 0.1%Read
HR415doc 0415Gen Voltage UnbalanceINT16× 0.1%Read
HR511doc 0511Alarm QuantityNumber of active alarms.UINT16Read
HR4368Load Share Active Power SetpointWrite-only, FC06; 0-1000 = 0.0-100.0 %. Used in gen control (constant power) mode.UINT16× 0.1%Write
HR4370Load Share Reactive Power SetpointWrite-only, FC06; 0-1000 = 0.0-100.0 %.UINT16× 0.1%Write

Notes on this map

Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.

Questions about the SmartGen HGM9510N / HGM9520N / HGM9530N

What Modbus registers does the SmartGen HGM9510N / HGM9520N / HGM9530N have?

This map lists 134 registers: 21 coils, 113 holding registers. 30 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.

Are the SmartGen HGM9510N / HGM9520N / HGM9530N Modbus addresses 0-based or 1-based?

The manufacturer's document numbers registers 0-based (the number printed is the address on the wire). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. Tables print a decimal 'Modbus Address' (used here as the wire address) and a 1-based 'PLC Address' (40001 style). The document's examples confirm it: address 0174 is requested as 0x00AE and the load-share setpoint 4368 as 0x1110. Bit flags are printed as word.bit, e.g. 0000.10 = bit 10 of register 0.

What byte order does the SmartGen HGM9510N / HGM9520N / HGM9530N use for 32-bit values?

Multi-register values in this map use CDAB (low word first (word-swapped)). Set your client to this order for every 32/64-bit value in the table.

What are the minimum Modbus registers to integrate the SmartGen HGM9510N / HGM9520N / HGM9530N?

Start with HR 0 Summary Status Word (Mode and common alarm flags); HR 260 Generator Status (Genset running state); HR 264 Gen Breaker (ATS) Status (Generator breaker state); HR 146 Gen UA (Generator phase A voltage (32-bit)); HR 166 A Phase Current (Phase A current); HR 180 Total Active Power (Total active power (32-bit)); HR 212 Engine Speed (Engine speed); CO 0 Remote Start Key (STARTS ENGINE) (Remote start command).

How do I enable Modbus control of the SmartGen HGM9510N / HGM9520N / HGM9530N?

Set the controller address in the parameter menu (Controller Parameter Setting, default password 0318); the setting applies once saved. Each controller on a network needs a unique address.

Where is the official SmartGen HGM9510N / HGM9520N / HGM9530N Modbus documentation?

The source is HGM9510N/HGM9520N/HGM9530N Genset Controller Communication Protocol, revision 2024-07-22 (v1.5), published free by SmartGen at https://www.smartgen.cn/yun/data/download/HGM9510N_HGM9520N_HGM9530N_Protocol_en.pdf.

More SmartGen Modbus register maps

Source: HGM9510N/HGM9520N/HGM9530N Genset Controller Communication Protocol · rev. 2024-07-22 (v1.5). Register numbers, types, scaling and units are reproduced as published; descriptions are our own.