PLC control of stage lights

Thesis

Member
Join Date
Jun 2004
Location
Athens, GA
Posts
5
Hi!

I am having trouble writing ladder logic for this particular problem.
It involves setting up a PLC control for five sets of state lights for an auditorium. For a particular stage production, the various acts and scenes require 6 different lighting sequences, each involving a different combination of the five light sets.

Here is the way the sequence goes:

STEP 0|STEP 1|STEP 2|STEP 3|STEP 4|STEP 5|STEP 6
LIGHTS1 XXXXX XXXXX XXXX
X
LIGHTS2 XXXXX XXXXX XXXXX
LIGHTS3 XXXXX XXXXX XXXXX XXXXX
LIGHTS4 XXXXX XXXX
LIGHTS5 FLASH FLASH FLASH FLASH

The two inputs I decided are STEP (momentary N/O pushbutton) which makes PLC step to the next sequence and UPDN which makes the sequence advance when ON and reverse when OFF (reverse is used for repeating sequences during rehearsal).

on the table X means on. Lights1 - LIghts5 are the outputs.Lights 5should flash continuously for 0.3 seconds ON and 0.3 seconds OFF when activated. The Sequence needs to be forward, reverse and circular. When you go forward Step 0 follows Step 6 and in reverse step 6 Follows step 0, etc)...
Appreciate any help, guys. Thanks. :cool:

PS I can't get the table to come out formatted right.

LIGHTS1 is supposed to be activated on Steps 1, 2, and 5
LIGHTS2 is supposed to be activated on Steps 1, 2, and 4
LIGHTS3 is supposed to be actvated on Steps 2, 4, 5, and 6
LIGHTS4 is supposed to be activated on Steps 1, and 5
LIGHTS5 is supposed to be activated on Steps 1, 2, 4, and 5 (flashing when activated at 0.3 second intervals)
 
Last edited:
PS I can't get the table to come out formatted right.


Try using "Ladder" or "Code" formatting as shown below.

[LADDER] or [CODE]

Text or Code

[/LADDER] or [/CODE]




The following is in a "generic" coding style.

First you need a way to make sure that the Stepper doesn't double or triple step... you need to "debounce" the Step PB.


STEP WAS
PB STEP
---| |-------|/|------+---{ SET } WAS STEP
|
+---( ) Step PB (debounced)

STEP WAS +---------+
PB STEP | TIMER |
---|/|-------| |-----+ +---( RST ) WAS STEP
| 1.000 |
| |
+---------+


The Step PB has to be OFF for 1 full second before the program "believes" the next signal from the Step PB.

Once the program receives a valid input from the Step PB ("Step PB - debounced") the program needs to look at the FORWARD/REVERSE Switch.

If the FORWARD/REVERSE Switch is ON then the program will "Step Forward".

If the FORWARD/REVERSE Switch is OFF then the program will "Step Backward".


Step PB
(debounced) FORWARD
----| |----------| |-------( ) Step Forward


Step PB
(debounced) FORWARD
----| |----------|/|-------( ) Step Backward



If "Step Forward" and currently at Step-6 (V100 = 6), then need to set V100 to "0". Otherwise, simply ADD "1" to V100.


Step +-------+
Forward V100 6 | MOVE |
----| |---------| = |--+---+ "0" +---{ RST } Step Forward
| | into |
RESET | | V100 |
LIGHTING PB | +-------+
----| |----------------+


You might add a RESET LIGHTING PB just to bring the program immediately to "Step-0".

Step +-------+
Forward V100 6 | ADD |
----| |---------| < |-----+ V100 +---{ RST } Step Forward
| + 1 |
| ---- |
| V100 |
+-------+


If "Step Backward" and currently at Step-0 (V100 = 0), then need to set V100 to "6". Otherwise, simply SUB "1" from V100.

Step +-------+
Backward V100 0 | MOVE |
----| |---------| = |-----+ "6" +---{ RST } Step Backward
| into |
| V100 |
+-------+

Step +-------+
Backward V100 0 | SUB |
----| |---------| > |-----+ V100 +---{ RST } Step Backward
| + 1 | <-- this indicates subtracting a POSITIVE 1 from V100
| ---- |
| V100 |
+-------+


Then you have to build a .3 Sec Flasher. I haven't got time to show you. Gotta Go!


V100 1 LIGHT-1
---| = |---+----( )
|
|
V100 2 |
---| = |---+
|
|
V100 5 |
---| = |---+



V100 1 LIGHT-2
---| = |---+----( )
|
|
V100 2 |
---| = |---+
|
|
V100 4 |
---| = |---+


V100 2 LIGHT-3
---| = |---+----( )
|
|
V100 4 |
---| = |---+
|
|
V100 5 |
---| = |---+
|
|
V100 6 |
---| = |---+


V100 1 LIGHT-4
---| = |---+----( )
|
|
V100 5 |
---| = |---+


.3 Sec
V100 1 Flasher LIGHT-5
---| = |---+---| |-----( )
|
|
V100 2 |
---| = |---+
|
|
V100 4 |
---| = |---+
|
|
V100 5 |
---| = |---+


 
You could use an Up/Down Counter and use the counter's current value as the step.

If counter equals 1, 2, or 5, then Lights 1.
If counter equals 1, 2, or 4, then Lights 2.
If counter equals 2, 4, 5, or 6 then Lights 3.
etc.
 
Thanks for all the help guys.I now have everything working except that I can't see the flash working, and the UPDN isn't working. I can get it to step through and implement all the correct lighting though.
 

Similar Topics

Hi, I have a 1500 that controls a station with diferents warehouses, but i also have a 1200 that controls one of those warehouses, i have been...
Replies
9
Views
215
Good day Forum Members I got a older Lincoln welder and hoping to make it work at our shop. Welder in question is the Lincoln Power Wave 455M...
Replies
4
Views
145
Hello everybody, I am working for an OEM and we are in the process for trying to raise the effectiveness of the pretesting of machines. Basically...
Replies
20
Views
618
An outside contracting firm designed a machine for our company. There are several devices connected through Ethernet/IP. This includes a Panel...
Replies
4
Views
180
Hello, I’m new to this forum and if I’m posting incorrectly let me know. I’ve been having an issue I can’t seem to figure out. I’m sure it’s...
Replies
1
Views
102
Back
Top Bottom