Modbus connection issues¶
Symptom umbrella: the control software cannot read or write the drive. The footer indicator is red, the live readout is frozen, writes return errors.
First three checks¶
- Network reachability:
Test-NetConnection -ComputerName 192.168.50.10 -Port 502from PowerShell.TcpTestSucceeded : True→ the network is fine; the problem is at the application or profile layer. Skip to Application-level issues.TcpTestSucceeded : False→ the network path is broken. Go to Maintenance → Network recovery.
- RETA-01 LEDs: check the LEDs on the adapter inside the drive enclosure (visible without opening the cabinet).
- All green → adapter is healthy.
MODULE STATUSred → the adapter cannot reach the drive's internal bus. Power-cycle the drive (open and close the main switch with a 30 s wait between).LINK / ACTIVITYoff → the Ethernet cable is unplugged or dead.
- Drive keypad: check for fault codes.
- Fault visible → Faults and alarms.
LOCin the upper-left → pressLOC/REMto switch to remote.REMin the upper-left and no fault → drive is fine; the problem is upstream.
Application-level issues¶
If the network reaches the drive but the application still cannot operate it, walk through:
Wrong Modbus profile¶
51.16 PROTOCOL must be 0 (Modbus/TCP, ABB Drives profile). If it has been changed to a different protocol, the register map is wrong and every read/write looks like nonsense.
Fix: keypad → PARAMETERS → 51 → 16 → set to 0 → save → power-cycle drive.
Wrong critical parameters¶
The four parameters that must be set for remote control:
99.02 = 1(ABB Standard macro)98.02 = 4(EXT FBA, RETA-01)10.01 = 10(COMM start/stop)11.03 = 8(COMM REF1)
If 10.01 = 10 is wrong, the drive ignores all start/stop writes. If 11.03 = 8 is wrong, the drive accepts the start but spins at zero. Restore from Parameter recovery.
Wrong calibration constant in the software¶
If the drive accepts the start and spins, but at the wrong speed compared to the requested setpoint, the REF1 = drive_RPM × 22.42 constant in the software has drifted from what the drive currently does. Re-run ref1_sweep.ps1 and update.
Connection conflict¶
The RETA-01 is happy with one Modbus master at a time. If two clients (e.g. WindTunnelControl.ps1 and ADCL WinSoft, or AeroWare and one of them) try to talk to it concurrently, they will both see flaky reads and missed writes. Close all but one.
pymodbus version skew (ADCL WinSoft only)¶
pymodbus 3.13 renamed slave= to device_id=. If the dev venv has been upgraded out from under the project, register reads silently raise TypeError. The .exe builds with the pinned version from pyproject.toml; if the bundled .exe works but the dev install does not, recreate the venv from pyproject.toml.
What "flaky" usually means¶
If the connection works but reads time out occasionally:
- Bad Ethernet cable is the most likely culprit. Swap with a known-good cable.
- Two masters connected at once (see above).
- High-rate polling against a fresh-socket-per-call client. Not an issue at our current rates but if you increase the polling rate above 10 Hz in
WindTunnelControl.ps1you will hit this.
When all else fails¶
If none of the above is the answer, open a WT_MS_<n>/debug_session.md and start a methodical bring-up: PowerShell + Test-NetConnection, then WindTunnelControl.ps1 against the drive, then ADCL WinSoft. Each step that works narrows the failure scope; each that does not is documented with the exact symptom. This is the same pattern that produced the WT_MS_2 diagnosis of AeroWare's broken Modbus path.