{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Toshiba",
  "model": "TOSVERT VF-S15",
  "models": [
    "VF-S15",
    "VFS15"
  ],
  "vendor_website": "toshiba.com",
  "description": "Compact frequency inverter with Modbus RTU on the RS485 port",
  "revision": 1,
  "revised": "2026-10-18",
  "source": "Toshiba TOSVERT VF-S15 RS485 communication function instruction manual E6581913",
  "sources": [
    {
      "title": "TOSVERT VF-S15 RS485 Communication Function Instruction Manual (E6581913)",
      "url": "https://www.toshiba.com/tic/datafiles/manuals/S15_RS485_Communication_Manual.pdf"
    }
  ],
  "notes": [
    "The register address is the communication number of the manual, read as hexadecimal: FD00 is address 0xFD00. The monitor values of the form FExx are the value held at the last trip; FDxx is the present value.",
    "The inverter answers function 03 for one register or for 2 to 8 consecutive communication numbers. Numbers xxxA to xxxF and xxAx to xxFx do not exist and are skipped in a block read, so read the registers one at a time or in blocks that do not cross those gaps (a missing number returns 0x8000).",
    "Function 06 writes one register and function 16 (0x10) several, to RAM and EEPROM; the command and monitor registers FA00 to FA87 are RAM only. Function 43 (0x2B) returns the maker, the type (for example VFS15-2037PM) and the version.",
    "To control the drive over Modbus set f829 = 1 (Modbus RTU), a unit number in f802, and enable the communication priority bits 14 and 15 of FA00 (or set fmod = 4 and cmod = 2). Changes to f800, f801 and f829 take effect after a reset.",
    "Currents, the output voltage and the DC voltage are reported in 0.01 % of the rated value, not in amperes or volts; use the rated current FE70 (0.1 A) and rated voltage FE71 (0.1 V) to convert.",
    "Negative values are two's complement. Acceleration and deceleration times follow the time unit of f519 (0.1 s or 0.01 s).",
    "The parameter registers listed are the communication ones the manual names; the inverter's own instruction manual has the communication number of every other parameter.",
    "Factory serial settings: 19200 baud, even parity, 8 data bits, 1 stop bit, inverter number 0 (set 1 to 247 for Modbus; 0 is broadcast). The factory protocol is the Toshiba one, not Modbus."
  ],
  "protocol": "rtu",
  "unit_id": 1,
  "baudrate": 19200,
  "data_bits": 8,
  "parity": "E",
  "stop_bits": 1,
  "byte_order": "big",
  "address_base": 0,
  "max_read_registers": 8,
  "x_status": "official",
  "enums": {
    "series": {"224": "VF-S15"},
    "trip": {"0": "No error", "1": "Over-current during acceleration", "2": "Over-current during deceleration", "3": "Over-current at constant speed", "4": "Over-current in load at startup", "5": "Arm overcurrent at start-up", "8": "Input phase failure", "9": "Output phase failure", "10": "Overvoltage during acceleration", "11": "Overvoltage during deceleration", "12": "Overvoltage at constant speed", "13": "Inverter overload", "14": "Motor overload", "15": "Dynamic braking resistor overload", "16": "Overheat", "17": "Emergency stop", "18": "EEPROM fault 1", "19": "EEPROM fault 2", "20": "EEPROM fault 3", "21": "Main unit RAM fault", "22": "Main unit ROM fault", "23": "CPU fault 1", "24": "Communication time-out error", "26": "Current detector fault", "27": "Optional unit fault 1", "28": "Remote keypad disconnection", "29": "Low current operation fault", "30": "Undervoltage fault (main circuit)", "32": "Over-torque trip 1", "34": "Ground fault", "40": "Auto-tuning error", "41": "Inverter type error", "45": "Over speed fault", "46": "Thermal fault stop from external device", "47": "Step-out (PM motor)", "50": "Analog input break detection", "51": "CPU communications error", "52": "Over torque boost fault", "53": "CPU fault 2", "55": "Optional unit fault 2", "58": "CPU fault 3", "62": "Main module overload", "63": "Heavy cycle of main power ON/OFF", "64": "PTC fault", "65": "Over-torque trip 2", "69": "Servo lock fault", "71": "Auto-tuning error (PM motor)", "72": "Over-torque / overcurrent fault", "73": "Small-torque / small-current fault", "84": "Auto-tuning error 1", "85": "Auto-tuning error 2", "86": "Auto-tuning error 3", "87": "Internal circuit fault"},
    "command_mode": {"0": "Terminal block", "1": "Panel keypad", "2": "RS485 communication", "3": "CANopen communication", "4": "Communication option"},
    "frequency_mode": {"0": "Setting dial 1", "1": "Terminal VIA", "2": "Terminal VIB", "3": "Setting dial 2", "4": "RS485 communication", "5": "UP/DOWN from external logic input", "6": "CANopen communication", "7": "Communication option", "8": "Terminal VIC", "11": "Pulse train input", "14": "Preset-speed frequency 0", "255": "Preset-speed frequency 1 to 15"},
    "baud": {"3": "9600 bit/s", "4": "19200 bit/s", "5": "38400 bit/s"},
    "parity": {"0": "None", "1": "Even", "2": "Odd"},
    "timeout_action": {"0": "Alarm only", "1": "Trip (coast stop)", "2": "Trip (deceleration stop)"},
    "timeout_condition": {"0": "Always", "1": "During communication mode", "2": "During communication mode and running"},
    "protocol": {"0": "Toshiba inverter protocol", "1": "Modbus RTU"},
    "local_remote": {"0": "Remote", "1": "Local"},
    "accel_pattern": {"0": "Acceleration/deceleration 1", "1": "Acceleration/deceleration 2", "2": "Acceleration/deceleration 3"},
    "energy_unit": {"0": "0.1 kWh", "1": "1 kWh", "2": "10 kWh", "3": "100 kWh", "4": "1000 kWh"}
  },
  "registers": [
    {"name": "Inverter series type", "group": "Device", "area": "holding", "address": "0xFB07", "type": "uint16", "access": "R", "enum": "series", "reference": 224, "role": "model", "description": "Reads 224 on a VF-S15"},
    {"name": "Inverter capacity code", "group": "Device", "area": "holding", "address": "0xFB05", "type": "uint16", "access": "R", "description": "Voltage and capacity code; see appendix 3 of the manual"},
    {"name": "CPU version 1 (application)", "group": "Device", "area": "holding", "address": "0xFE08", "type": "uint16", "access": "R", "description": "Application CPU version"},
    {"name": "CPU version 2 (motor)", "group": "Device", "area": "holding", "address": "0xFE73", "type": "uint16", "access": "R", "description": "Motor CPU version"},
    {"name": "Rated current", "group": "Device", "area": "holding", "address": "0xFE70", "type": "uint16", "access": "R", "scale": 0.1, "unit": "A"},
    {"name": "Rated voltage", "group": "Device", "area": "holding", "address": "0xFE71", "type": "uint16", "access": "R", "scale": 0.1, "unit": "V"},

    {"name": "Output frequency", "group": "Monitoring", "area": "holding", "address": "0xFD00", "type": "uint16", "access": "R", "scale": 0.01, "unit": "Hz"},
    {"name": "Frequency command", "group": "Monitoring", "area": "holding", "address": "0xFD02", "type": "uint16", "access": "R", "scale": 0.01, "unit": "Hz"},
    {"name": "Output current", "group": "Monitoring", "area": "holding", "address": "0xFD03", "type": "uint16", "access": "R", "scale": 0.01, "unit": "%", "description": "Percent of the rated current"},
    {"name": "DC voltage", "group": "Monitoring", "area": "holding", "address": "0xFD04", "type": "uint16", "access": "R", "scale": 0.01, "unit": "%", "description": "Percent of the rated voltage"},
    {"name": "Output voltage", "group": "Monitoring", "area": "holding", "address": "0xFD05", "type": "uint16", "access": "R", "scale": 0.01, "unit": "%", "description": "Percent of the rated voltage"},
    {"name": "Compensated frequency", "group": "Monitoring", "area": "holding", "address": "0xFD15", "type": "uint16", "access": "R", "scale": 0.01, "unit": "Hz"},
    {"name": "Estimated speed", "group": "Monitoring", "area": "holding", "address": "0xFD16", "type": "uint16", "access": "R", "scale": 0.01, "unit": "Hz"},
    {"name": "Torque", "group": "Monitoring", "area": "holding", "address": "0xFD18", "type": "int16", "access": "R", "scale": 0.01, "unit": "%"},
    {"name": "Torque current", "group": "Monitoring", "area": "holding", "address": "0xFD20", "type": "int16", "access": "R", "scale": 0.01, "unit": "%"},
    {"name": "PID feedback value", "group": "Monitoring", "area": "holding", "address": "0xFD22", "type": "int16", "access": "R", "scale": 0.01, "unit": "Hz"},
    {"name": "Motor overload factor", "group": "Monitoring", "area": "holding", "address": "0xFD23", "type": "uint16", "access": "R", "scale": 0.01, "unit": "%", "description": "OL2 data"},
    {"name": "Inverter overload factor", "group": "Monitoring", "area": "holding", "address": "0xFD24", "type": "uint16", "access": "R", "scale": 0.01, "unit": "%", "description": "OL1 data"},
    {"name": "Braking resistor cumulative load", "group": "Monitoring", "area": "holding", "address": "0xFD25", "type": "uint16", "access": "R", "unit": "%"},
    {"name": "Motor load factor", "group": "Monitoring", "area": "holding", "address": "0xFD26", "type": "uint16", "access": "R", "unit": "%"},
    {"name": "Inverter load factor", "group": "Monitoring", "area": "holding", "address": "0xFD27", "type": "uint16", "access": "R", "unit": "%"},
    {"name": "Braking resistor load factor", "group": "Monitoring", "area": "holding", "address": "0xFD28", "type": "uint16", "access": "R", "unit": "%", "description": "Regenerative braking resistance load factor"},
    {"name": "Input power", "group": "Monitoring", "area": "holding", "address": "0xFD29", "type": "uint16", "access": "R", "scale": 0.01, "unit": "kW"},
    {"name": "Output power", "group": "Monitoring", "area": "holding", "address": "0xFD30", "type": "uint16", "access": "R", "scale": 0.01, "unit": "kW"},
    {"name": "Output motor speed", "group": "Monitoring", "area": "holding", "address": "0xFD90", "type": "uint16", "access": "R", "unit": "rpm", "description": "Computed from the output frequency and the motor poles in f856"},
    {"name": "Terminal VIA monitor", "group": "Inputs and outputs", "area": "holding", "address": "0xFE35", "type": "uint16", "access": "R", "scale": 0.01, "unit": "%"},
    {"name": "Terminal VIB monitor", "group": "Inputs and outputs", "area": "holding", "address": "0xFE36", "type": "int16", "access": "R", "scale": 0.01, "unit": "%", "description": "-100.00 to 100.00 %"},
    {"name": "Terminal VIC monitor", "group": "Inputs and outputs", "area": "holding", "address": "0xFE37", "type": "uint16", "access": "R", "scale": 0.01, "unit": "%"},
    {"name": "FM output value", "group": "Inputs and outputs", "area": "holding", "address": "0xFE40", "type": "uint16", "access": "R", "scale": 0.01, "unit": "%"},
    {"name": "Pulse train output value", "group": "Inputs and outputs", "area": "holding", "address": "0xFD40", "type": "uint16", "access": "R", "unit": "pps"},
    {"name": "Pulse train input value", "group": "Inputs and outputs", "area": "holding", "address": "0xFE56", "type": "uint16", "access": "R", "unit": "pps"},
    {"name": "Command mode in force", "group": "Monitoring", "area": "holding", "address": "0xFD45", "type": "uint16", "access": "R", "enum": "command_mode"},
    {"name": "Frequency mode in force", "group": "Monitoring", "area": "holding", "address": "0xFD46", "type": "uint16", "access": "R", "enum": "frequency_mode"},

    {"name": "Input terminal F", "group": "Inputs and outputs", "area": "holding", "address": "0xFD06", "type": "bool", "access": "R", "bit": 0},
    {"name": "Input terminal R", "group": "Inputs and outputs", "area": "holding", "address": "0xFD06", "type": "bool", "access": "R", "bit": 1},
    {"name": "Input terminal RES", "group": "Inputs and outputs", "area": "holding", "address": "0xFD06", "type": "bool", "access": "R", "bit": 2},
    {"name": "Input terminal S1", "group": "Inputs and outputs", "area": "holding", "address": "0xFD06", "type": "bool", "access": "R", "bit": 3},
    {"name": "Input terminal S2", "group": "Inputs and outputs", "area": "holding", "address": "0xFD06", "type": "bool", "access": "R", "bit": 4},
    {"name": "Input terminal S3", "group": "Inputs and outputs", "area": "holding", "address": "0xFD06", "type": "bool", "access": "R", "bit": 5},
    {"name": "Input terminal VIB (logic)", "group": "Inputs and outputs", "area": "holding", "address": "0xFD06", "type": "bool", "access": "R", "bit": 6},
    {"name": "Input terminal VIA (logic)", "group": "Inputs and outputs", "area": "holding", "address": "0xFD06", "type": "bool", "access": "R", "bit": 7},
    {"name": "Output terminal RY-RC", "group": "Inputs and outputs", "area": "holding", "address": "0xFD07", "type": "bool", "access": "R", "bit": 0},
    {"name": "Output terminal OUT", "group": "Inputs and outputs", "area": "holding", "address": "0xFD07", "type": "bool", "access": "R", "bit": 1},
    {"name": "Output terminal FL", "group": "Inputs and outputs", "area": "holding", "address": "0xFD07", "type": "bool", "access": "R", "bit": 2},

    {"name": "Failure FL output", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 0, "description": "Status information 1"},
    {"name": "Tripped", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 1, "description": "Includes retry and trip retention"},
    {"name": "Alarm", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 2},
    {"name": "Undervoltage", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 3},
    {"name": "Motor 2 selected", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 4, "description": "0 = motor 1 (THR1), 1 = motor 2 (THR2)"},
    {"name": "PID control prohibited", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 5},
    {"name": "Acceleration pattern 2", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 6, "description": "0 = AD1, 1 = AD2"},
    {"name": "DC braking", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 7},
    {"name": "Jog run", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 8},
    {"name": "Reverse run", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 9, "description": "0 = forward, 1 = reverse"},
    {"name": "Running", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 10},
    {"name": "Coast stop (ST off)", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 11},
    {"name": "Emergency stop", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 12},
    {"name": "Standby (ST and RUN on)", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 13},
    {"name": "Standby", "group": "Status", "area": "holding", "address": "0xFD01", "type": "bool", "access": "R", "bit": 14},
    {"name": "Maximum deceleration forced stop", "group": "Status", "area": "holding", "address": "0xFD42", "type": "bool", "access": "R", "bit": 7, "description": "Status information 2"},
    {"name": "Acceleration pattern in use", "group": "Status", "area": "holding", "address": "0xFD42", "type": "uint16", "access": "R", "bit": 8, "bits": 2, "enum": "accel_pattern", "description": "Status information 2, bits 8 and 9"},
    {"name": "OC stall level 2", "group": "Status", "area": "holding", "address": "0xFD42", "type": "bool", "access": "R", "bit": 12, "description": "0 = OC stall 1 (f601), 1 = OC stall 2 (f185)"},
    {"name": "RY terminal output hold", "group": "Status", "area": "holding", "address": "0xFD49", "type": "bool", "access": "R", "bit": 0, "description": "Status information 3"},
    {"name": "OUT terminal output hold", "group": "Status", "area": "holding", "address": "0xFD49", "type": "bool", "access": "R", "bit": 1},
    {"name": "Running (constant speed)", "group": "Status", "area": "holding", "address": "0xFD49", "type": "bool", "access": "R", "bit": 10},
    {"name": "Healthy signal", "group": "Status", "area": "holding", "address": "0xFD49", "type": "bool", "access": "R", "bit": 11, "description": "Toggles on and off every second"},
    {"name": "Acceleration/deceleration complete", "group": "Status", "area": "holding", "address": "0xFD49", "type": "bool", "access": "R", "bit": 12},
    {"name": "Specified speed reached", "group": "Status", "area": "holding", "address": "0xFD49", "type": "bool", "access": "R", "bit": 13},
    {"name": "Running (acceleration)", "group": "Status", "area": "holding", "address": "0xFD49", "type": "bool", "access": "R", "bit": 14},
    {"name": "Running (deceleration)", "group": "Status", "area": "holding", "address": "0xFD49", "type": "bool", "access": "R", "bit": 15},

    {"name": "Trip code", "group": "Alarms and faults", "area": "holding", "address": "0xFC90", "type": "uint16", "access": "R", "enum": "trip", "description": "Present trip"},
    {"name": "Past trip 1 (latest)", "group": "Alarms and faults", "area": "holding", "address": "0xFE10", "type": "uint16", "access": "R", "enum": "trip"},
    {"name": "Past trip 2", "group": "Alarms and faults", "area": "holding", "address": "0xFE11", "type": "uint16", "access": "R", "enum": "trip"},
    {"name": "Past trip 3", "group": "Alarms and faults", "area": "holding", "address": "0xFE12", "type": "uint16", "access": "R", "enum": "trip"},
    {"name": "Past trip 4", "group": "Alarms and faults", "area": "holding", "address": "0xFE13", "type": "uint16", "access": "R", "enum": "trip"},
    {"name": "Past trip 5", "group": "Alarms and faults", "area": "holding", "address": "0xFD10", "type": "uint16", "access": "R", "enum": "trip"},
    {"name": "Past trip 6", "group": "Alarms and faults", "area": "holding", "address": "0xFD11", "type": "uint16", "access": "R", "enum": "trip"},
    {"name": "Past trip 7", "group": "Alarms and faults", "area": "holding", "address": "0xFD12", "type": "uint16", "access": "R", "enum": "trip"},
    {"name": "Past trip 8 (earliest)", "group": "Alarms and faults", "area": "holding", "address": "0xFD13", "type": "uint16", "access": "R", "enum": "trip"},
    {"name": "Over-current alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 0, "description": "Alarm information 1"},
    {"name": "Inverter overload alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 1},
    {"name": "Motor overload alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 2},
    {"name": "Overheat alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 3},
    {"name": "Overvoltage alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 4},
    {"name": "Undervoltage alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 5},
    {"name": "Main module overload alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 6},
    {"name": "Low current alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 7},
    {"name": "Over-torque alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 8},
    {"name": "Braking resistor overload alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 9},
    {"name": "Cumulative operation time alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 10},
    {"name": "Option communication alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 11},
    {"name": "Serial communication alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 12},
    {"name": "Main-circuit voltage error alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 13},
    {"name": "Regenerative power ride-through active", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 14},
    {"name": "Stopping at lower-limit frequency (sleep)", "group": "Alarms and faults", "area": "holding", "address": "0xFC91", "type": "bool", "access": "R", "bit": 15},
    {"name": "Life time alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 2, "description": "Alarm information 2"},
    {"name": "Over torque alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 3},
    {"name": "Overload stall alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 4},
    {"name": "Output frequency upper limit alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 7},
    {"name": "PTC alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 8},
    {"name": "Analog input disconnection alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 9},
    {"name": "Cooling fan replacement alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 10},
    {"name": "Number of starts alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 11},
    {"name": "S3 terminal alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 12},
    {"name": "Shock monitoring alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFC92", "type": "bool", "access": "R", "bit": 13},
    {"name": "Fan life alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFE79", "type": "bool", "access": "R", "bit": 0, "description": "Part replacement alarm information"},
    {"name": "Circuit board life alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFE79", "type": "bool", "access": "R", "bit": 1},
    {"name": "Main-circuit capacitor life alarm", "group": "Alarms and faults", "area": "holding", "address": "0xFE79", "type": "bool", "access": "R", "bit": 2},
    {"name": "Cumulative operation time alarm (part replacement)", "group": "Alarms and faults", "area": "holding", "address": "0xFE79", "type": "bool", "access": "R", "bit": 3},
    {"name": "Number of starts alarm (part replacement)", "group": "Alarms and faults", "area": "holding", "address": "0xFE79", "type": "bool", "access": "R", "bit": 4},

    {"name": "Cumulative operation time", "group": "Counters", "area": "holding", "address": "0xFE14", "type": "uint16", "access": "R", "unit": "h"},
    {"name": "Cumulative power-on time", "group": "Counters", "area": "holding", "address": "0xFE80", "type": "uint16", "access": "R", "scale": 10, "unit": "h"},
    {"name": "Cumulative fan operation time", "group": "Counters", "area": "holding", "address": "0xFD41", "type": "uint16", "access": "R", "scale": 10, "unit": "h"},
    {"name": "Number of starts", "group": "Counters", "area": "holding", "address": "0xFD32", "type": "uint16", "access": "R"},
    {"name": "Forward starts", "group": "Counters", "area": "holding", "address": "0xFD33", "type": "uint16", "access": "R", "scale": 1000},
    {"name": "Reverse starts", "group": "Counters", "area": "holding", "address": "0xFD34", "type": "uint16", "access": "R", "scale": 1000},
    {"name": "Integral input power", "group": "Counters", "area": "holding", "address": "0xFE76", "type": "uint16", "access": "R", "description": "Unit set by f749 (0.1 kWh at f749 = 0, up to 1000 kWh at 4)"},
    {"name": "Integral output power", "group": "Counters", "area": "holding", "address": "0xFE77", "type": "uint16", "access": "R", "description": "Unit set by f749 (0.1 kWh at f749 = 0, up to 1000 kWh at 4)"},

    {"name": "Communication command 1", "group": "Control", "area": "holding", "address": "0xFA00", "type": "uint16", "access": "RW", "write_min": 0, "write_max": 65535, "description": "Bit 10 run, bit 9 reverse, bit 11 coast stop, bit 12 emergency stop, bit 13 fault reset, bit 14 frequency priority, bit 15 command priority; bits 0 to 3 preset speed; RAM only"},
    {"name": "Preset speed selection", "group": "Control", "area": "holding", "address": "0xFA00", "type": "uint16", "access": "RW", "bit": 0, "bits": 4, "write_min": 0, "write_max": 15, "description": "Bits 0 to 3 of FA00; 0 = off, 1 to 15 = preset speed 1 to 15"},
    {"name": "Motor 2 select", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 4},
    {"name": "PID control off", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 5},
    {"name": "Acceleration pattern 2 select", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 6},
    {"name": "Forced DC braking", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 7},
    {"name": "Jog run command", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 8},
    {"name": "Reverse run command", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 9},
    {"name": "Run command", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 10},
    {"name": "Coast stop command", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 11},
    {"name": "Emergency stop command", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 12, "description": "Always enabled; trips with E"},
    {"name": "Fault reset command", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 13, "description": "The inverter sends no data back"},
    {"name": "Frequency priority", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 14, "description": "Enables the frequency command from communication regardless of fmod"},
    {"name": "Command priority", "group": "Control", "area": "holding", "address": "0xFA00", "type": "bool", "access": "RW", "bit": 15, "description": "Enables the commands from communication regardless of cmod"},
    {"name": "Frequency command value", "group": "Control", "area": "holding", "address": "0xFA01", "type": "uint16", "access": "RW", "scale": 0.01, "unit": "Hz", "description": "0 to the maximum frequency fh; takes effect only with frequency priority (bit 14 of FA00) or fmod = 4"},
    {"name": "Operation panel frequency", "group": "Control", "area": "holding", "address": "0xFA03", "type": "uint16", "access": "RW", "scale": 0.01, "unit": "Hz", "description": "From the lower limit ll to the upper limit ul; stored in EEPROM"},
    {"name": "Local/remote selection", "group": "Control", "area": "holding", "address": "0xFA08", "type": "uint16", "access": "RW", "enum": "local_remote"},
    {"name": "Motor speed command", "group": "Control", "area": "holding", "address": "0xFA13", "type": "uint16", "access": "RW", "unit": "rpm", "write_min": 0, "write_max": 24000, "description": "Converted to frequency with the motor poles in f856"},
    {"name": "Communication command 2", "group": "Control", "area": "holding", "address": "0xFA20", "type": "uint16", "access": "RW", "description": "Bit 1 resets the electric power quantity (FE76, FE77); bit 7 maximum deceleration forced stop; bits 8 and 9 acceleration pattern; bit 12 OC stall level"},
    {"name": "Reset electric power quantity", "group": "Control", "area": "holding", "address": "0xFA20", "type": "bool", "access": "RW", "bit": 1, "description": "Always enabled, even without command priority"},
    {"name": "Maximum deceleration forced stop command", "group": "Control", "area": "holding", "address": "0xFA20", "type": "bool", "access": "RW", "bit": 7},
    {"name": "Acceleration pattern command", "group": "Control", "area": "holding", "address": "0xFA20", "type": "uint16", "access": "RW", "bit": 8, "bits": 2, "enum": "accel_pattern", "write_min": 0, "write_max": 2, "description": "Bits 8 and 9; 3 is not to be used"},
    {"name": "OC stall level command", "group": "Control", "area": "holding", "address": "0xFA20", "type": "bool", "access": "RW", "bit": 12, "description": "0 = OC stall 1 (f601), 1 = OC stall 2 (f185)"},
    {"name": "RY terminal output hold command", "group": "Control", "area": "holding", "address": "0xFA26", "type": "bool", "access": "RW", "bit": 0, "description": "Communication command 3; always enabled"},
    {"name": "OUT terminal output hold command", "group": "Control", "area": "holding", "address": "0xFA26", "type": "bool", "access": "RW", "bit": 1},
    {"name": "Output data on terminal board", "group": "Control", "area": "holding", "address": "0xFA50", "type": "uint16", "access": "RW", "write_min": 0, "write_max": 3, "description": "Bit 0 drives the output terminal set to function 92/93, bit 1 the one set to 94/95 (f130 to f132)"},
    {"name": "FM analog output", "group": "Control", "area": "holding", "address": "0xFA51", "type": "uint16", "access": "RW", "scale": 0.1, "unit": "%", "write_min": 0, "write_max": 100, "description": "Needs fmsl = 18"},
    {"name": "Reset information", "group": "Control", "area": "holding", "address": "0xFA87", "type": "uint16", "access": "RW", "write_min": 0, "write_max": 1, "description": "Set to 1 by the host; the inverter sets it back to 0 after a reset"},

    {"name": "Acceleration time 1", "group": "Parameters", "area": "holding", "address": "0x0009", "type": "uint16", "access": "RW", "scale": 0.1, "unit": "s", "write_min": 0, "write_max": 3600, "description": "acc; 0.1 s units when f519 selects 0.1 s, 0.01 s otherwise"},
    {"name": "Deceleration time 1", "group": "Parameters", "area": "holding", "address": "0x0010", "type": "uint16", "access": "RW", "scale": 0.1, "unit": "s", "write_min": 0, "write_max": 3600, "description": "dec; same time unit as acc"},
    {"name": "Operation command clear selection", "group": "Parameters", "area": "holding", "address": "0x0719", "type": "uint16", "access": "RW", "write_min": 0, "write_max": 3, "description": "f719; communication number 0719 (hex 0x0719)"},
    {"name": "Baud rate", "group": "Serial interface", "area": "holding", "address": "0x0800", "type": "uint16", "access": "RW", "enum": "baud", "description": "f800; takes effect after a reset"},
    {"name": "Parity", "group": "Serial interface", "area": "holding", "address": "0x0801", "type": "uint16", "access": "RW", "enum": "parity", "description": "f801; takes effect after a reset"},
    {"name": "Inverter number", "group": "Serial interface", "area": "holding", "address": "0x0802", "type": "uint16", "access": "RW", "write_min": 0, "write_max": 247, "description": "f802; 0 is broadcast in Modbus RTU"},
    {"name": "Communication time-out time", "group": "Serial interface", "area": "holding", "address": "0x0803", "type": "uint16", "access": "RW", "scale": 0.1, "unit": "s", "write_min": 0, "write_max": 100, "description": "f803; 0 disables the time-out"},
    {"name": "Communication time-out action", "group": "Serial interface", "area": "holding", "address": "0x0804", "type": "uint16", "access": "RW", "enum": "timeout_action", "description": "f804"},
    {"name": "Communication waiting time", "group": "Serial interface", "area": "holding", "address": "0x0805", "type": "uint16", "access": "RW", "scale": 0.01, "unit": "s", "write_min": 0, "write_max": 2, "description": "f805"},
    {"name": "Time-out detection condition", "group": "Serial interface", "area": "holding", "address": "0x0808", "type": "uint16", "access": "RW", "enum": "timeout_condition", "description": "f808"},
    {"name": "Protocol selection", "group": "Serial interface", "area": "holding", "address": "0x0829", "type": "uint16", "access": "RW", "enum": "protocol", "description": "f829; takes effect after a reset"},
    {"name": "Motor poles for communication", "group": "Serial interface", "area": "holding", "address": "0x0856", "type": "uint16", "access": "RW", "write_min": 1, "write_max": 8, "description": "f856; 1 = 2 poles, 2 = 4 poles, up to 8 = 16 poles"},
    {"name": "Free notes", "group": "Serial interface", "area": "holding", "address": "0x0880", "type": "uint16", "access": "RW", "write_min": 0, "write_max": 65535, "description": "f880; any value, no effect on operation"},
    {"name": "Communication function reset", "group": "Serial interface", "area": "holding", "address": "0x0899", "type": "uint16", "access": "RW", "write_min": 0, "write_max": 1, "description": "f899; write 1 to apply changed communication parameters, then it returns to 0"}
  ]
}
