# Property of PMA Electrical Solutions, LLC. # # Schneider Altivar 32, embedded Modbus RTU. Exact-family source S1A28698.02 # (09/2012): serial/timeout pp.15-19; CiA402 CMD/ETA pp.30-32; direct Modbus # address examples pp.42-47. Its communication-map example explicitly names # LCR @3204, OTR @3205 and LFT @7121 (p.18). No ATV320 claim is implied. # Setup Fr1=Modbus, CHCF=SIM or Cd1=Modbus in separate mode. name = "Schneider Altivar 32" vendor = "Schneider Electric" device_type = "vfd" verified = false probe_register = 3201 [serial] baudrate = 19200 parity = "E" stopbits = 1 [monitor] status_word = { address = 3201, bits = { 0 = "READY_TO_SWITCH_ON", 1 = "SWITCHED_ON", 2 = "OPERATION_ENABLED", 3 = "FAULT", 4 = "VOLTAGE_ENABLED", 5 = "QUICK_STOP_N", 6 = "SWITCH_ON_DISABLED", 7 = "WARNING", 9 = "REMOTE", 10 = "TARGET_REACHED", 11 = "INTERNAL_LIMIT", 14 = "STOP_KEY", 15 = "REVERSE" } } output_frequency = { address = 3202, signed = true, scale = 0.1, unit = "Hz" } motor_current = { address = 3204, scale = 0.1, unit = "A" } motor_torque = { address = 3205, signed = true, scale = 0.1, unit = "%" } motor_thermal_state = { address = 9630, unit = "%" } [control] command_register = 8501 speed_register = 8502 speed_scale = 0.1 speed_unit = "Hz" max_ref = 599.0 step_delay = 0.05 stop = [0x0006] run_fwd = [0x0006, 0x0007, 0x000F] run_rev = [0x0006, 0x0007, 0x080F] reset = [0x0000, 0x0080, 0x0006] [[control.preconditions]] register = 8504 mask = 0x0200 expected = 0 message = "CMI bit 9 must be clear so LFR/RFR use the documented 0.1 Hz scale" [control.watchdog] interval_ms = 50 fault = "SLF1 Modbus communication interruption" [running_check] register = 3201 bit = 2 [direction_check] register = 3201 bit = 15 reverse_when_set = true [faults] register = 7121 history = [7200, 7201, 7202, 7203, 7204, 7205, 7206, 7207, 7208] [faults.codes] 0 = "[No fault] (nOF)" 2 = "[Control Eeprom] (EEF1)" 3 = "[Incorrect config.] (CFF)" 4 = "[Invalid config.] (CFI)" 5 = "[Modbus com.] (SLF1)" 6 = "[int. com.link] (ILF)" 7 = "[Com. network] (CnF)" 8 = "[External flt-LI/Bit] (EPF1)" 9 = "[Overcurrent] (OCF)" 10 = "[Precharge] (CrF)" 11 = "[Speed fdback loss] (SPF)" 12 = "[Load slipping] (AnF)" 16 = "[Drive overheat] (OHF)" 17 = "[Motor overload] (OLF)" 18 = "[Overbraking] (ObF)" 19 = "[Mains overvoltage] (OSF)" 20 = "[1 output phase loss] (OPF1)" 21 = "[Input phase loss] (PHF)" 22 = "[Undervoltage] (USF)" 23 = "[Motor short circuit] (SCF1)" 24 = "[Overspeed] (SOF)" 25 = "[Auto-tuning] (tnF)" 26 = "[Rating error] (InF1)" 27 = "[PWR Calib.] (InF2)" 28 = "[Int.serial link] (InF3)" 29 = "[Int.Mfg area] (InF4)" 30 = "[Power Eeprom] (EEF2)" 32 = "[Ground short circuit] (SCF3)" 33 = "[3out ph loss] (OPF2)" 34 = "[CAN com.] (COF)" 35 = "[Brake control] (bLF)" 38 = "[External fault com.] (EPF2)" 41 = "[Brake feedback] (brF)" 42 = "[PC com.] (SLF2)" 44 = "[Torque/current lim] (SSF)" 45 = "[HMI com.] (SLF3)" 49 = "[LI6=PTC probe] (PtFL)" 50 = "[PTC fault] (OtFL)" 51 = "[Internal- I measure] (InF9)" 52 = "[Internal-mains circuit] (InFA)" 53 = "[Internal- th. sensor] (InFb)" 54 = "[IGBT overheat] (tJF)" 55 = "[IGBT short circuit] (SCF4)" 56 = "[Motor short circuit] (SCF5)" 58 = "[Out. contact. stuck] (FCF1)" 59 = "[Out. contact. open.] (FCF2)" 64 = "[input contactor] (LCF)" 67 = "[IGBT desaturation] (HdF)" 68 = "[Internal-option] (InF6)" 69 = "[internal- CPU] (InFE)" 71 = "[AI3 4-20mA loss] (LFF3)" 73 = "[Cards pairing] (HCF)" 76 = "[Load fault] (dLF)" 77 = "[Bad conf] (CFI2)" 99 = "[Ch.sw. fault] (CSF)" 100 = "[Pr.Underload.Flt] (ULF)" 101 = "[Proc.Overload Flt] (OLC)" 105 = "[Angle error] (ASF)" 107 = "[Safety fault] (SAFF)" 108 = "[FB fault] (FbE)" 109 = "[FB stop flt.] (FbES)" [connection] summary = "Connect to the ATV32 embedded Modbus interface; no fieldbus option card is required for the documented serial path." warnings = ["Lock out the drive/starter before opening covers or moving switches.", "Keep communications cable at least 30 cm from line and motor wiring.", "Prove read-only communication with the motor inhibited before enabling network control."] [[connection.methods]] id = "built_in_rs485" title = "Built-in Modbus RJ45" transport = "serial" hardware = "built_in" port = "Built-in Modbus RJ45" connector = "RJ45; pin 4 D1, pin 5 D0, pin 8 Common; pin 7 is vendor peripheral power" adapter = "Isolated USB-to-RS-485 adapter" cable = "VW3A8306D30 RJ45-to-stripped Modbus lead or equivalently pinned shielded twisted-pair cable" parts = ["Isolated USB-to-RS-485 adapter", "Shielded twisted pair plus common conductor", "End termination for a multidrop bus"] steps = ["Lock out the equipment and verify it is de-energized.", "Locate Built-in Modbus RJ45.", "Wire D1, D0 and Common exactly as shown below; leave the peripheral-power pin unused.", "Route the communications cable at least 30 cm from power conductors and terminate only the two physical ends.", "Restore control power with the motor inhibited and verify a read before enabling control."] setup = ["Set Fr1 = Modbus.", "Use CHCF = SIM, or set Cd1 = Modbus in separate mode.", "Match 19200 baud, 8-E-1 and configure timeout."] warnings = ["Do not connect adapter power to the vendor peripheral-power pin.", "Connect only the documented data and Common conductors."] source = "Schneider S1A28698.02, pp. 9-11 and serial setup chapter." [[connection.methods.wiring]] adapter = "D1 / B / +" device = "RJ45 pin 4 — D1" signal = "RS-485 D1" [[connection.methods.wiring]] adapter = "D0 / A / -" device = "RJ45 pin 5 — D0" signal = "RS-485 D0" [[connection.methods.wiring]] adapter = "COM / signal common" device = "RJ45 pin 8 — Common" signal = "Signal reference"