The Scenario
A Variable Frequency Drive (VFD) is programmed to shut down when the motor reaches minimum speed. However, the PLC logic checks for an exact speed threshold — and the actual feedback from the VFD drifts slightly around that value. The result: the shutdown condition is either never met (motor runs forever at min speed) or triggers intermittently.
The Root Cause
Current feedback and speed feedback from VFDs are analog signals — they fluctuate due to:
- A/D converter noise in the VFD or PLC input card.
- Motor load variations causing actual speed to oscillate around the setpoint.
- Communication latency if feedback is read via Modbus/Ethernet rather than hardwired analog.
The Fix
1. Add Margin for Error
Do not check for speed == min_speed. Instead, use a range:
IF speed_feedback <= (min_speed + margin) THEN start_shutdown_timer
A margin of 2-5% of the speed range is typical. This accounts for feedback drift without triggering prematurely.
2. Add a Timeout
Use a timer that starts when the speed command is at minimum and the VFD is still running. If the condition persists for a defined period (e.g., 10-30 seconds), execute the shutdown. This prevents the VFD from sitting at minimum speed indefinitely if the feedback-based shutdown condition is not met cleanly.
3. Combined Approach
IF (speed_cmd == min_speed) AND (speed_feedback <= min_speed + margin) AND (timer.DN) THEN stop_VFD
Additional Consideration
Monitor the VFD current feedback at min speed. If current is near zero or behaving erratically, the feedback signal may be unreliable at low speeds — use the timeout as the primary shutdown mechanism rather than relying on speed feedback alone.