# Property of PMA Electrical Solutions, LLC. # # Benshaw PowerPro High Performance single AC drive with optional RS-485 card # RSI-PPVC-AXRY-COMM-MDBS. Primary source: Benshaw 890050-00-00 (2019), # monitoring table printed pp. 85-86 and Modbus Appendix B pp. 132-155, # especially data addresses pp. 146-155. Addresses are already direct 16-bit # protocol addresses; they are not 4xxxx references and take no offset. # # Required setup: F0-02=2 communication run/stop and F0-03=9 communication # frequency reference (or the manual's equivalent combined F0-27 source # selection); Fd-00 units=5 9600 baud, # Fd-01=0 8N2, and Fd-05=1 STANDARD Modbus. Fd-05 factory default 0 adds a # nonstandard extra byte to read replies and is incompatible with a normal # Modbus master. Fd-04 timeout defaults disabled; set it to 1.0 s so silence # raises Err16. Motor-current resolution is frame-dependent: 0.01 A through # 55 kW and 0.1 A above 55 kW, so the profile exposes that word raw. name = "Benshaw PowerPro High Performance" vendor = "Benshaw" device_type = "vfd" verified = false probe_register = 0x703D [connection] summary = "This drive requires the vendor isolated RS-485 expansion card." warnings = [] [[connection.methods]] id = "rsi_modbus_card" title = "RSI-PPVC-AXRY-COMM-MDBS option card" transport = "serial" hardware = "option" port = "J2 on the installed RS-485 card" connector = "J2 three-position terminal block" adapter = "Isolated USB-to-RS-485 adapter, 2-wire half-duplex" cable = "Shielded twisted-pair RS-485 cable, 120 ohm nominal impedance" parts = ["Isolated two-wire RS-485 adapter", "Shielded twisted-pair RS-485 cable, 120 ohm nominal impedance", "Benshaw RSI-PPVC-AXRY-COMM-MDBS RS-485 card"] 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 F0-02=2, F0-03=9, Fd-00=5 for 9600, Fd-01=0 for 8N2, Fd-05=1 for standard Modbus, and Fd-04=1.0 s."] warnings = ["RS-485 A/B naming is not consistent between manufacturers. Follow the + and - signal mapping in this guide, not the letter printed on an unfamiliar adapter.", "Do not use protective earth as the data return unless the vendor drawing explicitly calls for it.", "Use card jumper J3 to enable the matching termination resistor only at an end of the RS-485 trunk.", "Install the option card with all power removed and the DC bus discharged."] source = "Benshaw 890050-00-00 PowerPro High Performance Manual, printed pp. 132-146, especially p. 134 (RSI-PPVC-AXRY-COMM-MDBS J2/J3)" [[connection.methods.wiring]] adapter = "Adapter D+ / +" device = "J2 485+" signal = "RS-485 data positive" required = true [[connection.methods.wiring]] adapter = "Adapter D- / -" device = "J2 485-" signal = "RS-485 data negative" required = true [[connection.methods.wiring]] adapter = "Adapter signal ground / shield" device = "J2 CGND" signal = "Signal reference or shield drain" required = false [serial] baudrate = 9600 parity = "N" stopbits = 2 [monitor] output_frequency = { address = 0x7000, scale = 0.01, unit = "Hz" } frequency_reference = { address = 0x7001, scale = 0.01, unit = "Hz" } dc_voltage = { address = 0x7002, scale = 0.1, unit = "V" } output_voltage = { address = 0x7003, unit = "V" } motor_current_raw = { address = 0x7004 } output_power = { address = 0x7005, scale = 0.1, unit = "kW" } output_torque = { address = 0x7006, scale = 0.1, signed = true, unit = "%" } drive_state = { address = 0x703D } # enum: 1 fwd, 2 rev, 3 stopped current_fault = { address = 0x703E } [control] command_register = 0x2000 speed_register = 0x1000 speed_scale = 0.01 speed_signed = true speed_unit = "%" max_ref = 100.0 step_delay = 0.05 stop = [0x0006] # decelerate to stop; 5 is coast stop run_fwd = [0x0001] run_rev = [0x0002] reset = [0x0007, 0x0006] [control.watchdog] backstop_requires_setup = true interval_ms = 500 fault = "Err16 communication fault (requires Fd-04=1.0 s)" # 0x3000 is an enum rather than a bitfield, so there is no safe single-bit # [running_check] that covers both directions. [faults] register = 0x8000 [faults.codes] 0 = "No fault" 1 = "Reserved" 2 = "Overcurrent during acceleration" 3 = "Overcurrent during deceleration" 4 = "Overcurrent at constant speed" 5 = "Overvoltage during acceleration" 6 = "Overvoltage during deceleration" 7 = "Overvoltage at constant speed" 8 = "Buffer resistor overload" 9 = "Undervoltage" 10 = "AC drive overload" 11 = "Motor overload" 12 = "Power input phase loss" 13 = "Power output phase loss" 14 = "IGBT overheat" 15 = "External fault" 16 = "Communication fault" 17 = "Contactor fault" 18 = "Current detection fault" 19 = "Motor auto-tuning fault" 20 = "Encoder or PG card fault" 21 = "Parameter read/write fault" 22 = "AC drive hardware fault" 23 = "Motor shorted to ground" 24 = "Reserved" 25 = "Reserved" 26 = "Accumulated running time reached" 27 = "User-defined fault 1" 28 = "User-defined fault 2" 29 = "Accumulated power-on time reached" 30 = "Load lost" 31 = "PID feedback lost during running" 40 = "Fast current-limit timeout" 41 = "Motor switchover error during running" 42 = "Excessive speed deviation" 43 = "Motor overspeed" 45 = "Motor overheat" 90 = "Incorrect encoder PPR setting" 91 = "Encoder not connected" 92 = "Initial position error" 94 = "Speed feedback error" # No [parameters]. The drive exposes complete EEPROM and RAM parameter spaces, # but an indiscriminate sweep includes Fd communication settings and password / # initialization functions.