# Property of PMA Electrical Solutions, LLC. # # WEG CFW09 with its built-in isolated RS-485 interface, Modbus RTU. # Source: WEG CFW09 User's Guide 0899.5694/06, software 4.4X (05/2016), # pp. 118-121 and 199-200 (readings/watchdog), pp. 307-312 (V02/V03/V04), # pp. 314-327 (0-based Modbus map), and pp. 228-233 (fault table). # Drive setup: P312 = 6 selects 19200 bit/s, even parity Modbus RTU; # P220-P228 must select Serial. P313 defaults to ramp stop, but P314 defaults # disabled and must be commissioned before network control. name = "WEG CFW09" vendor = "WEG" device_type = "vfd" verified = false probe_register = 5002 [connection] summary = "Use an EBA or EBB expansion-board variant that actually includes isolated RS-485; it is not present on every CFW09." warnings = ["Isolate and discharge the drive before fitting an expansion board.", "Check the board suffix against the option table: not every EBA/EBB variant includes RS-485."] [[connection.methods]] id = "eba_ebb_rs485" title = "EBA/EBB isolated RS-485" transport = "serial" hardware = "option" port = "EBA XC4 or EBB XC5: SREF, A-LINE (-), B-LINE (+)" connector = "Expansion-board control terminal block" adapter = "Isolated USB-to-RS-485 adapter" cable = "Shielded balanced twisted pair with optional SREF conductor" parts = ["Compatible EBA or EBB board with RS-485", "Small insulated screwdriver", "120 ohm termination via board switches at bus ends"] wiring = [{ adapter = "D- / A-", device = "A-LINE (-)", signal = "RS-485 negative" }, { adapter = "D+ / B+", device = "B-LINE (+)", signal = "RS-485 positive" }, { adapter = "COM/GND", device = "SREF", signal = "Reference for an ungrounded/isolated master", required = false }] steps = ["Identify an EBA/EBB part variant that includes RS-485, isolate the drive, and install it per the board procedure.", "Locate XC4 (EBA) or XC5 (EBB) and wire A-LINE negative and B-LINE positive.", "Connect SREF only when the master reference is otherwise floating; bond the cable shield to the drive frame.", "Enable both termination switches only at a bus end, restore power, and select the serial adapter."] setup = ["Set P312 = 6 for 19200 bit/s, even-parity Modbus RTU and set P308 node address.", "Select Serial in P220-P228 and set nonzero P314 with the required P313 link-loss action."] warnings = ["RS-232 and RS-485 cannot be used simultaneously on this drive."] source = "WEG 0899.5694/06, pp. 248-251 and 313-317" [serial] baudrate = 19200 parity = "E" stopbits = 1 [monitor] status_word = { address = 5002, bits = { 8 = "RampEnable", 9 = "GeneralEnable", 10 = "Forward", 11 = "JOG", 12 = "Remote", 13 = "Undervoltage", 15 = "Fault" } } output_frequency = { address = 5, scale = 0.1, unit = "Hz" } # P003 changes from 0.1 A/count to 1 A/count above 99.9 A; expose raw across # the whole CFW09 family until the decoder can select scale by frame/range. motor_current_raw = { address = 3 } dc_bus_voltage = { address = 4, unit = "V" } [control] command_register = 5003 speed_register = 5004 speed_scale = 0.01220852130387059 # 100 / 8191, exact legacy V04 full scale speed_unit = "%" max_ref = 100.0 step_delay = 0.05 stop = [0x1716] run_fwd = [0x1716, 0x1717] run_rev = [0x1712, 0x1713] reset = [0x9716, 0x9796, 0x9716] [control.watchdog] interval_ms = 50 fault = "E28 serial watchdog timeout (P314 requires setup)" backstop_requires_setup = true [running_check] register = 5002 bit = 8 [direction_check] register = 5002 bit = 10 reverse_when_set = false [faults] register = 5002 mask = 0x00FF history = [14, 15, 16, 17, 60, 61, 62, 63, 64, 65] [faults.codes] 0 = "No active error, or E00 output overcurrent when status bit 15 is set" 1 = "E01 DC-link overvoltage" 2 = "E02 DC-link undervoltage" 3 = "E03 supply undervoltage / phase loss" 4 = "E04 inverter overtemperature" 5 = "E05 motor overload" 6 = "E06 external fault" 7 = "E07 encoder wiring fault" 8 = "E08 CPU watchdog fault" 9 = "E09 program-memory fault" 10 = "E10 parameter-copy fault" 11 = "E11 output ground fault" 12 = "E12 braking-resistor overload" 13 = "E13 inverted motor wiring" 15 = "E15 motor phase loss" 17 = "E17 overspeed" 22 = "E22 longitudinal parity fault" 24 = "E24 programming error" 25 = "E25 variable or parameter does not exist" 26 = "E26 value outside allowed limits" 27 = "E27 write to read-only variable or logical control disabled" 28 = "E28 serial watchdog timeout" 29 = "E29 fieldbus offline" 30 = "E30 fieldbus board offline" 31 = "E31 keypad connection fault" 32 = "E32 motor overtemperature" 33 = "E33 speed without control" 34 = "E34 excessive torque-limit duration" 41 = "E41 self-diagnosis fault" 70 = "E70 internal DC-supply undervoltage" 71 = "E71 PLC watchdog fault"