Motor Speed Control using VFD and PLC Programming
This is PLC Program to control motor speed using VFD drive.
Motor Speed Control
The motor speed is controlled using a VFD drive. PLC/DCS systems can be used to control the VFD remotely.
The PLC must provide a set point for the VFD drive to control the motor speed; this can be done either automatically or manually via the HMI.
The PLC will manage the drive speed based on the specified point value, and the VFD drive will regulate the motor speed.
- We utilized the PID function here for control, thus it will automatically control drive speed based on the specified point.
- The basic three coefficients of a PID controller are proportional, integral, and derivative, as the name suggests.
- We’ll use setpoint for drive from the PLC to explain VFD drive control (50RPM). The PID function will keep the speed at the desired level.
- PID will create according to the set point.
List of inputs/outputs
Digital Inputs/Analog Inputs
- PID Enable :- I0.0
- Manual Enable :- I0.1
- PID reset :- I0.2
- 4-20mA signal form drive :- IW64
Digital outputs/Analog output
- Analog output for drive :- QW80
- Set point PID :- MD500
- PID output for drive :- MW762
- Run mode by startup :- M0.3
PLC Ladder diagram to control Motor Speed
We used a S7-1200 PLC and TIA portal software to programme our application. This logic can also be implemented using various PLCs.
- “Drive PID”.sRet.r_Ctrl_Gain:- saved proportional gain or P gain for PID (1.0).
- “Drive PID”.sRet.r_Ctrl_Ti:-Saved integral time or I gain for PID (20s).
“Drive PID”.sRet.r_Ctrl_Td:-Saved derivative time or D gain for PID (0s).
We’ve taken the maximum and minimum output limits for the drive PID. The maximum limit for PID output is 100, while the minimum limit is 0.
Network 4 :-
The PID Compact instruction r Cycle’s sampling time is determined automatically and is usually equal to the caller OB’s cycle time. For this application, 0.1s is a good starting point.
Network 5 :-
PID block will be executed when PID enable (I0.0) is pressed. It will generate output (0-27648) based on the SET point (MD500) and send feedback (IW96) to PID based on the speed drive. PID reset (I0.2) is for resetting the PID and manual enable (I0.1) is for manual operation.
Runtime Test Cases