I have a problem for expanding this particular ladder diagram.
The cylinder is a double acting pneumatic cylinder type.

START -> Start button
A+ and B+ -> Cylinder moving forward
A- and B- -> Cylinder moving backward

For this sequential
START > A+ > A- > B+ > B-
Basically when START button is pressed, Cylinder A will move forward until Max, then move backward until Min. After Cylinder A moves, Cylinder B moves just like A. Forward first until Max, then backward, until Minimum, then it will be RESET.
It goes like this. (sorry for potato quality)

Ladder Diagram 1

From that, I understand that it's just a Lock and Latch.

But, for this sequential
START > A+ > A- > A+ > A- > B+ > B-
for the love of God, I can't figure it out. How is the ladder diagram?

Also another question, how is the ladder diagram of a Monitor button (only has one button)?

Anyone can recommend comprehensive books/guides or software simulation for this?

Thank you.

  • \$\begingroup\$ I don't quite understand your question. Is the program not working the way you expect? Are you having trouble understanding what it is supposed to do? \$\endgroup\$
    – Ben Miller
    May 18, 2015 at 18:05
  • \$\begingroup\$ Thanks for responding. I haven't really delved deep and understand about plc yet, I'm a complete beginner you see. This is purely a theory question about ladder diagram. I want to understand the logic of ladder diagram. I still can't program a plc. Sorry if it made you confused. \$\endgroup\$ May 18, 2015 at 18:27

1 Answer 1


When output "Cylinder A" turns on, Cylinder A extends, and when the output turns off, Cylinder A retracts. Limit switches "Sensor A_Max" and "Sensor A_Min" are on either end of the cylinder.

Cylinder B works the same way, and has an output and two limit switches.

When the START button is pressed, this program extends Cylinder A to the limit switch (Sensor_A_Max), then retracts Cylinder A. When the retract limit switch (Sensor_A_Min) is hit, Cylinder B extends until it hits its extend limit switch, then retracts. After Cylinder B is retracted, the system is reset. When the START button is pressed again, the cycle repeats.

Here is the sequence:

  1. START turns on and off (momentary).
  2. Cyl_A_Fwd turns on.
  3. Cylinder_A turns on, which causes Cylinder A to extend.
  4. Motion causes Sensor_A_Min to turn off, then Sensor_A_Max to turn on.
  5. Cyl_A_Backwd turns on.
  6. Cylinder_A turns off, which causes Cylinder A to retract.
  7. Motion causes Sensor_A_Max to turn off, then Sensor_A_Min to turn on.
  8. Cyl_B_Fwd turns on.
  9. Cylinder_B turns on, which causes Cylinder B to extend.
  10. Motion causes Sensor_B_Min to turn off, then Sensor_B_Max to turn on.
  11. Cyl_B_Backwd turns on.
  12. Cylinder_B turns off, which causes Cylinder B to retract.
  13. Motion causes Sensor_B_Max to turn off, then Sensor_B_Min to turn on.
  14. RESET turns on, which causes the following:
    • Cyl_A_Fwd turns off
    • Cyl_A_Backwd turns off
    • Cyl_B_Fwd turns off
    • Cyl_B_Backwd turns off
    • RESET turns off

At this point, you are back to the beginning, and a push of the START button will begin a new cycle.

If you are looking for a beginner tutorial or simulator for PLCs, there are quite a few to choose from by searching Google:


Not the answer you're looking for? Browse other questions tagged or ask your own question.