{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Cummins", "model": "PCC 1301", "models": [ "PCC 1301", "PCC1301", "PowerCommand 1301" ], "vendor_website": "cummins.com", "description": "Generator set control, Modbus RTU on RS485 (TB2)", "revision": 1, "revised": "2026-10-15", "source": "Cummins, Modbus Register Mapping (Control), A029X159 Issue 26 (6-2020): tables 27 and 28", "sources": [ { "title": "Modbus Register Mapping, Control", "version": "A029X159 (Issue 26)", "date": "2020-06", "note": "section 12, tables 27 (registers marked PCC1301) and 28 (PCC1301 limits, used instead of table 27's)" } ], "notes": [ "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.", "Table 28 gives the PCC1301 its own limits and options for some registers (battle short input, voltage regulator calibration, voltage display adjust); those are used here.", "32 one-character text registers left out." ], "x_status": "official", "protocol": "rtu", "byte_order": "big", "word_order": "big", "address_base": 1, "max_read_registers": 16, "registers": [ {"name": "Save Trims", "group": "Commands and communication", "area": "holding", "address": 4, "type": "uint16", "access": "RW", "enum": {"0": "No action", "1": "Save Unconditional"}}, {"name": "Controller Type", "group": "Status", "area": "holding", "address": 9, "type": "uint16"}, {"name": "Operation Mode Switch Position", "group": "Status", "area": "holding", "address": 10, "type": "uint16", "enum": {"0": "Off", "1": "Auto", "2": "Manual"}}, {"name": "Genset State", "group": "Generator", "area": "holding", "address": 11, "type": "uint16", "enum": {"0": "Ready", "1": "Precrank", "2": "Ramp", "3": "Running"}}, {"name": "Active Fault", "group": "Faults", "area": "holding", "address": 12, "type": "uint16"}, {"name": "Active Fault Type", "group": "Faults", "area": "holding", "address": 13, "type": "uint16", "enum": {"0": "Normal", "1": "Warning", "4": "Shutdown"}}, {"name": "NFPA 110 fault register", "group": "Faults", "area": "holding", "address": 16, "type": "uint16"}, {"name": "Extended Annunciation fault register", "group": "Faults", "area": "holding", "address": 17, "type": "uint16"}, {"name": "Alternator L1-N Voltage", "group": "Generator", "area": "holding", "address": 18, "type": "uint16", "unit": "V"}, {"name": "Alternator L2-N Voltage", "group": "Generator", "area": "holding", "address": 19, "type": "uint16", "unit": "V"}, {"name": "Alternator L3-N Voltage", "group": "Generator", "area": "holding", "address": 20, "type": "uint16", "unit": "V"}, {"name": "Alternator L1-L2 Voltage", "group": "Generator", "area": "holding", "address": 22, "type": "uint16", "unit": "V"}, {"name": "Alternator L2-L3 Voltage", "group": "Generator", "area": "holding", "address": 23, "type": "uint16", "unit": "V"}, {"name": "Alternator L3-L1 Voltage", "group": "Generator", "area": "holding", "address": 24, "type": "uint16", "unit": "V"}, {"name": "Alt Voltage", "group": "Generator", "area": "holding", "address": 25, "type": "uint16", "unit": "V"}, {"name": "Alternator L1 Current", "group": "Generator", "area": "holding", "address": 26, "type": "uint16", "scale": 0.1, "unit": "A"}, {"name": "Alternator L2 Current", "group": "Generator", "area": "holding", "address": 27, "type": "uint16", "scale": 0.1, "unit": "A"}, {"name": "Alternator L3 Current", "group": "Generator", "area": "holding", "address": 28, "type": "uint16", "scale": 0.1, "unit": "A"}, {"name": "Genset Average Current", "group": "Generator", "area": "holding", "address": 29, "type": "uint16", "scale": 0.1, "unit": "A"}, {"name": "Alternator Output Volt-Amperes (Phase A)", "group": "Generator", "area": "holding", "address": 40, "type": "uint16", "unit": "kVA"}, {"name": "Alternator Output Volt-Amperes (Phase B)", "group": "Generator", "area": "holding", "address": 41, "type": "uint16", "unit": "kVA"}, {"name": "Alternator Output Volt-Amperes (Phase C)", "group": "Generator", "area": "holding", "address": 42, "type": "uint16", "unit": "kVA"}, {"name": "Alternator Output Volt-Amperes (Total)", "group": "Generator", "area": "holding", "address": 43, "type": "uint16", "unit": "kVA"}, {"name": "Average Alt Line Frequency", "group": "Generator", "area": "holding", "address": 44, "type": "uint16", "scale": 0.1, "unit": "%"}, {"name": "Rated Alternator L1 Current (%)", "group": "Generator", "area": "holding", "address": 58, "type": "uint16", "scale": 0.1, "unit": "%"}, {"name": "Rated Alternator L2 Current (%)", "group": "Generator", "area": "holding", "address": 59, "type": "uint16", "scale": 0.1, "unit": "%"}, {"name": "Rated Alternator L3 Current (%)", "group": "Generator", "area": "holding", "address": 60, "type": "uint16", "scale": 0.1, "unit": "%"}, {"name": "Battery Voltage", "group": "Engine", "area": "holding", "address": 61, "type": "uint16", "scale": 0.1, "unit": "V"}, {"name": "Oil Pressure", "group": "Engine", "area": "holding", "address": 62, "type": "uint16", "unit": "kPa"}, {"name": "Coolant Temperature", "group": "Engine", "area": "holding", "address": 64, "type": "uint16", "scale": 0.1, "unit": "°C"}, {"name": "Engine Speed", "group": "Engine", "area": "holding", "address": 68, "type": "uint16", "unit": "rpm"}, {"name": "Total Runs", "group": "Status", "area": "holding", "address": 69, "type": "uint16"}, {"name": "Engine Run Time (High Byte)", "group": "Engine", "area": "holding", "address": 70, "type": "uint16", "unit": "s"}, {"name": "Engine Run Time (Low Byte)", "group": "Engine", "area": "holding", "address": 71, "type": "uint16", "unit": "s"}, {"name": "AUX101 Speed Bias", "group": "Engine", "area": "holding", "address": 210, "type": "int16", "scale": 0.01, "unit": "rpm"}, {"name": "AUX101 Voltage Bias", "group": "Generator", "area": "holding", "address": 211, "type": "int16", "scale": 0.01, "unit": "V"}, {"name": "Genset start stop control via Modbus", "group": "Commands and communication", "area": "holding", "address": 300, "type": "uint16", "access": "RW", "enum": {"0": "Stop", "1": "Start"}}, {"name": "Fault reset via Modbus (No logical)", "group": "Faults", "area": "holding", "address": 301, "type": "uint16", "access": "RW", "enum": {"0": "Inactive", "1": "Active"}}, {"name": "Genset E-stop switch via Modbus (no logical)", "group": "Commands and communication", "area": "holding", "address": 302, "type": "uint16", "access": "RW", "enum": {"0": "E-stop Inactive", "1": "E-stop Active"}}, {"name": "Alternator Nominal Voltage", "group": "Settings", "area": "holding", "address": 3000, "type": "uint16", "unit": "V", "access": "RW", "write_min": 190, "write_max": 600}, {"name": "Alternator Frequency Switch", "group": "Settings", "area": "holding", "address": 3001, "type": "uint16", "access": "RW", "enum": {"0": "60 Hz", "1": "50 Hz"}}, {"name": "Connection Type", "group": "Settings", "area": "holding", "address": 3003, "type": "uint16", "access": "RW", "enum": {"0": "Delta", "1": "Wye"}}, {"name": "Glow Plug Enable", "group": "Settings", "area": "holding", "address": 3004, "type": "uint16", "access": "RW", "enum": {"0": "Disable", "1": "Enable"}}, {"name": "Charging Alternator Functions Disable", "group": "Settings", "area": "holding", "address": 3005, "type": "uint16", "access": "RW", "enum": {"0": "Disable", "1": "Enable"}}, {"name": "Start Time Delay", "group": "Settings", "area": "holding", "address": 3006, "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 300}, {"name": "Stop Time Delay", "group": "Settings", "area": "holding", "address": 3007, "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 600}, {"name": "Cycle Crank Attempts", "group": "Settings", "area": "holding", "address": 3008, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 7}, {"name": "Cycle Crank Engage Time", "group": "Settings", "area": "holding", "address": 3009, "type": "uint16", "unit": "s", "access": "RW", "write_min": 3, "write_max": 30}, {"name": "Cycle Crank Reset Time", "group": "Commands and communication", "area": "holding", "address": 3010, "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 60}, {"name": "Fault bypass (battle short) feature enable", "group": "Faults", "area": "holding", "address": 3011, "type": "uint16", "access": "RW", "enum": {"0": "Disable", "1": "Enable"}}, {"name": "Battle Short Switch Input", "group": "Settings", "area": "holding", "address": 3012, "type": "uint16", "access": "RW", "enum": {"0": "None", "1": "Configurable Input #1", "2": "Configurable Input #2", "3": "Configurable Input #3"}}, {"name": "AVR Enable", "group": "Settings", "area": "holding", "address": 3013, "type": "uint16", "access": "RW", "enum": {"0": "Disable", "1": "Enable"}}, {"name": "V/Hz Knee Frequency", "group": "Settings", "area": "holding", "address": 3014, "type": "int16", "scale": 0.1, "unit": "Hz", "access": "RW", "write_min": 0.0, "write_max": 100.0}, {"name": "V/Hz Rolloff Slope", "group": "Settings", "area": "holding", "address": 3015, "type": "uint16", "scale": 0.1, "unit": "%V/Hz", "access": "RW", "write_min": 0.0, "write_max": 5.0}, {"name": "AVR Gain Adjust", "group": "Settings", "area": "holding", "address": 3016, "type": "uint16", "unit": "%", "access": "RW", "write_min": 5, "write_max": 1000}, {"name": "AVR K2 Gain Adjust", "group": "Settings", "area": "holding", "address": 3017, "type": "uint16", "unit": "%", "access": "RW", "write_min": 5, "write_max": 1000}, {"name": "AVR D Gain Adjust", "group": "Settings", "area": "holding", "address": 3018, "type": "uint16", "unit": "%", "access": "RW", "write_min": 95, "write_max": 105}, {"name": "Electronic Governor Enable", "group": "Settings", "area": "holding", "address": 3019, "type": "uint16", "access": "RW", "enum": {"0": "Disable", "1": "Enable"}}, {"name": "Initial Crank Fueling Command", "group": "Commands and communication", "area": "holding", "address": 3020, "type": "uint16", "scale": 0.1, "unit": "%", "access": "RW", "write_min": 0.0, "write_max": 99.9}, {"name": "Initial Crank Fueling Period", "group": "Settings", "area": "holding", "address": 3021, "type": "uint16", "scale": 0.1, "unit": "%", "access": "RW", "write_min": 0.0, "write_max": 10.0}, {"name": "Crank Fueling Ramp Rate", "group": "Settings", "area": "holding", "address": 3022, "type": "uint16", "scale": 0.1, "unit": "%/s", "access": "RW", "write_min": 5.0, "write_max": 100.0}, {"name": "Maximum Crank Fueling", "group": "Settings", "area": "holding", "address": 3023, "type": "uint16", "scale": 0.1, "unit": "%", "access": "RW", "write_min": 50.0, "write_max": 100.0}, {"name": "Governor Gain Adjust", "group": "Settings", "area": "holding", "address": 3024, "type": "uint16", "unit": "%", "access": "RW", "write_min": 5, "write_max": 1000}, {"name": "Gov K2 Gain Adjust", "group": "Settings", "area": "holding", "address": 3025, "type": "uint16", "unit": "%", "access": "RW", "write_min": 5, "write_max": 1000}, {"name": "Gov D Gain Adjust", "group": "Settings", "area": "holding", "address": 3026, "type": "uint16", "unit": "%", "access": "RW", "write_min": 95, "write_max": 105}, {"name": "Crank Exit Fueling Command", "group": "Commands and communication", "area": "holding", "address": 3027, "type": "uint16", "scale": 0.1, "unit": "%", "access": "RW", "write_min": 0.0, "write_max": 100.0}, {"name": "Dither Factor", "group": "Settings", "area": "holding", "address": 3028, "type": "uint16", "unit": "%", "access": "RW", "write_min": 0, "write_max": 30}, {"name": "Governor Ramp Time", "group": "Settings", "area": "holding", "address": 3029, "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 15000}, {"name": "Governor Enable Speed", "group": "Settings", "area": "holding", "address": 3030, "type": "uint16", "unit": "rpm", "access": "RW", "write_min": 0, "write_max": 1400}, {"name": "Minimum Governor Duty Cycle", "group": "Settings", "area": "holding", "address": 3031, "type": "uint16", "unit": "%", "access": "RW", "write_min": 0, "write_max": 100}, {"name": "Maximum Governor Duty Cycle", "group": "Settings", "area": "holding", "address": 3032, "type": "uint16", "unit": "%", "access": "RW", "write_min": 0, "write_max": 100}, {"name": "Configurable Input #1 Fault Level Response", "group": "Faults", "area": "holding", "address": 3065, "type": "uint16", "access": "RW", "enum": {"0": "None", "1": "Warning", "2": "Shutdown"}}, {"name": "Configurable Input #2 Fault Level Response", "group": "Faults", "area": "holding", "address": 3066, "type": "uint16", "access": "RW", "enum": {"0": "None", "1": "Warning", "2": "Shutdown"}}, {"name": "Configurable Customer Output 1", "group": "Settings", "area": "holding", "address": 3067, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 65535}, {"name": "Configurable Customer Output 2", "group": "Settings", "area": "holding", "address": 3068, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 65535}, {"name": "Voltage Regulator Calibration 60Hz", "group": "Settings", "area": "holding", "address": 3069, "type": "uint16", "scale": 0.01, "unit": "%", "access": "RW", "write_min": 60.0, "write_max": 140.0, "comment": "The manual gives a multiplier of 0.0001 in %; 10000 is 100 %, so the scale here is 0.01."}, {"name": "Voltage Regulator Calibration 50Hz", "group": "Settings", "area": "holding", "address": 3070, "type": "uint16", "scale": 0.01, "unit": "%", "access": "RW", "write_min": 60.0, "write_max": 140.0, "comment": "The manual gives a multiplier of 0.0001 in %; 10000 is 100 %, so the scale here is 0.01."}, {"name": "Frequency Adjust Trim", "group": "Settings", "area": "holding", "address": 3071, "type": "int16", "scale": 0.1, "unit": "Hz", "access": "RW", "write_min": -60.0, "write_max": 60.0}, {"name": "Alternator L1-N 60Hz Voltage Display Adjust", "group": "Settings", "area": "holding", "address": 3072, "type": "uint16", "scale": 0.01, "unit": "%", "access": "RW", "write_min": 60.0, "write_max": 140.0, "comment": "The manual gives a multiplier of 0.0001 in %; 10000 is 100 %, so the scale here is 0.01."}, {"name": "Alternator L2-N 60Hz Voltage Display Adjust", "group": "Settings", "area": "holding", "address": 3073, "type": "uint16", "scale": 0.01, "unit": "%", "access": "RW", "write_min": 60.0, "write_max": 140.0, "comment": "The manual gives a multiplier of 0.0001 in %; 10000 is 100 %, so the scale here is 0.01."}, {"name": "Alternator L3-N 60Hz Voltage Display Adjust", "group": "Settings", "area": "holding", "address": 3074, "type": "uint16", "scale": 0.01, "unit": "%", "access": "RW", "write_min": 60.0, "write_max": 140.0, "comment": "The manual gives a multiplier of 0.0001 in %; 10000 is 100 %, so the scale here is 0.01."}, {"name": "Alternator L1-N 50Hz Voltage Display Adjust", "group": "Settings", "area": "holding", "address": 3075, "type": "uint16", "scale": 0.01, "unit": "%", "access": "RW", "write_min": 60.0, "write_max": 140.0, "comment": "The manual gives a multiplier of 0.0001 in %; 10000 is 100 %, so the scale here is 0.01."}, {"name": "Alternator L2-N 50Hz Voltage Display Adjust", "group": "Settings", "area": "holding", "address": 3076, "type": "uint16", "scale": 0.01, "unit": "%", "access": "RW", "write_min": 60.0, "write_max": 140.0, "comment": "The manual gives a multiplier of 0.0001 in %; 10000 is 100 %, so the scale here is 0.01."}, {"name": "Alternator L3-N 50Hz Voltage Display Adjust", "group": "Settings", "area": "holding", "address": 3077, "type": "uint16", "scale": 0.01, "unit": "%", "access": "RW", "write_min": 60.0, "write_max": 140.0, "comment": "The manual gives a multiplier of 0.0001 in %; 10000 is 100 %, so the scale here is 0.01."}, {"name": "Alternator L1 60Hz Current Adjust", "group": "Settings", "area": "holding", "address": 3078, "type": "uint16", "scale": 0.001, "unit": "%", "access": "RW", "write_min": 8.0, "write_max": 12.0}, {"name": "Alternator L2 60Hz Current Adjust", "group": "Settings", "area": "holding", "address": 3079, "type": "uint16", "scale": 0.001, "unit": "%", "access": "RW", "write_min": 8.0, "write_max": 12.0}, {"name": "Alternator L1 50Hz Current Adjust", "group": "Settings", "area": "holding", "address": 3081, "type": "uint16", "scale": 0.001, "unit": "%", "access": "RW", "write_min": 8.0, "write_max": 12.0}, {"name": "Alternator L2 50Hz Current Adjust", "group": "Settings", "area": "holding", "address": 3082, "type": "uint16", "scale": 0.001, "unit": "%", "access": "RW", "write_min": 8.0, "write_max": 12.0}, {"name": "Alternator L3 50Hz Current Adjust", "group": "Settings", "area": "holding", "address": 3083, "type": "uint16", "scale": 0.001, "unit": "%", "access": "RW", "write_min": 8.0, "write_max": 12.0}, {"name": "Annunciator #1 Switch Fault Response", "group": "Faults", "area": "holding", "address": 3084, "type": "uint16", "access": "RW", "enum": {"0": "None", "1": "Warning", "2": "Shutdown"}}, {"name": "Annunciator #2 Switch Fault Response", "group": "Faults", "area": "holding", "address": 3085, "type": "uint16", "access": "RW", "enum": {"0": "None", "1": "Warning", "2": "Shutdown"}}, {"name": "Annunciator #3 Switch Fault Response", "group": "Faults", "area": "holding", "address": 3086, "type": "uint16", "access": "RW", "enum": {"0": "None", "1": "Warning", "2": "Shutdown"}}, {"name": "Annunciator Output 1 Event", "group": "Faults", "area": "holding", "address": 3087, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 65535}, {"name": "Annunciator Output 2 Event", "group": "Faults", "area": "holding", "address": 3088, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 65535}, {"name": "Annunciator Output 3 Event", "group": "Faults", "area": "holding", "address": 3089, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 65535}, {"name": "Annunciator Output 4 Event", "group": "Faults", "area": "holding", "address": 3090, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 65535}, {"name": "AUX101 Alternator Temp", "group": "Generator", "area": "holding", "address": 3719, "type": "uint16"}, {"name": "AUX101 Ambient Temp", "group": "Status", "area": "holding", "address": 3722, "type": "uint16"}, {"name": "AUX101 input 1 Voltage", "group": "Generator", "area": "holding", "address": 3723, "type": "uint16"}, {"name": "AUX101 input 2 Voltage", "group": "Generator", "area": "holding", "address": 3724, "type": "uint16"}, {"name": "AUX101 input 3 Voltage", "group": "Generator", "area": "holding", "address": 3725, "type": "uint16"}, {"name": "AUX101 input 4 Voltage", "group": "Generator", "area": "holding", "address": 3726, "type": "uint16"}, {"name": "AUX101 input 5 Voltage", "group": "Generator", "area": "holding", "address": 3727, "type": "uint16"}, {"name": "AUX101 input 6 Voltage", "group": "Generator", "area": "holding", "address": 3728, "type": "uint16"}, {"name": "AUX101 input 67 Voltage", "group": "Generator", "area": "holding", "address": 3729, "type": "uint16"}, {"name": "AUX101 input 8 Voltage", "group": "Generator", "area": "holding", "address": 3730, "type": "uint16"}, {"name": "AUX101 Exhaust Temp", "group": "Engine", "area": "holding", "address": 3741, "type": "uint16"}, {"name": "AUX101 Fuel Level", "group": "Engine", "area": "holding", "address": 3745, "type": "uint16"}, {"name": "AUX101 Intake Manifold Temp", "group": "Engine", "area": "holding", "address": 3750, "type": "uint16"}, {"name": "AUX101 Oil Temp", "group": "Engine", "area": "holding", "address": 3757, "type": "uint16"} ] }