{
 "manufacturer": "LS Electric",
 "manufacturer_slug": "ls-electric",
 "model": "LSLV-S100 AC drive (built-in RS-485 Modbus RTU)",
 "model_slug": "s100",
 "short_model": "S100",
 "aliases": [
  "LSLV-S100",
  "LSIS S100",
  "LS S100",
  "LSLV0075S100-4EOFNS"
 ],
 "equipment_type": "Variable frequency drive",
 "applies_to": "LS Electric S100 drives (0.4-75 kW, including IP66) using the built-in RS-485 terminals S+/S-/SG with CM.02 = Modbus-RTU, per S100 User Manual V4.3.",
 "summary": "LS Electric's general-purpose variable frequency drive with a built-in RS-485 port that speaks Modbus RTU or the LS INV 485 protocol. Monitoring sits in the S100 common area at 0h0300-0h037F, run/stop and frequency commands at 0h0380-0h03DF, and every keypad parameter has its own address per group (dr = 0h1100, CM = 0h1700, Pr = 0h1B00). This map covers the S100 common area, the trip/warning bit words, and the parameters needed to put the drive under Modbus control.",
 "transport": [
  "RTU"
 ],
 "defaults": {
  "unit_id": 1,
  "baud": 9600,
  "parity": "None",
  "data_bits": 8,
  "stop_bits": 1,
  "tcp_port": null
 },
 "addressing": {
  "convention": "1-based",
  "note": "The manual prints communication addresses in hex (0h0300, 0h1103). Its only Modbus-RTU worked example writes Acc time (0x1103) and Dec time (0x1104) with starting address 0x1102, labelled 'Starting Address -1 (0x1103-1)', and the CRCs printed for that request (0x1202) and response (0xE534) are the correct CRCs for 0x1102, so the wire address is the printed address minus 1: 0h0380 frequency command is sent as 0x037F. The protocol text only says the starting address is the communication address; this map follows the worked frame. The manual states no different rule per area."
 },
 "default_word_order": null,
 "firmware": null,
 "source": {
  "title": "S100 User Manual (LSLV-S100 AC Variable Speed Drive)",
  "doc_number": "S100_Manual_English_V4.3",
  "revision_date": "2026-09",
  "url": "https://sol.ls-electric.com/us/en/product/document/8652",
  "pages": "Chapter 7 RS-485 Communication Features, printed pp. 279-308 (PDF pp. 293-322): parameters and command loss pp. 281-285, memory map p. 285-286, Modbus-RTU function codes and the 0x1103 example pp. 292-295, S100 expansion common area pp. 299-306; function tables dr group p. 310-311, CM group p. 346, Pr group pp. 354-355."
 },
 "notes": [
  "Direct PDF from LS Electric's Solution Square CDN: https://sftpssqblobcdn.blob.core.windows.net/prod/largefile/document/17912520084750/S100_Manual_English_V4.3.pdf (V4.3, listed on the document page with update date 2026-10-06).",
  "Left out because the sign is not stated and the values can go negative: 0h0317 output torque, 0h0318/0h0319 and 0h0388/0h0389 PID reference/feedback, 0h0390-0h0395 torque reference/limits/bias, 0h0324-0h032B analog inputs and outputs (V1 can be bipolar), and 0h032D module temperature.",
  "Left out: 0h032E/0h032F energy (0.1 kWh and MWh registers; how they combine is not described) and the parameter-group registers other than those needed for setup.",
  "0h0305 and 0h0306 hold packed 4-bit and 8-bit fields rather than single flags; the 'bits' entries name the lowest bit of each field.",
  "Pr.13 Lost Cmd Time (0h1B0D, 0.1-120 s) is not included because its register scaling is not printed; set it on the keypad.",
  "The frequency command registers (0h0005, 0h0380) are never stored, even with parameter save; to keep a frequency through a power cycle set dr.07 = 1 (Keypad-1), write dr.01 at 0h1101 and save with 0h03E0.",
  "The iS5/iP5A/iV5/iG5A-compatible area (0h0000-0h001B: command frequency 0h0005, operation command 0h0006, status 0h000E and so on) is left out: the manual starts that area at 0h0000, which cannot exist under the minus-1 rule shown in its only example frame, so the offset for that legacy area is not settled by the manual. Use the S100 area at 0h0300+ instead.",
  "The manual prints a scale of '0' for 0h0312 output rpm, 0h0313 feedback speed and the 0h0340-0h0345 time counters; this map reads that as zero decimal places (whole rpm, days, minutes).",
  "CM.04 option 1 (D8/PN/S2, two stop bits) appears in the chapter 7 parameter description but not in the CM group function table."
 ],
 "registers": [
  {
   "table": "holding_register",
   "address": 767,
   "documented": "0h0300",
   "name": "Inverter model",
   "description": "0006h = S100.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "6": "S100"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 768,
   "documented": "0h0301",
   "name": "Inverter capacity",
   "description": "Coded, e.g. 4075h = 7.5 kW, 4160h = 22 kW.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 770,
   "documented": "0h0303",
   "name": "Inverter software version",
   "description": "Hex coded: 0x0100 = version 1.00.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 772,
   "documented": "0h0305",
   "name": "Inverter operation state",
   "description": "Three packed 4-bit fields.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "B0-B3 field: 0 stopped, 1 forward, 2 reverse, 3 DC operating (0 speed)",
    "4": "B4-B7 field: 1 speed search, 2 accel, 3 constant speed, 4 decel, 5 decel to stop, 6 H/W OCS, 7 S/W OCS, 8 dwell",
    "12": "B12-B15 field: 0 ready, 4 warning, 8 fault (per Pr.30)"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 773,
   "documented": "0h0306",
   "name": "Operation/frequency command source",
   "description": "High byte = run command source, low byte = frequency source.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "B0-B7 frequency source: 0 keypad speed, 1 keypad torque, 2-4 up/down, 5 V1, 7 V2, 8 I2, 9 pulse, 10 built-in 485, 11 comm option, 12 user sequence, 13 jog, 14 PID, 25-39 multi-step",
    "8": "B8-B15 run command source: 0 keypad, 1 comm option, 2 user sequence, 3 built-in 485, 4 terminal block"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 783,
   "documented": "0h0310",
   "name": "Output current",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "A",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 784,
   "documented": "0h0311",
   "name": "Output frequency",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.01,
   "units": "Hz",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 785,
   "documented": "0h0312",
   "name": "Output rpm",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "rpm",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 786,
   "documented": "0h0313",
   "name": "Motor feedback speed",
   "description": "Signed, direction-aware.",
   "data_type": "INT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "rpm",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 787,
   "documented": "0h0314",
   "name": "Output 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": 788,
   "documented": "0h0315",
   "name": "DC link 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": 789,
   "documented": "0h0316",
   "name": "Output power",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "kW",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 796,
   "documented": "0h031D",
   "name": "Hz/rpm unit select",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": {
    "0": "Hz",
    "1": "rpm"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 799,
   "documented": "0h0320",
   "name": "Digital input information",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "P1 (I/O board)",
    "1": "P2 (I/O board)",
    "2": "P3 (I/O board)",
    "3": "P4 (I/O board)",
    "4": "P5 (I/O board)",
    "5": "P6 (I/O board)",
    "6": "P7 (I/O board)",
    "7": "P8 (extension I/O)",
    "8": "P9 (extension I/O)",
    "9": "P10 (extension I/O)"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 800,
   "documented": "0h0321",
   "name": "Digital output information",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "Relay 1",
    "1": "Q1",
    "2": "Relay 2 (30-75 kW)",
    "3": "Relay 3 (extension I/O)",
    "4": "Relay 4 (extension I/O)"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 801,
   "documented": "0h0322",
   "name": "Virtual digital input information",
   "description": "State of CM.70-CM.77 virtual inputs.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "Virtual DI 1 (CM.70)",
    "1": "Virtual DI 2 (CM.71)",
    "2": "Virtual DI 3 (CM.72)",
    "3": "Virtual DI 4 (CM.73)",
    "4": "Virtual DI 5 (CM.74)",
    "5": "Virtual DI 6 (CM.75)",
    "6": "Virtual DI 7 (CM.76)",
    "7": "Virtual DI 8 (CM.77)"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 815,
   "documented": "0h0330",
   "name": "Latch type trip information 1",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "Overload trip",
    "1": "Underload trip",
    "2": "Inverter overload trip",
    "3": "E-Thermal trip",
    "4": "Ground fault trip",
    "5": "Output open-phase trip",
    "6": "Input open-phase trip",
    "9": "NTC trip",
    "10": "Overcurrent trip",
    "11": "Overvoltage trip",
    "12": "External trip",
    "13": "Arm short",
    "14": "Over heat trip",
    "15": "Fuse open trip"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 816,
   "documented": "0h0331",
   "name": "Latch type trip information 2",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "2": "Thermal trip",
    "3": "Fan trip",
    "5": "Error while writing parameter",
    "6": "Pre PID fail",
    "7": "Bad contact at basic I/O board",
    "8": "External brake trip",
    "9": "No motor trip",
    "10": "Bad option card",
    "12": "Safety A",
    "13": "Safety B"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 817,
   "documented": "0h0332",
   "name": "Level type trip information",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "BX",
    "1": "Low voltage",
    "2": "Lost command",
    "3": "Keypad lost command",
    "6": "Lost option command",
    "7": "BLE app lost"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 818,
   "documented": "0h0333",
   "name": "H/W diagnosis trip information",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "ADC error",
    "1": "EEPROM error",
    "2": "Watchdog-1 error",
    "3": "Watchdog-2 error",
    "5": "Queue full",
    "6": "CommUpdate error"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 819,
   "documented": "0h0334",
   "name": "Warning information",
   "description": "",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "R",
   "values": null,
   "bits": {
    "0": "Overload",
    "1": "Underload",
    "2": "Inverter overload",
    "3": "Lost command",
    "4": "Fan running",
    "5": "DB",
    "6": "Wrong encoder installation",
    "7": "Encoder disconnection",
    "8": "Keypad lost",
    "9": "Auto tuning failed",
    "10": "Fan exchange",
    "11": "Fire mode",
    "15": "Comm idle state"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 831,
   "documented": "0h0340",
   "name": "On time days",
   "description": "Days powered on.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "day",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 832,
   "documented": "0h0341",
   "name": "On time minutes",
   "description": "Minutes on top of the on-time days.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "min",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 833,
   "documented": "0h0342",
   "name": "Run time days",
   "description": "Days the motor was driven.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "day",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 834,
   "documented": "0h0343",
   "name": "Run time minutes",
   "description": "Minutes on top of the run-time days.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "min",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 835,
   "documented": "0h0344",
   "name": "Fan time days",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "day",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 836,
   "documented": "0h0345",
   "name": "Fan time minutes",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "min",
   "access": "R",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 895,
   "documented": "0h0380",
   "name": "Frequency command",
   "description": "Run frequency from communication; not saved at power-off.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.01,
   "units": "Hz",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 896,
   "documented": "0h0381",
   "name": "RPM command",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "rpm",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 897,
   "documented": "0h0382",
   "name": "Operation command",
   "description": "0003h = forward run, 0001h = reverse run, 0000h = stop.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": {
    "0": "1 = run, 0 = stop",
    "1": "1 = forward, 0 = reverse",
    "2": "0->1: trip reset",
    "3": "0->1: free-run stop"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 898,
   "documented": "0h0383",
   "name": "Acceleration time",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "s",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 899,
   "documented": "0h0384",
   "name": "Deceleration time",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "s",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 900,
   "documented": "0h0385",
   "name": "Virtual digital input control",
   "description": "Bits drive the functions set in CM.70-CM.77.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": {
    "0": "Virtual DI 1 (CM.70)",
    "1": "Virtual DI 2 (CM.71)",
    "2": "Virtual DI 3 (CM.72)",
    "3": "Virtual DI 4 (CM.73)",
    "4": "Virtual DI 5 (CM.74)",
    "5": "Virtual DI 6 (CM.75)",
    "6": "Virtual DI 7 (CM.76)",
    "7": "Virtual DI 8 (CM.77)"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 901,
   "documented": "0h0386",
   "name": "Digital output control",
   "description": "Works only for outputs whose function is set to None.",
   "data_type": "BITMAP16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": {
    "0": "Relay 1 (OU.31 = None)",
    "1": "Q1 (OU.33 = None)",
    "2": "Relay 2, 30-75 kW",
    "3": "Relay 3, extension I/O",
    "4": "Relay 4, extension I/O"
   },
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 905,
   "documented": "0h038A",
   "name": "Motor rated current",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "A",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 906,
   "documented": "0h038B",
   "name": "Motor rated voltage",
   "description": "",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "V",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 991,
   "documented": "0h03E0",
   "name": "Save parameters",
   "description": "Write 0 then 1 to store parameters changed by communication.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "No",
    "1": "Yes"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 993,
   "documented": "0h03E2",
   "name": "Parameter initialization",
   "description": "Not allowed while tripped or running.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "No",
    "1": "All groups",
    "2": "dr group",
    "3": "bA group",
    "4": "Ad group",
    "5": "Cn group",
    "6": "In group",
    "7": "OU group",
    "8": "CM group",
    "9": "AP group",
    "12": "Pr group",
    "13": "M2 group"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4354,
   "documented": "0h1103",
   "name": "dr.03 Acceleration time",
   "description": "0.0-600.0 s, default 20.0 s (manual example: 50 = 5.0 s).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "s",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4355,
   "documented": "0h1104",
   "name": "dr.04 Deceleration time",
   "description": "0.0-600.0 s, default 30.0 s (manual example: 100 = 10.0 s).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 0.1,
   "units": "s",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4357,
   "documented": "0h1106",
   "name": "dr.06 Command source",
   "description": "Set 3 to run from built-in RS-485; default 1.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Keypad",
    "1": "Fx/Rx-1",
    "2": "Fx/Rx-2",
    "3": "Int 485",
    "4": "Field Bus",
    "5": "UserSeqLink"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 4358,
   "documented": "0h1107",
   "name": "dr.07 Frequency reference source",
   "description": "Set 6 for frequency from built-in RS-485; default 0.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Keypad-1",
    "1": "Keypad-2",
    "2": "V1",
    "4": "V2",
    "5": "I2",
    "6": "Int 485",
    "8": "Field Bus",
    "9": "UserSeqLink",
    "12": "Pulse"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 5888,
   "documented": "0h1701",
   "name": "CM.01 Int485 station ID",
   "description": "1-250, default 1.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 5889,
   "documented": "0h1702",
   "name": "CM.02 Int485 protocol",
   "description": "Default 0.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "Modbus-RTU",
    "2": "LS INV 485"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 5890,
   "documented": "0h1703",
   "name": "CM.03 Int485 baud rate",
   "description": "Default 3 (9600).",
   "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": "19200 bps",
    "5": "38400 bps",
    "6": "56000 bps",
    "7": "115200 bps"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 5891,
   "documented": "0h1704",
   "name": "CM.04 Int485 frame",
   "description": "Default 0 (8N1).",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "D8/PN/S1",
    "1": "D8/PN/S2",
    "2": "D8/PE/S1",
    "3": "D8/PO/S1"
   },
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 5892,
   "documented": "0h1705",
   "name": "CM.05 Response delay",
   "description": "Delay before the drive answers, 0-1000 ms; default 5.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "ms",
   "access": "RW",
   "values": null,
   "bits": null,
   "offset": 0
  },
  {
   "table": "holding_register",
   "address": 6923,
   "documented": "0h1B0C",
   "name": "Pr.12 Lost command mode",
   "description": "Action on speed-command loss; default 0.",
   "data_type": "UINT16",
   "length": 1,
   "word_order": null,
   "scale": 1,
   "units": "",
   "access": "RW",
   "values": {
    "0": "None",
    "1": "Free-run",
    "2": "Dec (Pr.07 time)",
    "3": "Hold input",
    "4": "Hold output",
    "5": "Lost preset (Pr.14)"
   },
   "bits": null,
   "offset": 0
  }
 ],
 "integration": {
  "summary": "Set CM.01-CM.04 to match the master, set dr.06 = 3 (Int 485) and dr.07 = 6 (Int 485), then write 0h0380 (frequency, 0.01 Hz) and 0h0382 (0003h forward, 0001h reverse, 0000h stop). Poll 0h0305, 0h0310, 0h0311, 0h0315 and the trip words 0h0330-0h0334. Remember every printed address is sent minus 1.",
  "minimum_registers": [
   {
    "table": "holding_register",
    "address": 897,
    "why": "0h0382 operation command (run/stop/direction/reset)"
   },
   {
    "table": "holding_register",
    "address": 895,
    "why": "0h0380 frequency command, 0.01 Hz"
   },
   {
    "table": "holding_register",
    "address": 772,
    "why": "0h0305 operation state (ready/warning/fault, accel/decel, direction)"
   },
   {
    "table": "holding_register",
    "address": 784,
    "why": "0h0311 output frequency"
   },
   {
    "table": "holding_register",
    "address": 783,
    "why": "0h0310 output current"
   },
   {
    "table": "holding_register",
    "address": 788,
    "why": "0h0315 DC link voltage"
   },
   {
    "table": "holding_register",
    "address": 815,
    "why": "0h0330 latch trip flags"
   },
   {
    "table": "holding_register",
    "address": 819,
    "why": "0h0334 warning flags"
   }
  ],
  "enable": "CM.01 station ID (1-250, default 1), CM.02 = 0 Modbus-RTU (default), CM.03 baud (default 3 = 9600), CM.04 frame (default 0 = 8N1), CM.05 response delay (default 5 ms). For control set dr.06 Cmd Source = 3 (Int 485) and dr.07 Freq Ref Src = 6 (Int 485); on the 7-segment keypad these are the drv and Frq codes. Virtual inputs: assign functions in CM.70-CM.77 and set bits in 0h0385.",
  "watchdog": "Pr.12 Lost Cmd Mode (0 none by default, 1 free-run, 2 decelerate with Pr.07, 3 hold average input, 4 hold average output, 5 run at Pr.14) acts when communication has been lost for longer than Pr.13 Lost Cmd Time (0.1-120 s, default 1.0 s). Relay 1 can signal it with OU.31 = 13 (Lost Command); 0h0332 bit 2 and 0h0334 bit 3 flag it.",
  "quirks": [
   "Wire address = printed address - 1 (manual example: 0x1103 is sent as 0x1102). 0h0300 is read at 0x02FF.",
   "Supported functions: 03, 04, 06 and 16 (0x10). Exception 06 means slave busy.",
   "0h0382 bits 2 and 3 act on a 0 -> 1 edge: write the bit back to 0 before the next reset or free-run stop.",
   "Values changed over communication are lost at power-off unless saved: write 0h03E0 = 0 then 1 (a 1 -> 0 change does nothing). Setting CNF.48 = 1 on the LCD keypad also saves them.",
   "An older iG5A-compatible block also exists at 0h0000-0h001B; this map does not use it because the manual's minus-1 rule cannot reach its first address 0h0000."
  ],
  "setup": [
   "Wire RS-485 to control terminals S+, S- and SG; connect SG to the master's signal ground.",
   "Turn the RS-485 terminating resistor on with switch SW4 on the control board (factory setting Off) at the drive at each end of the line.",
   "Up to 16 drives per line, 1,200 m maximum (700 m recommended), shielded twisted pair 0.75 mm2.",
   "Baud 1200-115200 bps; frames 8N1, 8N2, 8E1 or 8O1."
  ],
  "gotchas": [
   "Factory dr.06 = 1 (Fx/Rx-1 terminals) and dr.07 = 0 (Keypad-1): network run and frequency commands do nothing until both are changed.",
   "When registering control items in CM.51 onward (read/written at 0h0110+), put the frequency and run command entries last in the frame.",
   "0h0386 digital output control only moves outputs whose OU.31/OU.33 function is None.",
   "If every value looks shifted by one register, the master is already applying the -1 itself; read 0h0300 (inverter model) and expect 0006h."
  ]
 },
 "page": "https://easymodbus.com/modbus-register-maps/ls-electric/s100",
 "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."
}
