# Property of PMA Electrical Solutions, LLC. # # Legacy Benshaw RSi S4 sensorless-vector VFD, built-in RS-485 Modbus RTU. # Source: Benshaw 890035-01-03, "RSi S4 Series Variable Frequency Drive User # Manual": remote communications printed pp. 159-162, parameter addresses # pp. 163-172, and fault codes pp. 147-150. # # ADDRESSING: this manual prints conventional 4xxxx references. All addresses # below are 0-based protocol offsets: printed address - 40001. # # Setup: I/O46=0 Modbus RTU, I/O47 node, I/O48=1 for 9600 baud; DRV04=3 Serial # and DRV05=14 Serial. The manual conflicts on I/O49's default: its parameter # description says 1.0 s (p. 111), while the appendix says 0.0/disabled # (p. 167). Verify it and set 1.0 s before serial control; expiry raises fault # 25. The 500 ms keepalive assumes that commissioned setting. name = "Benshaw RSi S4" vendor = "Benshaw" device_type = "vfd" verified = false probe_register = 21 # 40022 Drive Model [connection] summary = "The RSi S4 has a built-in Modbus RS-485 RJ45 on the bottom of the Terminal Strip Processor card." warnings = [] [[connection.methods]] id = "tsp_rj45_rs485" title = "Built-in TSP-card RS-485 RJ45" transport = "serial" hardware = "built_in" port = "RJ45 on bottom of Terminal Strip Processor card" connector = "RJ45 wired as RS-485, not Ethernet" adapter = "Isolated USB-to-RS-485 adapter, 2-wire half-duplex" cable = "Shielded twisted-pair cable terminated to the documented modular-plug pins" parts = ["Isolated two-wire RS-485 adapter", "Shielded twisted-pair cable terminated to the documented modular-plug pins", "Field-terminated modular plug or documented breakout adapter"] steps = ["Lock out line and control power, wait the vendor-specified discharge time, and verify the DC bus is de-energized before opening a cover or landing conductors.", "Land the positive and negative data conductors exactly as shown; connect the cable shield or signal common only where the method identifies it.", "Route the communications cable away from motor and mains conductors. Terminate the two physical ends of a long multidrop trunk only.", "Restore control power with the motor area clear, configure the drive from its keypad, then verify identity and read-only monitor data before enabling remote control."] setup = ["Set I/O46=0 Modbus RTU, I/O47=node, I/O48=1 for 9600, DRV04=3, DRV05=14, and explicitly set I/O49 timeout."] warnings = ["A modular communications jack is not automatically Ethernet. Never connect it to a LAN switch unless this guide explicitly identifies a Modbus TCP method.", "RS-485 A/B naming is not consistent between manufacturers. Follow the + and - mapping shown here.", "RJ45 pin 1 carries +24 VDC; pins 2, 4, and 5 are not connected. Never use a standard Ethernet connection.", "Fit a 120 ohm 1/4 W terminator only if this drive is at the cable end."] source = "Benshaw 890035-01-03 RSi S4 User Manual, printed p. 159 Figure 38 (pinout) and pp. 159-162 (setup)" [[connection.methods.wiring]] adapter = "Adapter D+ / +" device = "RJ45 pin 3 (SIO+)" signal = "RS-485 data positive" required = true [[connection.methods.wiring]] adapter = "Adapter D- / -" device = "RJ45 pin 6 (SIO-)" signal = "RS-485 data negative" required = true [[connection.methods.wiring]] adapter = "Adapter signal ground / shield" device = "RJ45 pin 7 or 8 (Ground)" signal = "Signal reference or shield drain" required = false [serial] baudrate = 9600 parity = "N" stopbits = 1 [monitor] motor_current = { address = 7, scale = 0.1, unit = "A" } output_voltage = { address = 8, unit = "V" } output_power = { address = 9, scale = 0.01, unit = "kW" } energy_mwh = { address = 10, unit = "MWh" } energy_kwh = { address = 11, scale = 0.1, unit = "kWh" } run_time = { address = 12, scale = 0.1, unit = "h" } power_time = { address = 13, unit = "h" } output_frequency = { address = 14, scale = 0.1, unit = "Hz" } drive_load = { address = 15, scale = 0.1, signed = true, unit = "%" } drive_temperature = { address = 16, scale = 0.1, signed = true, unit = "degC" } dc_voltage = { address = 17, unit = "V" } stator_frequency = { address = 18, scale = 0.1, unit = "Hz" } load_torque = { address = 19, scale = 0.1, signed = true, unit = "%" } status_word = { address = 907, bits = { 0 = "SERIAL_LINK_CONTROL", 1 = "SERIAL_LINK_FREQUENCY_REFERENCE", 2 = "RUNNING_FWD", 3 = "RUNNING_REV", 4 = "FEXT2", 5 = "ACCELERATING", 6 = "DECELERATING", 8 = "ALTERNATE_RAMP", 9 = "SPEED_LIMIT_OVERRIDE", 10 = "REMOTE", 11 = "CURRENT_LIMIT", 12 = "DC_INJECTION", 13 = "JOG", 14 = "ZERO_SPEED" } } # Control Word 1 at 40904. Bit 0 enables serial-link control; bits 3:2 are # 00 stop, 01 forward, 10 reverse. Bit 1 remains zero so 40005 is reference 1. [control] command_register = 903 speed_register = 4 # 40005, raw Hz x 100 speed_scale = 0.01 speed_unit = "Hz" max_ref = 400.0 step_delay = 0.05 stop = [0x0000] run_fwd = [0x0005] run_rev = [0x0009] reset = [] # manual documents no Modbus fault-reset command [control.watchdog] backstop_requires_setup = true interval_ms = 500 fault = "Fault 25 Comm Loss (requires I/O49 nonzero; 1.0 s recommended)" # No [running_check]: forward/reverse use separate bits. [rating] register = 21 # 40022 DRV22 read-only Drive Model label = "drive model code" [faults] register = 799 history = [819, 839, 859, 879] [faults.codes] 0 = "No fault" 1 = "System fault" 2 = "EEPROM checksum error" 3 = "Current calibration fault" 4 = "Power supply fault" 6 = "Instantaneous overcurrent trip" 7 = "MOL contact fault" 8 = "Drive model ID out of range" 10 = "Restart lockout" 11 = "Ground fault" 12 = "Input voltage imbalance" 13 = "Overvoltage" 15 = "Dynamic-braking overload" 18 = "Overcurrent" 19 = "Overtemperature" 20 = "Motor timed overload" 21 = "Low temperature" 22 = "Speed reference loss" 23 = "Broken potentiometer wire" 24 = "Keypad loss" 25 = "Modbus communication loss" 26 = "Regeneration timeout" 27 = "Power bridge fault" 28 = "Drive timed overload" 29 = "Stuck keypad key" 30 = "Parameter out of range" 31 = "Power wiring error" 32 = "Low voltage" 33 = "Single-phase overload" 34 = "Stator resistance measurement failed" 35 = "Fan loss" # [rating] uses read-only DRV22 drive-model identity. No [parameters]: the # address set includes live serial settings.