# Property of PMA Electrical Solutions, LLC. # # WEG CFW501 HVAC frequency inverter over Modbus RTU. # Sources: # - WEG CFW501 Modbus RTU User's Manual 10002041185/01 (04/2022), # pp. 11-18 (setup, P680/P682/P683) and pp. 24-25 (zero-offset map). # - WEG CFW501 Programming Manual 10002391560/03, V1.8X (06/2024), # quick reference pp. 0-1..0-24, faults pp. 1-1..1-9, P295 p. 6-3, # and reading parameters pp. 15-1..15-5. # Drive setup: P312 = 2 for Modbus on interface 1; P220/P222/P226/P227 # select Serial in remote mode. P314 defaults disabled; P313 defaults ramp stop. # Addressing: parameter Pnnnn is 0-based holding register nnnn. name = "WEG CFW501" vendor = "WEG" device_type = "vfd" verified = false probe_register = 680 [connection] summary = "Fit the CFW500-CRS485 HVAC plug-in and use its Serial (1) RS-485 terminals." warnings = ["Isolate and discharge the drive before fitting or removing the plug-in.", "Do not confuse Serial (1) with the optional Serial (2) connector on two-port modules."] [[connection.methods]] id = "cfw500_crs485_serial1" title = "CFW500-CRS485 Serial (1)" transport = "serial" hardware = "option" port = "Serial (1) terminals 12 A-Line(-), 14 B-Line(+), 16 Ref/GND" connector = "HVAC plug-in control terminals" adapter = "Isolated USB-to-RS-485 adapter" cable = "Shielded twisted pair with optional reference conductor" parts = ["CFW500-CRS485 plug-in", "Small insulated screwdriver", "Endpoint termination"] wiring = [{ adapter = "D- / A-", device = "12, A-Line (-)", signal = "RS-485 negative" }, { adapter = "D+ / B+", device = "14, B-Line (+)", signal = "RS-485 positive" }, { adapter = "COM/GND", device = "16, Ref.", signal = "0 V reference", required = false }] steps = ["Isolate the drive and install the CFW500-CRS485 HVAC plug-in.", "Wire Serial (1): negative to 12, positive to 14, and optional reference to 16.", "Enable termination only at a bus end and route the cable separately from power wiring.", "Close the drive, restore power, and select the serial adapter."] setup = ["Set P312 = 2 Modbus RTU on interface 1 and configure P308/P310/P311.", "Select Serial in P220/P222/P226/P227 and commission P313 plus nonzero P314."] warnings = ["Only one serial interface may own commands or references."] source = "WEG 10002041185/01, pp. 7-10 and 11-18; 10002391560/03, p. 16-1" [serial] baudrate = 19200 parity = "E" stopbits = 1 [monitor] status_word = { address = 680, bits = { 1 = "RunCommand", 2 = "FireMode", 3 = "Bypass", 4 = "QuickStop", 5 = "SecondRamp", 6 = "ConfigMode", 7 = "Alarm", 8 = "MotorRunning", 9 = "GeneralEnable", 10 = "Forward", 11 = "JOG", 12 = "Remote", 13 = "Undervoltage", 14 = "PIDAuto", 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 = "F0021 DC-link undervoltage" 22 = "F0022 DC-link overvoltage" 31 = "F0031 plug-in communication fault" 33 = "F0033 VVW self-tuning fault" 48 = "F0048 IGBT overload" 51 = "F0051 IGBT overtemperature" 70 = "F0070 overcurrent or short circuit" 72 = "F0072 motor overload" 74 = "F0074 ground fault" 76 = "F0076 output phase-current fault" 78 = "F0078 motor overtemperature" 80 = "F0080 CPU watchdog fault" 84 = "F0084 auto-diagnosis fault" 91 = "F0091 external fault" 151 = "F0151 incompatible main software version" 182 = "F0182 pulse-feedback fault" 228 = "F228 Serial communication timeout" 700 = "F0700 remote-HMI communication fault" 711 = "F0711 HVAC plug-in / SoftPLC fault" 761 = "F0761 main-PID process-variable low" 763 = "F0763 main-PID process-variable high" 767 = "F0767 dry pump detected" 769 = "F0769 broken belt detected" 771 = "F0771 filter maintenance" 773 = "F0773 required HVAC plug-in not installed" 787 = "F0787 external-PID process-variable low" 789 = "F0789 external-PID process-variable high" [rating] register = 295 scale = 0.1 unit = "A" label = "Inverter rated current (P295)"