# Property of PMA Electrical Solutions, LLC. # # WEG CFW320 using an RS-485 communication plug-in, Modbus RTU. # Sources: # - WEG CFW320 Modbus RTU User's Guide 10009156417/00 (03/2022), # pp. 12-20: P680/P681/P682/P683 and zero-offset register addressing; # pp. 16-19: serial settings and watchdog. # - WEG CFW320 Programming Manual 10008951055/02, V1.1X (10/2024): # quick reference pp. 0-1..0-25, faults pp. 1-1..1-7, P295 p. 6-4, # and reading parameters pp. 11-1..11-4. # The guide's parameter definition is P683 and its addressing rule says Pnnn maps # to register nnn. Two prose references on pp. 14/20 say P685; those conflict with # the defined parameter and are treated as isolated document typos, not addresses. # Drive setup: select the serial source in P220-P228 and set P314 nonzero. name = "WEG CFW320" vendor = "WEG" device_type = "vfd" verified = false probe_register = 680 [connection] summary = "Install CFW320-CRS485 and use terminals 25-28; its mini-USB-shaped keypad connector is not USB-compatible." warnings = ["DANGER: do not connect the mini-USB-shaped remote-keypad socket to a computer USB port.", "Isolate and discharge the drive before fitting the plug-in."] [[connection.methods]] id = "cfw320_crs485" title = "CFW320-CRS485 terminals" transport = "serial" hardware = "option" port = "Terminals 25 A(-), 26 B(+), 27 GND, 28 Shield PE; 29 N.C." connector = "Plug-in module control terminals" adapter = "Isolated USB-to-RS-485 adapter" cable = "Shielded RS-485 twisted pair with optional reference" parts = ["CFW320-CRS485 module", "Small insulated screwdriver", "S1 endpoint termination"] wiring = [{ adapter = "D- / A-", device = "25, RS485-A (-)", signal = "RS-485 negative" }, { adapter = "D+ / B+", device = "26, RS485-B (+)", signal = "RS-485 positive" }, { adapter = "COM/GND", device = "27, GND", signal = "0 V reference", required = false }, { adapter = "Cable shield", device = "28, Shield (PE)", signal = "Shield bond", required = false }] steps = ["Isolate the drive and install CFW320-CRS485.", "Land negative on 25, positive on 26, optional reference on 27, and shield on 28; do not use 29.", "Enable both S1 switches only at a bus end and route the cable away from power wiring.", "Close the drive, restore power, and select the computer adapter."] setup = ["Configure P308/P310/P311/P312 for Modbus RTU.", "Select the Serial command/reference source in P220-P228 and set nonzero P314."] warnings = ["The manual contains stray P685 references; the defined speed reference is P683 as recorded in this profile."] source = "WEG 10009156417/00, pp. 7-8 and 12-20" [serial] baudrate = 19200 parity = "E" stopbits = 1 [monitor] status_word = { address = 680, bits = { 1 = "RunCommand", 2 = "FireMode", 5 = "SecondRamp", 6 = "ConfigMode", 7 = "Alarm", 8 = "MotorRunning", 9 = "GeneralEnable", 10 = "Forward", 11 = "JOG", 12 = "Remote", 13 = "Undervoltage", 15 = "Fault" } } output_frequency = { address = 5, scale = 0.1, unit = "Hz" } motor_current = { address = 3, scale = 0.1, unit = "A" } dc_bus_voltage = { address = 4, unit = "V" } output_voltage = { address = 7, unit = "V" } motor_torque = { address = 9, signed = true, scale = 0.1, unit = "%" } motor_speed = { address = 681, signed = true, scale = 0.01220703125, unit = "%" } present_alarm = { address = 48 } [control] command_register = 682 speed_register = 683 speed_scale = 0.01220703125 speed_unit = "%" max_ref = 100.0 step_delay = 0.05 stop = [0x0016] run_fwd = [0x0016, 0x0017] run_rev = [0x0012, 0x0013] reset = [0x0016, 0x0096, 0x0016] [control.watchdog] interval_ms = 50 fault = "A128/F228 serial timeout (P314, if configured)" backstop_requires_setup = true [running_check] register = 680 bit = 8 [direction_check] register = 680 bit = 10 reverse_when_set = false [faults] register = 49 history = [50, 60, 70, 80, 81, 82] [faults.codes] 0 = "No fault" 21 = "F021 DC-link undervoltage" 22 = "F022 DC-link overvoltage" 31 = "F031 plug-in communication fault" 32 = "F032 second plug-in communication fault" 33 = "F033 VVW self-tuning fault" 51 = "F051 IGBT overtemperature" 67 = "F067 inverted encoder/motor wiring" 70 = "F070 overcurrent or short circuit" 72 = "F072 motor overload" 78 = "F078 motor overtemperature" 79 = "F079 encoder signal fault" 80 = "F080 CPU watchdog fault" 81 = "F081 end of user memory" 82 = "F082 flash-memory-module data-transfer fault" 84 = "F084 auto-diagnosis fault" 91 = "F091 external fault" 182 = "F182 pulse-feedback fault" 228 = "F228 Serial communication timeout" 233 = "F233 CAN interface without power" 234 = "F234 CAN bus off" 235 = "F235 CANopen node guarding/heartbeat fault" 236 = "F236 DeviceNet master idle" 237 = "F237 DeviceNet connection timeout" 238 = "F238 Profibus DP interface in clear mode" 239 = "F239 Profibus DP interface offline" 240 = "F240 Profibus DP module access fault" 247 = "F247 EtherNet/IP communication offline" 249 = "F249 Modbus TCP timeout" 701 = "F701 remote-HMI communication fault" 709 = "F709 SoftPLC application stopped" 710 = "F710 SoftPLC application too large" 711 = "F711 SoftPLC application fault" # F750..F799 are application-defined SoftPLC faults; their meanings are not fixed. 761 = "F761 process-variable low-level fault" 763 = "F763 process-variable high-level fault" [rating] register = 295 scale = 0.1 unit = "A" label = "Inverter rated current (P295)"