{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Kohler", "model": "MPAC 1000", "models": ["MPAC 1000"], "vendor_website": "rehlko.com", "revision": 3, "revised": "2026-11-10", "source": "Kohler, \"Protocol Operation: Modbus Communications Protocol\", TP-6113 12/21; https://techcomm.kohler.com/techcomm/pdf/tp6113.pdf", "notes": [ "MPAC 1000 automatic transfer switch controller.", "Addresses are zero-based: the manual register 40001 is address 0.", "The manual limits a read to 50 registers. Only the monitoring part of the register table is in this map.", "Data is available over Modbus RTU (8N1); Modbus TCP needs a Modbus/Ethernet converter." ], "parity": "N", "databits": 8, "stopbits": 1, "max_read_registers": 50, "byte_order": "big", "word_order": "little", "address_base": 0, "x_status": "official", "sources": [ {"title": "Protocol Operation: Modbus Communications Protocol (TP-6113)", "version": "12/21", "date": "2021-12", "url": "https://techcomm.kohler.com/techcomm/pdf/tp6113.pdf", "note": "section 9; register tables also compared with edition 9/14"} ], "registers": [ {"name": "SourceA Line-Neutral L1-L0", "area": "holding", "address": 1, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceA Line-Neutral L2-L0", "area": "holding", "address": 2, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceA Line-Neutral L3-L0", "area": "holding", "address": 3, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceB Line-Neutral L1-L0", "area": "holding", "address": 4, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceB Line-Neutral L2-L0", "area": "holding", "address": 5, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceB Line-Neutral L3-L0", "area": "holding", "address": 6, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceA Line Voltage L1-L2", "area": "holding", "address": 7, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceA Line Voltage L2-L3", "area": "holding", "address": 8, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceA Line Voltage L3-L1", "area": "holding", "address": 9, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceB Line Voltage L1-L2", "area": "holding", "address": 10, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceB Line Voltage L2-L3", "area": "holding", "address": 11, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceB Line Voltage L3-L1", "area": "holding", "address": 12, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R"}, {"name": "SourceA Frequency", "area": "holding", "address": 13, "type": "uint16", "scale": 0.1, "unit": "Hz", "access": "R"}, {"name": "SourceB Frequency", "area": "holding", "address": 14, "type": "uint16", "scale": 0.1, "unit": "Hz", "access": "R"}, {"name": "SourceA Nominal Voltage", "area": "holding", "address": 23, "type": "uint16", "scale": 0.1, "unit": "V", "access": "RW"}, {"name": "SourceB Nominal Voltage", "area": "holding", "address": 24, "type": "uint16", "scale": 0.1, "unit": "V", "access": "RW"}, {"name": "SourceA Nominal Frequency", "area": "holding", "address": 25, "type": "uint16", "scale": 0.1, "unit": "Hz", "access": "RW"}, {"name": "SourceB Nominal Frequency", "area": "holding", "address": 26, "type": "uint16", "scale": 0.1, "unit": "Hz", "access": "RW"}, {"name": "SourceA Number of Phases", "area": "holding", "address": 27, "type": "uint16", "access": "RW"}, {"name": "SourceB Number of Phases", "area": "holding", "address": 28, "type": "uint16", "access": "RW"}, {"name": "Rated Amperage", "area": "holding", "address": 29, "type": "uint16", "access": "RW"}, {"name": "SourceA Engine Start Time Delay", "area": "holding", "address": 31, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "SourceB Engine Start Time Delay", "area": "holding", "address": 32, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "SourceA Ext Engine Start Time Delay", "area": "holding", "address": 33, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "SourceB Ext Engine Start Time Delay", "area": "holding", "address": 34, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "SourceA Engine Cooldown Time Delay", "area": "holding", "address": 35, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "SourceB Engine Cooldown Time Delay", "area": "holding", "address": 36, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Preferred to Standby Time Delay", "area": "holding", "address": 37, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Standby to Preferred Time Delay", "area": "holding", "address": 38, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "Off to Preferred Time Delay", "area": "holding", "address": 39, "type": "uint16", "scale": 0.1, "unit": "s", "access": "RW"}, {"name": "Off to Standby Time Delay", "area": "holding", "address": 40, "type": "uint16", "scale": 0.1, "unit": "s", "access": "RW"}, {"name": "Acquire Standby Source", "area": "holding", "address": 41, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "InPhase Monitor Synch", "area": "holding", "address": 42, "type": "uint16", "unit": "s", "access": "RW"}, {"name": "SourceA Over Volt Dropout Trip Point", "area": "holding", "address": 44, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceA Over Volt Pickup Trip Point", "area": "holding", "address": 45, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceA Under Volt Pickup Trip Point", "area": "holding", "address": 46, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceA Under Volt Dropout Trip Point", "area": "holding", "address": 47, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceA Voltage Debounce Time", "area": "holding", "address": 48, "type": "uint16", "scale": 0.1, "unit": "s", "access": "RW"}, {"name": "SourceB Over Volt Dropout Trip Point", "area": "holding", "address": 49, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceB Over Volt Pickup Trip Point", "area": "holding", "address": 50, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceB Under Volt Pickup Trip Point", "area": "holding", "address": 51, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceB Under Volt Dropout Trip Point", "area": "holding", "address": 52, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceB Voltage Debounce Time", "area": "holding", "address": 53, "type": "uint16", "scale": 0.1, "unit": "s", "access": "RW"}, {"name": "SourceA Over Freq Dropout Trip Point", "area": "holding", "address": 54, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceA Over Freq Pickup Trip Point", "area": "holding", "address": 55, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceA Under Freq Dropout Trip Point", "area": "holding", "address": 56, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceA Under Freq Pickup Trip Point", "area": "holding", "address": 57, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceA Freq Dropout Time", "area": "holding", "address": 58, "type": "uint16", "scale": 0.1, "unit": "s", "access": "RW"}, {"name": "SourceB Over Freq Dropout Trip Point", "area": "holding", "address": 59, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "SourceB Over Freq Pickup Trip Point", "area": "holding", "address": 60, "type": "uint16", "unit": "%", "access": "RW"}, {"name": "Device ID", "area": "holding", "address": 49998, "type": "uint16", "access": "R", "reference": "0x0013", "description": "Fixed controller type code"} ] }