# Property of PMA Electrical Solutions, LLC. # # WEG SSW-07 and SSW-08 soft starters over Modbus RTU, using the optional # Modbus RTU RS-485 kit. Both exact models are claimed because both WEG source # manuals explicitly publish one shared parameter set and one shared map. # # Sources — WEG primary documentation: # 0899.5803 / 05, "SSW-07/SSW-08 Serial Communication Manual": # serial setup and timeout action ......................... pp. 5-8 # optional RS-485 interface ............................... pp. 9-10 # V01 status and V03 command bit definitions .............. pp. 11-14 # 0-based parameter/basic-variable mapping ................ pp. 17-20 # 0899.5665 / 08, "SSW-07/SSW-08 Programming Manual" V1.5X: # complete parameter and fault summaries .................. pp. 4-9 # reading parameters P001-P020 ............................ pp. 15-16 # detailed fault table .................................... pp. 37-42 # # ADDRESSING: Pnnn maps to 0-based holding-register address nnn; Vnn maps to # address 5000+nn. V03 on this family is an UNMASKED command word, unlike the # SSW-06 masked word; do not carry either implementation to the other family. # # DRIVE-SIDE SETUP: install the RS-485 kit; set P220 = 6 and P230 = 2 for # remote Serial control (or P220 = 5 and P229 = 2 for local). P308 selects the # node, P312 the framing/rate. V03 writes are ignored if Serial is not the # active command source. # # LINK LOSS: P314 defaults disabled. P313 defaults 1 = ramp disable, but it # cannot act until P314 is nonzero. Set P314 and verify P313 before arming. name = "WEG SSW-07 / SSW-08" vendor = "WEG" device_type = "soft_starter" verified = false probe_register = 5001 # V01 status word [connection] summary = "Fit the shared SSW-07/SSW-08 Modbus RTU RS-485 kit and use its A/B/COM terminals." warnings = ["Isolate control and line power before installing the kit.", "The shared manual does not state A/B polarity; match the literal A and B labels to the adapter documentation rather than guessing."] [[connection.methods]] id = "modbus_rtu_rs485_kit" title = "SSW-07/SSW-08 RS-485 kit" transport = "serial" hardware = "option" port = "Kit terminals A, B, COM; shield bond available at XC42" connector = "RS-485 kit terminal block" adapter = "Isolated USB-to-RS-485 adapter with documented A/B labels" cable = "Shielded twisted pair with optional COM conductor" parts = ["WEG Modbus RTU RS-485 kit", "Small insulated screwdriver", "Kit termination switches"] wiring = [{ adapter = "A (verify adapter manual)", device = "A", signal = "RS-485 conductor A" }, { adapter = "B (verify adapter manual)", device = "B", signal = "RS-485 conductor B" }, { adapter = "COM/GND", device = "COM", signal = "RS-485 reference", required = false }, { adapter = "Cable shield", device = "XC42", signal = "Shield bond", required = false }] steps = ["Isolate the starter and install the model's Modbus RTU RS-485 kit.", "Wire A-to-A and B-to-B; use COM only if needed and bond the shield at XC42 or the designated common grounding point.", "Set both termination switches on only at a physical bus end and close the starter.", "Restore power and select the computer adapter."] setup = ["Set P308 node and P312 framing/rate.", "Set P220 = 6 and P230 = 2 for remote Serial control (or P220 = 5/P229 = 2 for local), then set nonzero P314 and verify P313."] warnings = ["The starter can answer while ignoring V03 when Serial is not the active command source."] source = "WEG 0899.5803/05, pp. 9-10 and 5-20" # P312 factory 1 = 9600, no parity; RTU specifies two stop bits without parity. [serial] baudrate = 9600 parity = "N" stopbits = 2 [monitor] status_word = { address = 5001, bits = { 0 = "MotorRunning", 1 = "GeneralEnabled", 2 = "JOG", 3 = "Accelerating", 4 = "CurrentLimit", 5 = "FullVoltage", 7 = "Decelerating", 8 = "Remote", 9 = "DCBraking", 10 = "Reversing", 11 = "CCW", 12 = "BypassClosed", 14 = "PowerPresent", 15 = "Fault" } } starter_current = { address = 1, scale = 0.1, unit = "%" } # P001, % of starter nominal current motor_current_percent = { address = 2, scale = 0.1, unit = "%" } # P002 motor_current = { address = 3, scale = 0.1, unit = "A" } # P003 line_frequency = { address = 5, scale = 0.1, unit = "Hz" } # P005 output_voltage = { address = 7, unit = "%" } # P007, imposed voltage as %Un apparent_power = { address = 11, scale = 0.1, unit = "kVA" } # P011 motor_thermal = { address = 50, unit = "%" } # P050; 250 is trip point [control] command_register = 5003 step_delay = 0.05 # V03: bit0 Run, bit1 General Enable, bit4 Remote. Direction remains CW. stop = [0x0012] run_fwd = [0x0012, 0x0013] # Reset is a documented rising edge on bit7, framed with Run clear. reset = [0x0012, 0x0092, 0x0012] [control.watchdog] interval_ms = 250 fault = "E28 serial reception timeout (P314; action selected by P313)" backstop_requires_setup = true [running_check] register = 5001 bit = 0 # P020 omits E28 communication timeout by design. P014-P017 retain four prior # equipment faults. [faults] register = 20 history = [14, 15, 16, 17] [faults.codes] 0 = "No active equipment fault" 3 = "E03 phase loss or undercurrent" 4 = "E04 power-section overtemperature" 5 = "E05 motor overload" 6 = "E06 external fault" 10 = "E10 parameter-copy fault" 19 = "E19 SSW power-section short circuit" 24 = "E24 programming fault" 28 = "E28 serial telegram timeout (not exposed by P020)" 31 = "E31 keypad connection failure" 62 = "E62 current-limit start timeout" 63 = "E63 stall / locked rotor" 66 = "E66 motor overcurrent" 67 = "E67 inverted phase sequence" 70 = "E70 electronics-supply undervoltage" 71 = "E71 bypass contact open" 72 = "E72 overcurrent before bypass" 74 = "E74 phase-current imbalance" 75 = "E75 supply frequency out of range" 76 = "E76 undercurrent before bypass closing" 77 = "E77 bypass contact closed or SCR shorted" # [parameters] is intentionally absent. P204 is a factory-default command and # communications/control-source values are interleaved with configuration; a # broad range would make restore capable of issuing commands or losing its bus.