# Property of PMA Electrical Solutions, LLC. # # Benshaw PowerPro Fan & Pump AC drive with optional RS-485 card # RSI-PPVC-AXRY-COMM-MDBS. Primary source: Benshaw 890051-00-00, monitoring # table printed pp. 84-85 and Modbus Appendix B pp. 131-144. The manual # independently publishes this family's map; similarity to PowerPro High # Performance is not being used as a cross-family assumption. Addresses are # direct 16-bit hexadecimal protocol addresses. # # 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 the units digit of Fd-05=1 STANDARD Modbus. The manual's # narrative and summary table present the combined Fd-05 field differently; # the safe invariant is explicit in both: the Modbus selection digit must be 1. # Set Fd-04=1.0 s because its factory timeout is disabled. 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 Fan & Pump" 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 890051-00-00 PowerPro Fan & Pump Manual, printed pp. 131-140, especially p. 133 (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] 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)" [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 [running_check]: 0x3000 is an enum. No [parameters]: a broad sweep would # include active Fd communications and initialization/password functions.