# Property of PMA Electrical Solutions, LLC. # # WEG CFW700 with its standard RS-485 interface, Modbus RTU. # Sources: # - WEG CFW700 Modbus RTU User's Manual 10001123706/01 (05/2011), # pp. 9-18: serial defaults, P680/P682/P683, watchdog and register map. # - WEG CFW700 Programming Manual 10001006882/05, V2.3X (08/2020), # quick reference pp. 0-1..0-23, faults chapter pp. 15-1..15-16, # and reading parameters pp. 16-1..16-10. # Drive setup: P220/P222/P226/P227 select Serial in remote mode. Both P313 # (communication action) and P314 (watchdog) default inactive on this family; # commission them before relying on communication loss to stop the motor. # Addressing: parameter Pnnnn is 0-based holding register nnnn. name = "WEG CFW700" vendor = "WEG" device_type = "vfd" verified = false probe_register = 680 [connection] summary = "Connect to the standard isolated RS-485 interface on XC1." warnings = ["Isolate and discharge the drive before touching control wiring.", "Keep the shielded pair separated from power cables and terminate only bus endpoints."] [[connection.methods]] id = "xc1_rs485" title = "Standard XC1 RS-485" transport = "serial" hardware = "built_in" port = "XC1 pin 10 A-Line(-), pin 9 B-Line(+), pin 8 GND" connector = "XC1 control terminal block" adapter = "Isolated USB-to-RS-485 adapter" cable = "Shielded twisted pair with optional reference conductor" parts = ["Small insulated screwdriver", "S2 termination at bus ends"] wiring = [{ adapter = "D- / A-", device = "XC1-10 A-Line (-)", signal = "RS-485 negative" }, { adapter = "D+ / B+", device = "XC1-9 B-Line (+)", signal = "RS-485 positive" }, { adapter = "COM/GND", device = "XC1-8 GND", signal = "0 V reference", required = false }] steps = ["Isolate the drive and locate XC1 pins 8-10.", "Wire negative to pin 10, positive to pin 9, and optional reference to pin 8.", "Set both S2 switches on only at a bus end and bond the cable shield appropriately.", "Close the drive, restore power, and select the serial adapter."] setup = ["Configure P308/P310/P311/P312 for Modbus RTU.", "Select Serial in P220/P222/P226/P227 and set a safe P313/P314 timeout response."] warnings = ["P313 and P314 default inactive on this family."] source = "WEG 10001123706/01, pp. 7-8 and 9-18" [serial] baudrate = 19200 parity = "N" stopbits = 1 [monitor] status_word = { address = 680, bits = { 4 = "FastStop", 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 (requires both P313 action and P314 timeout setup)" 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, 54, 58, 62, 66] [faults.codes] 0 = "No fault" 6 = "F0006 input-voltage imbalance or phase loss" 21 = "F0021 DC-link undervoltage" 22 = "F0022 DC-link overvoltage" 48 = "F0048 IGBT overload" 51 = "F0051 IGBT overtemperature" 65 = "F0065 encoder feedback fault" 66 = "F0066 encoder feedback fault" 67 = "F0067 inverted encoder/motor wiring" 70 = "F0070 overcurrent or short circuit" 71 = "F0071 output overcurrent" 72 = "F0072 motor overload" 74 = "F0074 ground fault" 78 = "F0078 motor overtemperature" 80 = "F0080 CPU watchdog fault" 84 = "F0084 auto-diagnosis fault" 91 = "F0091 external fault" 99 = "F0099 invalid current offset" 150 = "F0150 motor overspeed" 151 = "F0151 flash-memory-module fault" 153 = "F0153 internal-air overtemperature" 156 = "F0156 undertemperature" 157 = "F0157 parameter-table data loss" 158 = "F0158 parameter-table fault" 160 = "F0160 STO relay fault" 169 = "F0169 speed error too high" 179 = "F0179 heatsink-fan speed fault" 182 = "F0182 pulse-feedback fault" 183 = "F0183 IGBT overload/overtemperature" 185 = "F0185 pre-charge contactor fault" 228 = "F228 Serial communication timeout" 233 = "F0233 CAN interface without power" 234 = "F0234 CAN bus off" 235 = "F0235 CANopen communication fault" 236 = "F0236 DeviceNet master idle" 237 = "F0237 DeviceNet connection timeout" 238 = "F0238 Profibus DP clear mode" 239 = "F0239 Profibus DP offline" 240 = "F0240 Profibus DP module access fault" 709 = "F0709 SoftPLC application stopped" 711 = "F0711 SoftPLC execution fault"