PLC program for Motor control in Ladder logic

Ladder logic program for motor control is explained below. There are two motor M1 and M2 one allows forward rotation and the other one allows reverse rotation.

To keep the motor running even after the operator removed its control switch (s), we could change the circuit in several different ways: we could replace the pushbutton switches with toggle switches, or we could add more logic of relay to "Latch" the control circuit with a single momentary action of any of the switches.Here we are explained the second approach is implemented since it is commonly used in the industry.


When the “Forward” button is pressed, M1 will energize, closing the normally open auxiliary contact in parallel with that switch. When the pushbutton is released, the closed auxiliary contact M1 will maintain the current in the coil of M1, locking the “Forward” circuit in the “on” state.

The same will happen when the “Reverse” button is pressed. These parallel auxiliary contacts in the switches are called latching contacts.

This is not the final design, Now we have to consider how to stop the motor.

To stop the Motors:

Since the circuit exists at this time, the motor will run forward or backward once the corresponding button is pressed and will continue to run as long as there is power. To stop any of the circuits (forward or backward), we require some means for the operator to interrupt the power supply to the motor contactors. We will call this new switch stop.


if the forward or reverse circuits are engaged, they can be “unlocked” by momentarily pressing the “Stop” button, which will open the forward or reverse circuit, deactivating the energy of the energized contactor and returning the sealing contact to its normal state ( open). The “Stop” switch, which has normally closed contacts, will draw power to the forward or reverse circuits when released.

Forward and Reversing Problem:

If we press the reverse button, while the motor running in the forward direction, the motor would struggle to overcome that inertia of the large fan when it tried to start turning in reverse, and it cause a reduction in motor’s lifetime and mechanical damages etc.

To overcome this problem we have to use time relay coils. What we want each time delay contact to do is open the starter switch section of the opposite rotation circuit for several seconds, while the fan stops.


  • TD1 and TD2 are two timer relay added to the circuit, both M1 and TD1 will have been activated.

  • This being the case, the normally closed and timed contact of TD1 between cables 8 and 5 will have been opened immediately at the time TD1 was activated.

  • When the stop button is pressed, the TD1 contact waits for the specified amount of time before returning to its normally closed state, thus keeping the back button circuit open for the time necessary for M2 not to be activated.

  • When TD1 times out, the contact will close and the circuit will allow M2 to energize, if the backspace button is pressed. Similarly, TD2 will prevent the “Forward” button from energizing M1 until the prescribed time delay has been deactivated after M2 (and TD2).

We can simplify the logic program by avoiding the auxiliary contacts M1 and M2. Note that the time interlock functions of TD1 and TD2 make the interlocking contacts M1 and M2 redundant.

Each time the delay relay will have a double purpose: to prevent the other contactor from being energized while the motor is running, and to prevent the same contactor from being energized until a prescribed time after the motor has been turned off. The resulting circuit has the advantage of being simpler than the previous example: