PLC ladder logic sequence

2.7k Views Asked by At

I've spent hours and a trees worth of paper sketching and I haven't been able to stumble upon anything to get me past this problem. I'm able to switch back and forth between two motors but I can't figure out how to turn the motors off while switching between them, while still following the criteria below.

Using ladder logic:
Use only one start stop station consisting of only one NC contact and one NO contact, two motor starters and three control relays create the following cycle. (No timers or counters)

  1. When the start button is pressed motor 1 will start and run until stopped by pressing the stop button.
  2. When the start button is pressed again motor 2 will run until stopped by pressing the stop button.
  3. When the start button is pressed again motors 1 & 2 will run until stopped by pressing the stop button. Pressing the start button again will now start the cycle over.
3

There are 3 best solutions below

0
On

If you are limited on relays and don't want state machine you can do it with only 2 relays. Use logic flags to solve it. This example assumes you have rising edge contacts and set+reset coils as starters. I can't write ladder code here so I do what I can:

START is NO button and STOP is NC button. M1+M2 are motors F1+F2 are relays

START  M1   M2   F1  F2   M1
-|P|--|/|--|/|--|/|--|/|--(S)

STOP   M1   M2   M1  F1
-|N|--| |--|/|--(R)--(S)

START  M1   M2   F1  F2   M2
-|P|--|/|--|/|--| |--|/|--(S)

STOP   M1   M2   M1   F2   F1
-|N|--|/|--| |--(R)--(S)--(R)

START  M1   M2   F1  F2   M1   M2   F2
-|P|--|/|--|/|--|/|--| |--(S)--(S)--(R)

STOP   M1   M2   M1   M2
-|N|--| |--| |--(R)--(R)-
2
On

Ira Baxter is right. You should use a state machine. I have set-up one below. Normally you would draw such a state machine using circles and arrows, but this will do for now I guess...

Although you talk about having 3 different steps (states) I actually see 6 states:

State0: Both motors are switched off (If start button pressed goto state 1) 
State1: Motor 1 running (If stop button pressed goto state 2)
State2: Both motors are switched off (If start button pressed goto state 3)
State3: Motor 2 running (If stop button pressed goto state 4)
State4: Both motors are switched off (If start button pressed goto state 5)
State5: Both motors are running (If stop button pressed goto state 0)

What you should do is have one block determine the state (0..5) and have the motor-control blocks react to that state.

1
On

I used a single push button to enable both pumps. then a condition EQU to either 1 or 2 for either pump 1 or pump 2. the 1 and 2 were changed with a move statement every 7th day,