Today is...
Sunday, April 22, 2018
Welcome to, the global online
community of automation professionals.
Featured Video...
Featured Video
Watch an animation of a conveyor stacking operation demonstrating the use of a move on a gear command.
Our Advertisers
Help keep our servers running...
Patronize our advertisers!
Visit our Post Archive
PLC Ladder Diagrams - Traffic Lights
A PLC ladder diagram to control a typical pedestrian crosiing.
By Gary Picking on 1 November, 2001 - 9:57 am

I am looking for some help on writing a program to control one set of traffic lights, with pedestrian warning lights for a typical UK crossing - the one with a flashing amber and green man. Anybody have any ideas on how I would go about programming the flashing bit.

Thanks in advance.

you could always use two timers

I t1:25/dn t1:24
I-----] [--------TON-----
t1:24/dn t1:25

Something like that... Or you can use a Status bit which I cant quite remember which one it is I think it's S4:0/0 or something. You can look for it yourself

By Leon Vangorp on 1 November, 2001 - 3:28 pm


The SIMATIC S7-300 Programmable controler Quick start discribes exactly what you are looking for.
(If this is for homework, don't copy it! Your teacher will recognise it!)

Leon Vangorp
Automation Engineer
Umicore Engineering - Belgium

By Jeffrey Eggenberger on 1 November, 2001 - 6:24 pm

Write out your flow diagram first. Try looking for a beginner book on programming. Any problem can be broken down into smaller problems, that is
the reason to use flow charts. You need to diagram what is going to happen, and under what conditions. Also account for problems such as power outages. What will happen on power up? Are you going to sync with other traffic lights for smooth traffic flow? Are you going to use sensors in the road surface to detect someone waiting for the light? A good way to start is to carefully observe an existing system, and take note of all timing and conditions.


By ITS SHAHID WAQAS CHAUDHRY on 2 November, 2001 - 1:04 pm

We used a SIMATIC S7-200 based system. The idea is quite simple. We have used a technique similar to drum controller. Two sets of tables (One for
states and one for time) are used. A pointer is set up that is incremented along the state table after the elapsed time (from its own table).

For flashing, one way (in S7-200) is to use the Special Memory Bit(SM). There is one with freq=1/2 sec and 50% duty cycle. The other way is to simply make you own using a pair of timers.

What are you using as a controller? If the crossing is small, maybe you can use SIEMENS LOGO (We have used this as well for 1 Mains + 1 pedestrian crossing) or AB Pico or one of the small ones available from almost every PLC vendor now.

Good Luck!


1 out of 1 members thought this post was helpful...

Shahid, I apologize for reaching you via the List, but e-mail address I received didn't work. Please retry with your Fax No.

The point I was trying to make was that I/O Diagnostics has far greater impact on SIS (even Traffic Control) performance, not Redundancy...
especially not TMR!

Phil Corso, PE
(Boca Raton, FL)

One way would be to:
Note all of the possible combos. of lites.
Find the decimal equivalent to each combo.
Store these decimal representations in registers
sequentially based on the sequence of the lites.
Use a sequential output block (or equiv)at a given rate to move these registers into the output module to display your lites.
Think about how these lites will sequence after a power outage.
This was a classic,some people in my class got it down to two rungs.

By Richard Norris on 3 November, 2001 - 12:07 pm

One point not raised is the requirement of redundancy in regards to the safety of a traffic light system. There is available plc's for this purpose. If it is not for use in a real situation and just a plc project for learning purposes then the AB plc offers a sequencer which is ideal for this prupose

You can also monitor the current through each lamp, and feed that back to the program as a check.


By SHAHID WAQAS CHAUDHRY on 6 November, 2001 - 4:00 pm

On the issue of the current monitoring. How can we perform that action? Using a CT on the output and checking it the current falls below a certain limit (say normal is 1.0A when ON and fused is lesser?

One observation though: Using a CT on each bulb would spiral the cost upwards. If we use a mux, then the program gets complex?

Comments welcome!


I can't remember the details, but this was used on a project I was involved with a few years ago - (we just moved the application from a common process PLC to a dedicated one because of safety implications). I have an idea there was a special component available - it wasn't a CT but may have been a small resistor in the neutral end of the lamp circuit. Bulb blows - no current - no volts.