{
 "manufacturer": "Yaskawa",
 "manufacturer_slug": "yaskawa",
 "model": "GA500 AC drive (MEMOBUS/Modbus RTU)",
 "model_slug": "ga500",
 "short_model": "GA500",
 "aliases": [
  "CIPR-GA50U",
  "GA500 Versatile Compact"
 ],
 "equipment_type": "Variable frequency drive",
 "applies_to": "Yaskawa GA500 drives using the built-in RS-485 MEMOBUS/Modbus port (terminal TB4), per technical reference SIEPC71061752 revision C.",
 "summary": "Yaskawa's compact general-purpose variable frequency drive with a built-in RS-485 MEMOBUS/Modbus RTU port. Run/stop, frequency reference and other commands are written to hex registers 0001H-000FH, drive status, faults and key monitors are read from 0020H onwards, and every parameter has its own hex register shown in the parameter list. This map covers the command block, status/fault words, the main monitors with fixed units, and the b1/H5 communication parameters.",
 "transport": [
  "RTU"
 ],
 "defaults": {
  "unit_id": 31,
  "baud": 9600,
  "parity": "None",
  "data_bits": 8,
  "stop_bits": 1,
  "tcp_port": null
 },
 "addressing": {
  "convention": "hex 0-based",
  "note": "Register numbers are printed in hex and go into the request unchanged: the manual's read example asks for starting register 0020H by sending 00 20, and its write example writes 0001H/0002H directly. Parameters use the hex number printed under each parameter in the parameter list (e.g. H5-04 = 0428H)."
 },
 "default_word_order": null,
 "firmware": "Drive software PRG 01013, 01014 and 01015 (per the manual's revision history)",
 "source": {
  "title": "GA500 Drive Technical Reference (Versatile Compact Type)",
  "doc_number": "SIEPC71061752C",
  "revision_date": "2023-06",
  "url": "https://www.yaskawa.com/delegate/getAttachment?documentId=SIEPC71061752&cmd=documents&documentName=SIEPC71061752.pdf",
  "pages": "Section 6.3 MEMOBUS/Modbus: setup pp. 224-226, function codes and message examples pp. 228-235, Enter command p. 234, command data Table 6.15 pp. 236-237, monitor data Table 6.16 pp. 238-244; parameter list b1 p. 376 (b1-01/b1-02 = 0180H/0181H), H5 pp. 432-433, U monitors pp. 464-471"
 },
 "notes": [
  "Frequency registers (0002H reference, 0023H U1-01, 0024H U1-02) use the units chosen in o1-03 (0 = 0.01 Hz, 1 = 0.01% of E1-04, 2 = RPM, 3 = user units); o1-03's default depends on A1-02, so they are left unscaled here.",
  "Left out: 0025H U1-06 output voltage (unit switched by H5-10), 0026H U1-03 output current (Table 6.16 prints 0.1 A, but the U1-03 monitor list says its units change with drive model - 0.01 A for B001-B018, 2001-2042, 4001-4023 and 0.1 A for 2056-2082, 4031-4060 - and does not say whether 0026H follows that rule, so no single scale is safe), 0027H U1-08 output power (units differ by drive model), 0028H/0032H torque reference (sign not stated), 002FH frequency reference bias and 0068H U4-08 heatsink temperature (sign not stated; both may go negative), 003EH/003FH output frequency in r/min and % (sign not stated), 00ABH rated current and 0042H U1-03 (8192 = rated current, model-dependent units), U4-10/U4-11 kWh (resolution of the lower-digit register is unclear), 0080H-0097H fault trace/history.",
  "U4-01 cumulative operation time is available as 004CH (10 h units) or split over 0098H (value / 10) and 0099H (last digit).",
  "0040H-004AH, 004CH-007EH and 0080H-0097H carry the U1/U4/U2/U3 monitors at the hex numbers in the U-monitor list.",
  "The table example in the manual for function 67H labels 0024H as U1-01; Table 6.16 assigns U1-01 to 0023H and U1-02 to 0024H, which this map follows."
 ],
 "registers": [
  {
   "table": "holding_register",
   "address": 1,
   "documented": "0001H",
   "name": "Run command / MFDI command",
   "description": "Run, direction, external fault, fault reset and virtual inputs.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": {
    "0": "H5-12=0: 1 = forward run / 0 = stop; H5-12=1: 1 = run / 0 = stop",
    "1": "H5-12=0: 1 = reverse run / 0 = stop; H5-12=1: 1 = reverse / 0 = forward",
    "2": "External fault EF0",
    "3": "Fault reset",
    "4": "Multi-function input 1 (ComRef when H1-01 = 40)",
    "5": "Multi-function input 2 (ComCtrl when H1-02 = 41)",
    "6": "Multi-function input 3",
    "7": "Multi-function input 4",
    "8": "Multi-function input 5",
    "9": "Multi-function input 6",
    "10": "Multi-function input 7"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 2,
   "documented": "0002H",
   "name": "Frequency reference",
   "description": "Unsigned; units follow o1-03 (0 = 0.01 Hz).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 3,
   "documented": "0003H",
   "name": "Output voltage gain",
   "description": "20-2000 (2.0-200.0%); 1000 at power-up.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "%",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4,
   "documented": "0004H",
   "name": "Torque limit",
   "description": "Signed; enable with 000FH bit 2.",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "%",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 5,
   "documented": "0005H",
   "name": "Torque compensation",
   "description": "Signed; enable with 000FH bit 3.",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "%",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6,
   "documented": "0006H",
   "name": "PID setpoint",
   "description": "Signed; enable with 000FH bit 1.",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 0.01,
   "units": "%",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 9,
   "documented": "0009H",
   "name": "MFDO setting",
   "description": "Drive the digital outputs from the network.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": {
    "0": "MFDO MA/MB-MC",
    "1": "Photocoupler output P1-C1",
    "2": "Photocoupler output P2-C2"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 15,
   "documented": "000FH",
   "name": "Command selection setting",
   "description": "Enables network sources for PID, torque limit, compensation.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": {
    "1": "PID setpoint from MEMOBUS",
    "2": "Torque limit from MEMOBUS",
    "3": "Torque compensation from MEMOBUS",
    "5": "PID feedback from MEMOBUS (15FFH)",
    "12": "Broadcast S5 input enabled",
    "13": "Broadcast S6 input enabled",
    "14": "Broadcast S7 input enabled"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 32,
   "documented": "0020H",
   "name": "Drive Status 1",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "During run",
    "1": "During reverse",
    "2": "Drive ready",
    "3": "Fault",
    "4": "Data setting error (oPExx)",
    "5": "MFDO MA/MB-MC on",
    "6": "Photocoupler output P1-C1 on",
    "7": "Photocoupler output P2-C2 on",
    "12": "SToF: one Safe Disable input open",
    "13": "STo: both Safe Disable inputs open",
    "14": "ComRef enabled",
    "15": "ComCtrl enabled"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 33,
   "documented": "0021H",
   "name": "Fault Description 1",
   "description": "Active fault groups.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "oC overcurrent / GF ground fault",
    "1": "ov overvoltage",
    "2": "oL2 drive overload",
    "3": "oH1 heatsink / oH2 external overheat",
    "4": "rH braking resistor overheat / rr braking transistor",
    "6": "FbL / FbH PID feedback fault",
    "7": "EF0, EF1-EF7 external fault",
    "8": "CPFxx hardware fault (incl. oFx)",
    "9": "oL1 motor overload, oL3/oL4 overtorque, UL3/UL4 undertorque",
    "10": "PGo, oS, dEv",
    "11": "During Uv detection",
    "12": "Uv1/Uv2/Uv3 undervoltage",
    "13": "LF output / PF input phase loss",
    "14": "CE Modbus / bUS option communication error"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 34,
   "documented": "0022H",
   "name": "Fault Contents (data link)",
   "description": "Status of the last parameter write.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "During data writing / motor switching",
    "3": "Upper/lower limit fault",
    "4": "Data integrity fault",
    "5": "During EEPROM writing",
    "6": "1 = data changed in RAM only (H5-17 = 1)"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 35,
   "documented": "0023H",
   "name": "U1-01 Frequency Reference",
   "description": "Units follow o1-03 (0 = 0.01 Hz).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 36,
   "documented": "0024H",
   "name": "U1-02 Output Frequency",
   "description": "Units follow o1-03 (0 = 0.01 Hz).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 41,
   "documented": "0029H",
   "name": "Fault Description 2",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "1": "GF ground fault",
    "2": "PF input phase loss",
    "3": "LF output phase loss",
    "4": "rH braking resistor overheat",
    "6": "oH4 motor overheat (PTC)"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 42,
   "documented": "002AH",
   "name": "Minor Fault Description 1",
   "description": "Active alarms (minor faults).",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "2": "EF FWD/REV run command input error",
    "3": "bb baseblock",
    "4": "oL3 overtorque 1",
    "5": "oH heatsink overheat",
    "6": "ov overvoltage",
    "7": "Uv undervoltage",
    "9": "CE Modbus communication error",
    "10": "bUS option communication error",
    "11": "UL3/UL4 undertorque",
    "12": "oH3 motor overheat (PTC)",
    "13": "FbL / FbH PID feedback",
    "15": "CALL serial comm transmission error"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 43,
   "documented": "002BH",
   "name": "U1-10 Input Terminal Status",
   "description": "1 = terminal on.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "S1",
    "1": "S2",
    "2": "S3",
    "3": "S4",
    "4": "S5",
    "5": "S6",
    "6": "S7"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 44,
   "documented": "002CH",
   "name": "Drive Status 2",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "During run",
    "1": "During zero speed",
    "2": "Speed agreement",
    "3": "User-defined speed agreement",
    "4": "Frequency detection 1",
    "5": "Frequency detection 2",
    "6": "Run ready",
    "7": "During low voltage detection",
    "8": "During baseblock",
    "9": "Freq. reference mode: 1 = no comm option, 0 = comm option",
    "10": "Run command mode: 1 = no comm option, 0 = comm option",
    "11": "During overtorque/undertorque 1, 2",
    "12": "Frequency reference loss",
    "13": "Executing auto-restart",
    "14": "Fault",
    "15": "MEMOBUS/Modbus communications timeout"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 45,
   "documented": "002DH",
   "name": "U1-11 Output Terminal Status",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "MFDO MA/MB-MC",
    "1": "Photocoupler P1-C1",
    "2": "Photocoupler P2-C2"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 49,
   "documented": "0031H",
   "name": "U1-07 DC Bus Voltage",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "V",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 52,
   "documented": "0034H",
   "name": "Product Code 1",
   "description": "Two ASCII characters; GA500 = \"0A\".",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 53,
   "documented": "0035H",
   "name": "Product Code 2",
   "description": "Two ASCII characters; GA500 = \"50\".",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 56,
   "documented": "0038H",
   "name": "PID Feedback",
   "description": "Unsigned; 100% = maximum output frequency.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 57,
   "documented": "0039H",
   "name": "PID Input",
   "description": "Signed; 100% = maximum output frequency.",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 58,
   "documented": "003AH",
   "name": "PID Output",
   "description": "Signed; 100% = maximum output frequency.",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 61,
   "documented": "003DH",
   "name": "Communications error description",
   "description": "Held until the fault is reset.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "CRC error",
    "1": "Data length error",
    "3": "Parity error",
    "4": "Overrun error",
    "5": "Framing error",
    "6": "Timeout"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 75,
   "documented": "004BH",
   "name": "U1-12 Drive Status",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "During run",
    "1": "During zero speed",
    "2": "During reverse",
    "3": "During reset signal input",
    "4": "During speed agreement",
    "5": "Drive operation ready",
    "6": "Minor fault",
    "7": "Fault",
    "8": "oPExx operation error",
    "9": "Momentary power loss recovery",
    "10": "Motor 2 selected",
    "14": "ComRef/NetRef status",
    "15": "ComCtrl/NetCtrl status"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 76,
   "documented": "004CH",
   "name": "U4-01 Cumulative Ope Time",
   "description": "Reported in 10 h units over Modbus.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 10,
   "units": "h",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 117,
   "documented": "0075H",
   "name": "U4-02 Num of Run Commands",
   "description": "Count of Run commands (wraps at 65535).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 124,
   "documented": "007CH",
   "name": "U4-05 Capacitor Maintenance",
   "description": "Percent of estimated capacitor life used.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 126,
   "documented": "007EH",
   "name": "U4-04 Cooling Fan Maintenance",
   "description": "Percent of estimated fan life used.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "%",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 127,
   "documented": "007FH",
   "name": "Minor fault code",
   "description": "Code of the active minor fault (alarm).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 152,
   "documented": "0098H",
   "name": "U4-01 Cumulative Ope Time (upper digits)",
   "description": "U4-01 divided by 10 (e.g. 12345 h -> 1234).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 10,
   "units": "h",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 153,
   "documented": "0099H",
   "name": "U4-01 Cumulative Ope Time (last digit)",
   "description": "Ones digit of U4-01 (e.g. 12345 h -> 5).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "h",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 191,
   "documented": "00BFH",
   "name": "Operation error number",
   "description": "The xx of an active oPExx error.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 192,
   "documented": "00C0H",
   "name": "Fault Description 3",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "1": "Uv1 DC bus undervoltage",
    "2": "Uv2 control power undervoltage",
    "3": "Uv3 soft charge answerback",
    "4": "SC short circuit / IGBT",
    "5": "GF ground fault",
    "6": "oC overcurrent",
    "7": "ov overvoltage",
    "8": "oH heatsink overheat",
    "9": "oH1 heatsink overheat",
    "10": "oL1 motor overload",
    "11": "oL2 drive overload",
    "12": "oL3 overtorque 1",
    "13": "oL4 overtorque 2",
    "14": "rr braking transistor",
    "15": "rH braking resistor overheat"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 384,
   "documented": "0180H",
   "name": "b1-01 Frequency Reference Selection 1",
   "description": "Set 2 for frequency reference over Modbus.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Keypad",
    "1": "Analog Input",
    "2": "Memobus/Modbus Communications",
    "3": "Option PCB",
    "4": "Pulse Train Input"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 385,
   "documented": "0181H",
   "name": "b1-02 Run Command Selection 1",
   "description": "Set 2 for Run command over Modbus.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Keypad",
    "1": "Digital Input",
    "2": "Memobus/Modbus Communications",
    "3": "Option PCB"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1061,
   "documented": "0425H",
   "name": "H5-01 Drive Node Address",
   "description": "0-FFH; 0 disables responses. Reload needed.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1062,
   "documented": "0426H",
   "name": "H5-02 Communication Speed Selection",
   "description": "Reload needed after change.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "1200 bps",
    "1": "2400 bps",
    "2": "4800 bps",
    "3": "9600 bps",
    "4": "19.2 kbps",
    "5": "38.4 kbps",
    "6": "57.6 kbps",
    "7": "76.8 kbps",
    "8": "115.2 kbps"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1063,
   "documented": "0427H",
   "name": "H5-03 Communication Parity Selection",
   "description": "Reload needed after change.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "No parity",
    "1": "Even parity",
    "2": "Odd parity"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1064,
   "documented": "0428H",
   "name": "H5-04 Communication Error Stop Method",
   "description": "Reaction to a CE communication error.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Ramp to Stop",
    "1": "Coast to Stop",
    "2": "Fast Stop (Use C1-09)",
    "3": "Alarm Only"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1065,
   "documented": "0429H",
   "name": "H5-05 Comm Fault Detection Selection",
   "description": "Enables CE detection.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Disabled",
    "1": "Enabled"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1078,
   "documented": "0436H",
   "name": "H5-10 Modbus Register 0025H Unit Sel",
   "description": "Unit of the output voltage monitor at 0025H.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "0.1 V units",
    "1": "1 V units"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1084,
   "documented": "043CH",
   "name": "H5-11 Comm ENTER Command Mode",
   "description": "Whether parameter writes need the Enter command.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "ENTER Command Required",
    "1": "ENTER Command Not Required"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 1085,
   "documented": "043DH",
   "name": "H5-12 Run Command Method Selection",
   "description": "Meaning of 0001H bits 0/1.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "FWD/Stop, REV/Stop",
    "1": "Run/Stop, FWD/REV"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 2304,
   "documented": "0900H",
   "name": "Enter command (save to EEPROM)",
   "description": "Write 0 to apply parameter writes to RAM and EEPROM.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 2320,
   "documented": "0910H",
   "name": "Enter command (RAM only)",
   "description": "Write 0 to apply parameter writes to RAM only.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "W",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 2903,
   "documented": "0B57H",
   "name": "H5-20 Communication Parameters Reload",
   "description": "Apply changed H5 settings without power cycle.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Reload at Next Power Cycle",
    "1": "Reload Now"
   },
   "bits": null,
   "offset": 0
  }
 ],
 "integration": {
  "summary": "Set H5-01..H5-03 for the network, set b1-01 = 2 and b1-02 = 2 so frequency reference and Run command come from Modbus, then write 0001H (run bits) and 0002H (frequency reference) with function 10H and poll 0020H-0021H for status and faults.",
  "minimum_registers": [
   {
    "table": "holding_register",
    "address": 1,
    "why": "Run/stop, direction, fault reset"
   },
   {
    "table": "holding_register",
    "address": 2,
    "why": "Frequency reference (o1-03 units)"
   },
   {
    "table": "holding_register",
    "address": 32,
    "why": "Drive Status 1: run/ready/fault"
   },
   {
    "table": "holding_register",
    "address": 33,
    "why": "Fault Description 1"
   },
   {
    "table": "holding_register",
    "address": 36,
    "why": "U1-02 Output frequency"
   },
   {
    "table": "holding_register",
    "address": 49,
    "why": "U1-07 DC bus voltage"
   },
   {
    "table": "holding_register",
    "address": 44,
    "why": "Drive Status 2 incl. comm timeout bit"
   }
  ],
  "enable": "Set H5-01 node address (default 1FH), H5-02 speed (default 3 = 9600 bps) and H5-03 parity (default 0 = none), then power-cycle or set H5-20 = 1. For control set b1-01 = 2 [Memobus/Modbus Communications] and b1-02 = 2 (b1-15/b1-16 for external reference 2). H5-12 decides whether 0001H bits 0/1 mean FWD/REV run or Run + direction. Network inputs are ORed with terminals S1-S7.",
  "watchdog": "H5-05 = 1 enables CE [Modbus Communication Error] detection, H5-09 CE Detection Time (0.0-25.0 s, default 2.0 s) sets the timeout, and H5-04 selects the reaction: 0 ramp to stop, 1 coast, 2 fast stop (C1-09), 3 alarm only (default). Drive Status 2 (002CH) bit F shows a communications timeout.",
  "quirks": [
   "Registers are hex and 0-based: 0020H is sent as 00 20.",
   "Only function codes 03H, 08H, 10H, 5AH and 67H are supported; there is no 06H single-register write, so use 10H even for one register.",
   "Reads and writes are limited to 16 registers per message (03H/10H).",
   "With H5-11 = 0 parameter writes only take effect after writing 0 to 0900H (EEPROM) or 0910H (RAM); command registers 0001H-000FH never need Enter. 0900H/0910H are write-only and reading them returns error 02H.",
   "Minimum gap before the next message: about 5 ms after commands/reads, 50 ms after a parameter write, 3-5 s after an Enter command."
  ],
  "setup": [
   "RS-485 2-wire on terminal TB4 (D+, D-, AC common); up to 31 drives per segment.",
   "Turn DIP switch S2 ON at the last drive on the line to enable its termination resistor; OFF on the others.",
   "Data is 8 bits with 1 stop bit; speeds 1.2-115.2 kbps; parity none/even/odd.",
   "H5-06 Drive Transmit Wait Time (default 5 ms) adds delay before the drive answers if the master overruns.",
   "Self-test: set H1-06 = 67, jumper S6-SN and power up; the keypad shows PASS when the port is healthy."
  ],
  "gotchas": [
   "H5-01 = 0 stops the drive from answering at all.",
   "Changes to H5-01..H5-03 need a power cycle or H5-20 = 1 before they apply.",
   "The Enter command to EEPROM (0900H) wears the EEPROM (about 100,000 writes); use 0910H for frequent changes.",
   "With a communication option card fitted, the option takes priority for ComRef/ComCtrl."
  ]
 },
 "page": "https://easymodbus.com/modbus-register-maps/yaskawa/ga500",
 "address_note": "address = 0-based Modbus wire (PDU) address; documented = as printed in the source.",
 "note": "Re-typed from the manufacturer's public documentation (see source) and verified against it. Registers vary by firmware and options; verify against the live device before writing."
}
