Single Push button to ON and OFF a Bulb using Ladder Logic

Learn how to use Single Push button to ON and OFF a Bulb using Ladder Logic in programmable logic controllers (PLC) control system.

  • I0.0  : Input Push-Button (Normally-Open)
  • Q0.0 : Output Coil (Bulb)
  • Q1.5 & Q1.6 : Flags

Single Push button Ladder Logic

As soon as the push button I0.0 (N-O) is pressed ,it becomes N-C and coil Q1.5 (flag) is energized. The another flag Q1.6 will not energize as the output coil contact  Q0.0 is N-O, which breaks the circuit to the flag Q1.6.

As soon as the flag Q1.5 is energized ,the contact Q1.5 (N-O) becomes N-C and out bulb coil Q0.0 gets energized and bulb becomes ON.

Single Push button to ON and OFF a Bulb using Ladder Logic

Now, if the push button is released the coil Q0.0 will remain energized because of latching applied as latch contact Q0.0 (N-O) in last rung. To switch off the bulb the push button is again pressed which closes the N-O contact of o/p coil Q0.0 and energizes the flag coil Q1.6.

Due to energize of flag Q1.6 , the N-C contact of this flag in last rung becomes N-O  and as a result of this ,the last rung goes false and output coil Q0.0   is de-energized and bulb goes OFF.

If you liked this article, then please subscribe to our YouTube Channel for PLC and SCADA video tutorials.

You can also follow us on Facebook and Twitter to receive daily updates.

Motor Trip Logic using PLC

What is Relay Logic ?

Introduction to PLC Diagrams

PLC System Documentation

DeMorgan’s Ladder Diagram

Don't Miss Our Updates
Be the first to get exclusive content straight to your email.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address

13 thoughts on “Single Push button to ON and OFF a Bulb using Ladder Logic”

    • No funciona tal como está. Queda cambiando indefinidamente.
      El primer contacto I 0.0 no debe ser de estado ON, debe ser de flanco de subida.
      It doesn’t work just like that.
      It keeps changing state as long as the button remains ON
      You should change the I 0.0 button contact to be a rising edge detector.

      Reply
  1. I’m no expert but this should turn it on, just to turn it right off again. Just based on me reading it. The bulb will open the top closed contacts to open, and the contacts below that to close, causing the second flag to get power. Once that gets power, it will then open it’s corresponding contacts, cutting off power to the bulb.

    So it will turn it on, then turn off. Basically flicker. Though maybe I’m wrong in my observation, though I don’t see how it could work regardless.

    Reply
  2. This will cause output Q0.0 to flicker as it will be set in one program cycle just to get reset in next and again and again.
    You will need to add rising edge detection dor input I0.0 for it to work.

    Reply
  3. I’m not understanding all the negative comments… I’m in CODESYS and this ladder seems to function exactly as shown…

    I did add a simple T_TRIG to my input signal to de-bounce the switch (pretty standard stuff when dealing with mechanical switches), but otherwise the ladder did exactly what the author claims. Win for me.

    Reply
  4. Below works. Basically a ring counter that just loops through counting from 1 to 2 due to successive button presses. 1. Press and hold to energize C01. 2. Release to energize CN01. 3. Press and hold to energize C02. 4. Release to energize CN02. 5. Press and hold to energize C01 (and so on, and so on…) You can use then use C01 and C02 as a momentary ON and OFF, or combine them as I’ve done to have a solid ON and OFF. For the bulb application, the bulb would be driven by C01 OR CN01.

    PB CN01 C02 C01
    —+-] [–+-]/[–+-]/[–+—(R)
    | |
    | C01 |
    +-] [–|

    PB C01 C02 CN01
    —+-]/[–+-] [–+-]/[–+—(R)
    | |
    |CN01 |
    +-] [———+

    CN01 PB CN02 C02
    —+-] [–+-] [–+-]/[–+—(R)
    | |
    | C02 |
    +-] [———+

    C02 PB CN02
    —+-] [–+-]/[–+—(R)
    | |
    |CN02 |
    +-] [–|

    C01 ON
    —+-] [–+—(R)
    | |
    |CN01 |
    +-] [–|

    C02 OFF
    —+-] [–+—(R)
    | |
    |CN02 |
    +-] [–|

    Reply
  5. It kind of works, mostly doesn’t. If you hold the push button down the bulb will go on and off repeatedly. When you release the button it just depends on timing whether it end up on or off. I’ve got a better way that is basically a ring counter that counts from 1 to 2 repeatedly due to successive button presses.

    Reply
  6. If there’s a single switch as input,and 3 lamps as output..like…
    S1 is on-L1 on.
    S1 is off-L1 off.
    Again S1 is on- L1 still off and L2 is on.
    S1 off-L2 on.
    S1 on-L2 off,L3 on.
    S1 off-L3 off.

    What should be the ladder logic?

    Reply
  7. I dont know, How people consider I0.0 as push button because rule for push button is, if the button is released it need to be in on state due to latch coil. Here no latch for I0.0. If we consider 2nd rung as latch network means it only flickers wont be in on or off state continuously.

    Reply

Leave a Comment