{
  "spec_version": 1,
  "slug": "hitachi-wj200",
  "manufacturer": "Hitachi",
  "model": "WJ200 (also SJ200, Modbus RTU on RS-485)",
  "category": "VFD",
  "supplier_url": "https://www.hitachi-iesa.com/sites/default/files/inverter-pdf/WJ200_Instruction_NT325X_0.pdf",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 502,
    "unit_id": 1,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "HighFirst",
    "native_interface": "rs485",
    "serial": {
      "parity": "None",
      "baud_rate": 9600,
      "data_bits": 8,
      "stop_bits": 1
    }
  },
  "coils": [
    {
      "address": 1,
      "count": 1,
      "name": "Operation command",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = run, 0 = stop. Valid when the run command source A002 = 03 (Modbus)."
    },
    {
      "address": 2,
      "count": 1,
      "name": "Rotation direction command",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = reverse rotation, 0 = forward rotation. Valid when A002 = 03."
    },
    {
      "address": 3,
      "count": 1,
      "name": "External trip (EXT)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = trip."
    },
    {
      "address": 4,
      "count": 1,
      "name": "Trip reset (RS)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = reset the trip."
    },
    {
      "address": 7,
      "count": 1,
      "name": "Intelligent input terminal [1]",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = ON, 0 = OFF, for intelligent input terminal 1. The physical terminal state has priority over this coil."
    },
    {
      "address": 8,
      "count": 1,
      "name": "Intelligent input terminal [2]",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = ON, 0 = OFF, for intelligent input terminal 2. The physical terminal state has priority over this coil."
    },
    {
      "address": 9,
      "count": 1,
      "name": "Intelligent input terminal [3]",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = ON, 0 = OFF, for intelligent input terminal 3. The physical terminal state has priority over this coil."
    },
    {
      "address": 10,
      "count": 1,
      "name": "Intelligent input terminal [4]",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = ON, 0 = OFF, for intelligent input terminal 4. The physical terminal state has priority over this coil."
    },
    {
      "address": 11,
      "count": 1,
      "name": "Intelligent input terminal [5]",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = ON, 0 = OFF, for intelligent input terminal 5. The physical terminal state has priority over this coil."
    },
    {
      "address": 12,
      "count": 1,
      "name": "Intelligent input terminal [6]",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = ON, 0 = OFF, for intelligent input terminal 6. The physical terminal state has priority over this coil."
    },
    {
      "address": 13,
      "count": 1,
      "name": "Intelligent input terminal [7]",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = ON, 0 = OFF, for intelligent input terminal 7. The physical terminal state has priority over this coil."
    },
    {
      "address": 15,
      "count": 1,
      "name": "Operation status",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = run, 0 = stop; interlocked to monitor d003."
    },
    {
      "address": 16,
      "count": 1,
      "name": "Rotation direction",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = reverse rotation, 0 = forward rotation; interlocked to monitor d003."
    },
    {
      "address": 17,
      "count": 1,
      "name": "Inverter ready",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ready, 0 = not ready."
    },
    {
      "address": 19,
      "count": 1,
      "name": "RUN (running)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "The register table prints 1 = tripping, 0 = normal for this RUN item; quoted as printed."
    },
    {
      "address": 20,
      "count": 1,
      "name": "FA1 (constant-speed reached)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 21,
      "count": 1,
      "name": "FA2 (set frequency overreached)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 22,
      "count": 1,
      "name": "OL (overload advance notice 1)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 23,
      "count": 1,
      "name": "OD (output deviation for PID control)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 24,
      "count": 1,
      "name": "AL (alarm signal)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 25,
      "count": 1,
      "name": "FA3 (set frequency reached)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 26,
      "count": 1,
      "name": "OTQ (over-torque)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 28,
      "count": 1,
      "name": "UV (undervoltage)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 29,
      "count": 1,
      "name": "TRQ (torque limited)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 30,
      "count": 1,
      "name": "RNT (operation time over)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 31,
      "count": 1,
      "name": "ONT (plug-in time over)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 32,
      "count": 1,
      "name": "THM (thermal alarm signal)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 38,
      "count": 1,
      "name": "BRK (brake release)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 39,
      "count": 1,
      "name": "BER (brake error)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 40,
      "count": 1,
      "name": "ZS (0 Hz detection signal)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 41,
      "count": 1,
      "name": "DSE (speed deviation maximum)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 42,
      "count": 1,
      "name": "POK (positioning completed)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 43,
      "count": 1,
      "name": "FA4 (set frequency overreached 2)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 44,
      "count": 1,
      "name": "FA5 (set frequency reached 2)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 45,
      "count": 1,
      "name": "OL2 (overload advance notice 2)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 46,
      "count": 1,
      "name": "Odc (analog O disconnection detection)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 47,
      "count": 1,
      "name": "OIDc (analog OI disconnection detection)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 50,
      "count": 1,
      "name": "FBV (PID feedback comparison)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 51,
      "count": 1,
      "name": "NDc (communication train disconnection)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 52,
      "count": 1,
      "name": "LOG1 (logical operation result 1)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 53,
      "count": 1,
      "name": "LOG2 (logical operation result 2)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 54,
      "count": 1,
      "name": "LOG3 (logical operation result 3)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 58,
      "count": 1,
      "name": "WAC (capacitor life warning)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 59,
      "count": 1,
      "name": "WAF (cooling-fan speed drop)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 60,
      "count": 1,
      "name": "FR (starting contact signal)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 61,
      "count": 1,
      "name": "OHF (heat sink overheat warning)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 62,
      "count": 1,
      "name": "LOC (low-current indication signal)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 63,
      "count": 1,
      "name": "M01 (general output 1)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 64,
      "count": 1,
      "name": "M02 (general output 2)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 65,
      "count": 1,
      "name": "M03 (general output 3)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 69,
      "count": 1,
      "name": "IRDY (inverter ready)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 70,
      "count": 1,
      "name": "FWR (forward rotation)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 71,
      "count": 1,
      "name": "RVR (reverse rotation)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 72,
      "count": 1,
      "name": "MJA (major failure)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 73,
      "count": 1,
      "name": "Data writing in progress",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = writing in progress, 0 = normal status."
    },
    {
      "address": 74,
      "count": 1,
      "name": "CRC error",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = error detected, 0 = no error. The flag is retained until an error reset command is given."
    },
    {
      "address": 75,
      "count": 1,
      "name": "Overrun",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = error detected, 0 = no error."
    },
    {
      "address": 76,
      "count": 1,
      "name": "Framing error",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = error detected, 0 = no error."
    },
    {
      "address": 77,
      "count": 1,
      "name": "Parity error",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = error detected, 0 = no error."
    },
    {
      "address": 78,
      "count": 1,
      "name": "Sum check error",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = error detected, 0 = no error."
    },
    {
      "address": 80,
      "count": 1,
      "name": "WCO (window comparator O)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 81,
      "count": 1,
      "name": "WCOI (window comparator OI)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 83,
      "count": 1,
      "name": "OPDc (option disconnection)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    },
    {
      "address": 84,
      "count": 1,
      "name": "FREF (FQ command source)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = operator, 0 = others."
    },
    {
      "address": 85,
      "count": 1,
      "name": "REF (RUN command source)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = operator, 0 = others."
    },
    {
      "address": 86,
      "count": 1,
      "name": "SETM (2nd motor selected)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = 2nd motor selected, 0 = 1st motor selected."
    },
    {
      "address": 88,
      "count": 1,
      "name": "EDM (gate suppress monitor)",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "1 = ON, 0 = OFF."
    }
  ],
  "discrete_inputs": [],
  "input_registers": [],
  "holding_registers": [
    {
      "address": 2304,
      "count": 1,
      "name": "Writing to EEPROM",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "W",
      "description": "0 = motor constant recalculation, 1 = save all data in EEPROM, other = motor constant recalculation and save all data. Only one write is needed at a time."
    },
    {
      "address": 2306,
      "count": 1,
      "name": "EEPROM write mode",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "W",
      "description": "0 = invalid, 1 = valid. Checked once when the following 06H command is executed."
    },
    {
      "address": 4097,
      "count": 2,
      "name": "Output frequency monitor (d001)",
      "data_type": "UInt32",
      "units": "Hz",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Inverter output frequency. High word at 1001h, low word at 1002h; range 0 to 40000 (100000 with the high-resolution setting)."
    },
    {
      "address": 4099,
      "count": 1,
      "name": "Output current monitor (d002)",
      "data_type": "UInt16",
      "units": "A",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Inverter output current; range 0 to 65530."
    },
    {
      "address": 4100,
      "count": 1,
      "name": "Rotation direction monitor (d003)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "0 = stopping, 1 = forward rotation, 2 = reverse rotation."
    },
    {
      "address": 4101,
      "count": 2,
      "name": "Process variable (PV), PID feedback monitor (d004)",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "PID feedback value; range 0 to 1000000, resolution 0.01. High word at 1005h, low word at 1006h."
    },
    {
      "address": 4103,
      "count": 1,
      "name": "Intelligent input terminal status (d005)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bit 0 = terminal 1 ... bit 6 = terminal 7."
    },
    {
      "address": 4104,
      "count": 1,
      "name": "Intelligent output terminal status (d006)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bit 0 = terminal 11, bit 1 = terminal 12, bit 2 = relay terminal."
    },
    {
      "address": 4105,
      "count": 2,
      "name": "Scaled output frequency monitor (d007)",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Output frequency after the frequency scaling factor; range 0 to 4000000 (10000000)."
    },
    {
      "address": 4107,
      "count": 2,
      "name": "Actual-frequency monitor (d008)",
      "data_type": "Int32",
      "units": "Hz",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Actual motor frequency including slip; range -100000 to +100000, resolution 0.01 Hz."
    },
    {
      "address": 4109,
      "count": 1,
      "name": "Torque command monitor (d009)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Torque command; range -200 to +200, resolution 1 %."
    },
    {
      "address": 4110,
      "count": 1,
      "name": "Torque bias monitor (d010)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Torque bias; range -200 to +200, resolution 1 %."
    },
    {
      "address": 4112,
      "count": 1,
      "name": "Torque monitor (d012)",
      "data_type": "Int16",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Actual torque; range -200 to +200, resolution 1 %."
    },
    {
      "address": 4113,
      "count": 1,
      "name": "Output voltage monitor (d013)",
      "data_type": "UInt16",
      "units": "V",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Inverter output voltage; range 0 to 6000, resolution 0.1 V."
    },
    {
      "address": 4114,
      "count": 1,
      "name": "Power monitor (d014)",
      "data_type": "UInt16",
      "units": "kW",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Inverter output power; range 0 to 1000, resolution 0.1 kW."
    },
    {
      "address": 4115,
      "count": 2,
      "name": "Watt-hour monitor (d015)",
      "data_type": "UInt32",
      "units": "kWh",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Accumulated output energy; range 0 to 9999000, resolution 0.1 kWh. High word at 1013h, low word at 1014h."
    },
    {
      "address": 4117,
      "count": 2,
      "name": "Elapsed RUN time monitor (d016)",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Accumulated inverter run time; range 0 to 999900, resolution 1 hour."
    },
    {
      "address": 4119,
      "count": 2,
      "name": "Elapsed power-on time monitor (d017)",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Accumulated power-on time; range 0 to 999900, resolution 1 hour."
    },
    {
      "address": 4121,
      "count": 1,
      "name": "Heat sink temperature monitor (d018)",
      "data_type": "Int16",
      "units": "°C",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Heat sink temperature; range -200 to 1500, resolution 0.1 °C."
    },
    {
      "address": 4125,
      "count": 1,
      "name": "Life-check monitor (d022)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bit 0 = capacitor on the main circuit board, bit 1 = cooling fan."
    },
    {
      "address": 4126,
      "count": 1,
      "name": "EzSQ program counter (d023)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "EzSQ program counter, 0 to 1024."
    },
    {
      "address": 4127,
      "count": 1,
      "name": "EzSQ program number (d024)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "EzSQ program number, 0 to 9999."
    },
    {
      "address": 4134,
      "count": 1,
      "name": "DC voltage monitor (d102)",
      "data_type": "UInt16",
      "units": "V",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "DC bus voltage across P and N; range 0 to 10000, resolution 0.1 V."
    },
    {
      "address": 4135,
      "count": 1,
      "name": "BRD load factor monitor (d103)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Braking resistor load factor; range 0 to 1000, resolution 0.1 %."
    },
    {
      "address": 4136,
      "count": 1,
      "name": "Electronic thermal overload monitor (d104)",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Electronic thermal overload level; range 0 to 1000, resolution 0.1 %."
    },
    {
      "address": 4142,
      "count": 2,
      "name": "User monitor 1 (d025)",
      "data_type": "Int32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "User-defined monitor 1; range -2147483647 to 2147483647, high word at 102Eh."
    },
    {
      "address": 4144,
      "count": 2,
      "name": "User monitor 2 (d026)",
      "data_type": "Int32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "User-defined monitor 2; range -2147483647 to 2147483647, high word at 1030h."
    },
    {
      "address": 4146,
      "count": 2,
      "name": "User monitor 3 (d027)",
      "data_type": "Int32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "User-defined monitor 3; range -2147483647 to 2147483647, high word at 1032h."
    },
    {
      "address": 4183,
      "count": 1,
      "name": "Inverter mode monitor (d060)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "0 = IM CT, 1 = IM VT, 2 = IM high-frequency mode."
    },
    {
      "address": 4355,
      "count": 2,
      "name": "Acceleration time (1) (F002)",
      "data_type": "UInt32",
      "units": "s",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "Acceleration ramp time; range 1 to 360000, resolution 0.01 s. High word at 1103h, low word at 1104h."
    },
    {
      "address": 4357,
      "count": 2,
      "name": "Deceleration time (1) (F003)",
      "data_type": "UInt32",
      "units": "s",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "Deceleration ramp time; range 1 to 360000, resolution 0.01 s. High word at 1105h, low word at 1106h."
    },
    {
      "address": 4359,
      "count": 1,
      "name": "Keypad RUN key routing (F004)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = forward rotation, 1 = reverse rotation."
    },
    {
      "address": 4609,
      "count": 1,
      "name": "Frequency source (A001)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = keypad potentiometer, 1 = control circuit terminal block, 2 = digital operator, 3 = Modbus, 4 = option, 6 = pulse train input, 7 = easy sequence, 10 = operation function result."
    },
    {
      "address": 4610,
      "count": 1,
      "name": "Run command source (A002)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = control circuit terminal block, 2 = digital operator, 3 = Modbus, 4 = option."
    },
    {
      "address": 4611,
      "count": 1,
      "name": "Base frequency (A003)",
      "data_type": "UInt16",
      "units": "Hz",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW",
      "description": "Base frequency for the V/f curve; range 30.0 Hz to the maximum frequency, resolution 0.1 Hz."
    },
    {
      "address": 4612,
      "count": 1,
      "name": "Maximum frequency (A004)",
      "data_type": "UInt16",
      "units": "Hz",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW",
      "description": "Maximum output frequency; range 30.0 to 400.0 Hz (1000.0 Hz with the high-resolution setting), resolution 0.1 Hz."
    },
    {
      "address": 5195,
      "count": 1,
      "name": "Communication speed (C071)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "03 = 2400, 04 = 4800, 05 = 9600, 06 = 19200, 07 = 38400, 08 = 57600, 09 = 76800, 10 = 115200 bps. Factory default 05 (9600 bps)."
    },
    {
      "address": 5196,
      "count": 1,
      "name": "Modbus address (C072)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Inverter slave address, 1 to 247. Factory default 1."
    },
    {
      "address": 5198,
      "count": 1,
      "name": "Communication parity (C074)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "00 = no parity, 01 = even parity, 02 = odd parity. Factory default 00."
    },
    {
      "address": 5199,
      "count": 1,
      "name": "Communication stop bit (C075)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 = 1 stop bit, 2 = 2 stop bits. Factory default 1."
    },
    {
      "address": 5200,
      "count": 1,
      "name": "Selection of the operation after communication error (C076)",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = trip, 1 = trip after decelerating and stopping, 2 = ignore errors, 3 = stop after free-running, 4 = decelerate and stop."
    },
    {
      "address": 5201,
      "count": 1,
      "name": "Communication timeout limit (C077)",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "Communication watchdog period, 0 to 9999 with 0.01 s resolution; 0 disables the watchdog."
    },
    {
      "address": 5202,
      "count": 1,
      "name": "Communication wait time (C078)",
      "data_type": "UInt16",
      "units": "ms",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Time the inverter waits after receiving a message before answering, 0 to 1000 ms."
    }
  ],
  "combined_registers": [],
  "notes": "RS-485 device: reach it through a Modbus RTU-to-TCP gateway. The factory serial settings are C071 = 05 (9600 bps), C072 = 1 (slave address), C074 = 00 (no parity) and C075 = 1 (1 stop bit), 8 data bits fixed, which is the 9600 8N1 block above and the unit ID this seed uses. Source: Hitachi \"WJ200 Series Inverter Instruction Manual\" NT325X, Appendix B \"ModBus Network Communications\" (https://www.hitachi-iesa.com/sites/default/files/inverter-pdf/WJ200_Instruction_NT325X_0.pdf), B-24/B-25 ModBus Coil List, B-30/B-31 (iii) List of registers (monitoring), B-31 (iv) List of registers, B-31/B-32 (v) List of registers (function modes), and the C071-C078 parameter registers on B-43. Addressing: the manual calls its numbers \"the network register address offset\", so they are stored unchanged as zero-based wire addresses (coil 0001h is the first offset, register 1001h is the d001 monitor high word). 32-bit monitors occupy two consecutive registers, high word first, which is why the device declares HighFirst. Coils the manual marks R are read-only status bits and are listed with access R; the control coils (operation, rotation direction, external trip, trip reset, intelligent inputs) are R/W. Deliberate omissions: the trip-history block (0011h-004Eh: six trip records with factor, frequency, current, voltage and run time) and the parameter groups B, C and D beyond the communication parameters shown are not transcribed; the manual prints those as a further ~250 register pairs whose per-row resolution column repeats without adding monitoring value. Reserved and inaccessible rows are omitted."
}
