The Theatre In Question
Every show design starts with an attraction
description. This is where the desired guest experience, operator interface and
performance requirements come together to create a show equipment list. For our imaginary
theatre we have selected a multi-channel audio film projection theatre and a multi-screen
video Preshow area. As with
most shows of this type the Preshow and theatre run in relative synchronization, allowing guests to accumulate
in the Preshow during the
film presentation in the main theatre.
As we shall see, a single V16+ will provide total control of both
theatres, including operator consoles, projector, doors, audio equipment, and the video
disc players. For the sake of completeness our application also incorporates some
specialty hardware located in the main theatre. In this instance the V16+ handshakes with
a ride control system which sends motion data to moving seats located in the theatre. In a
more generic installation this could instead control special effects or other
show-synchronized activities within the main theatre.
The control system architecture for our imaginary
theatre is illustrated in the figure below. This block diagram shows the relationship of
all the equipment previously mentioned. The V16+ is the ultimate collector of all operator
and status inputs and the distribution point for commands throughout the attraction.
Inputs, Outputs, Sync and Serial
To begin configuring our V16+ we need to make a list of
the inputs and outputs to which it will be connected. This information will then be
entered into the configuration menus of WinScript.
Digital inputs consist of contact closures or voltage sources
throughout the building which are used to sense the status of remote equipment and
operator pushbuttons. In addition, switches on the V16+ front panel provide user-defined
initialization, test, and special functions.
Digital outputs provide dry contact closures for switching control
voltages throughout the building. These signals can be used to open doors, illuminate
lights, and handshake with other equipment.
Video disc serial connections provide the RS-232 commands and status
that permit the V16+ to control up to sixteen video disc players.
A Composite Sync connection provides synchronization from any or all
of the video disc players. This guarantees that the V16+ remains exactly in frame sync
with all video disc players.
Front Panel Buttons
Our inputs include the first eight front panel buttons
of the V16+. We will use the first switch as a show startup button. This button will bring
all of the external equipment up to its nominal starting condition. The show startup
button will activate the same sequence which will execute automatically whenever the V16+
is powered up.
An evening shutdown button could perform much the opposite of the
show Startup sequence. It would provide a means to spin down video disc players, take
projectors off line, and turn off operator prompting.
The other internal buttons have been left unassigned at this point
but could be used for special test features, a way to select a different show cycle or
combination, or almost any other function, limited only by the designer's imagination.
The Theatre OCC must provide a way to start the show
and to request that the show pause at rollover. (Rollover is the point when the projector
has reached the end of the theatre show material, the theatre audience has exited and the
Preshow audience is in the process of entering the theatre.) Our show will be designed to
automatically cycle all day long, thereby encouraging the operators to maintain maximum
throughput. However, for large audiences the operators may require more load time than
that provided in the automatic recycling. The Theatre OCC Pause button allows the operator
to request a pause during this load cycle prior to the next theatre presentation. We have
also provided a Theatre OCC Stop button. This button's function is to stop a show during
an emergency situation. It will close the projector douser, mute the theatre audio and
bring up the houselights. The Theatre OCC will also have open/close/auto switches for the
theatre entrance and exit doors. Inputs from these switches do not need to go to the V16+
in our simple theatre architecture. Although they certainly could be processed by the
V16+, it is sufficient in our application that the V16+'s door outputs are wired through
these switches to provide automated door opening when these switches are in the auto
The Theatre OCC could also be outfitted with an audio mute switch.
This switch allows the operator to request the V16+ to mute the theatre audio entirely.
This switch is often used by maintenance during the test show in the morning so that they
do not have to listen to the entire theatre audio program.
The designer could even include a PA talk button that allows the
operator to mute the audio system by a predetermined amount and to mix audio from the
Theatre OCC microphone into the amplifiers so that the operator can provide theatre
loading and unloading direction to guests. In our simple example, this button is routed
directly to the audio equipment, although the V16+ could easily handle it, and perform
logical operations upon it.
Show status at both the Theatre and Preshow OCCs is indicated by the
cue light. This light will be illuminated when the system is Ready to run the next show.
This light can also be blinked to serve as a cue for the Preshow load spiel, end of show
The Preshow OCC is simpler than the Theatre OCC and
does not require any switches with inputs going to the V16+. It does have a theatre
entrance door switch which can manually open or close those doors.
Ride Control Computer
In our imaginary theatre we will be interfacing the
V16+ to two other pieces of equipment located in the projection room. One of these is the
Ride Control Computer. Since the "RCC" will control the moving seats in our
theatre, we will use a standard Allen-Bradley PLC to provide the highest possible margin
of safety for our guests. The RCC must tell the V16+ when it is ready to reproduce the
motion program, and accept a command to start that program. Several handshaking scenarios
are possible. In an even more safety critical application we could let the theatre
operator request motion playback from the RCC using a keyswitch connected directly to the
RCC. When the RCC is ready, it would advise the V16+ with a ready line. When the V16+
starts the projector and video disc players, it would also cue the RCC.
In our application we are going to assume that the RCC is just
providing special effects, and allow the V16+ to start the show. It will still check that
the RCC is ready, but this will allow it to cycle continuously all day unless the Theatre
OCC Pause button is pushed. Note that even with this architecture the RCC could still be
enabled by a momentary keyswitch, which would prevent the V16+ from starting the show, by
removing the RCC ready line. Regardless of the approach taken our block diagram remains
the same, and only minor changes are involved in the V16+ script.
Entrance and Exit Doors
The V16+ uses two of its outputs to control the theatre
doors. Another V16+ output is used to flash the warning lights in the Preshow area above
the theatre entrance doors. This alerts guests who might be standing too near the doors,
and also provides a means for beckoning the crowd through the doors in order to increase
theatre load efficiency.
The final piece of projection room equipment connected
to the V16+ is the projector. The projector has a ready line that tells the V16+ it has
recycled to the end of its film loop and is ready for the next theatre presentation. The
V16+ has two control lines which go to the projector. One starts the projector if it is
ready and has recycled from the previous show. The other opens and closes the projector
douser. This provides a means for the V16+ to stop the projection of the film in the
theatre without having to stop the automated mechanism of the projector.
Our Theatre Audio System consists of five tracks of
digital audio that has been sampled to be in synchronization with the video material when
cued on the same frame as the LaserDisc players. This audio will be sourced from an Alcorn
McBride Digital Binloop system that accepts simple serial commands from the V16+.
Through a parallel connection to the audio mixing system, the V16+
can fully mute the audio to eliminate theatre sound entirely. Although the mute button
could be connected directly to the audio system, it is wise to route it through the V16+
as we have described. This allows the V16+ to automatically unmute the audio at the end of
each show. One common operational error occurs when the maintenance staff that tests the
theatre each morning mutes the audio. During the first show of the day, the operator may
not notice that the audio is muted until the first portion of the program material has
been missed. By programming the V16+ to unmute the audio at the end of each show cycle,
the audio will be automatically unmuted before the first show of the day begins.
Video Disc Players
In our design example we are using the Pioneer 8000
series LaserDisc player which has a 15 pin connector. A standard cable available from
Alcorn McBride allows connection between the DB9 connector at the rear of the V16+ and the
DB15 on the Pioneer player. Each video disc used in the show requires one serial
connection to the V16+.
The Preshow of our theatre uses eight small monitors and one large
screen video projector, arranged in an aesthetically pleasing pattern on the Preshow
walls. Each of these monitors is driven by its own video program. For the sake of
simplicity we have used nine separate, synchronized video disc players for the Preshow; it
might be possible to use the three main theatre disc players for three of the Preshow
monitors, however this would constrain the timing relationship between the Preshow and the
main theatre. Since we want flexibility during installation to alter the timing between
the two theatres we will use nine separate video disc players for the Preshow.
The Preshow audio is provided by two digital tracks sourced from the
Digital Binloop system.
It is important that the theatre video disc players run
in absolute frame synchronization to guarantee that the audio program is started on the
same frame as the video program. This frame synchronization is achieved by using BNC
cables to daisy-chain the sync signal between the video players, ending at the V16+ frame
sync input. The sync works best when the V16+ is at the end of the line, with the 75 ohm
terminator enabled using the internal jumper.
When these frame sync signals are connected to multiple players the
V16+ can guarantee that a play command issued to multiple players will be processed by all
players simultaneously, assuring that each player and the Digital Binloop system will
reproduce their source material in exact synchronization.
Even though the Preshow and Theatre players source different video
programs, by keeping them in perfect synchronization we assure that the Preshow and
Theatre programs both begin at the same time. This makes for a smooth transition between
In order to avoid audio synchronization problems, we could
synchronize the V16+, LaserDisc players and Digital Binloop Audio System to SMPTE timecode
by using an Alcorn McBride SMPTE Machine. Each of the sequences in the V16+ could then be
triggered at a preset SMPTE time code, but for this installation there is no advantage in
using this SMPTE option since the V16+ and the players are always in agreement as to the
current frame time. The SMPTE option would be handy, though, if our audio source were
coming from a Tape Deck or other source that could induce time variances that would affect
Let's not forget to distribute sync to the PLC and projector, also.
This will guarantee that the motion playback stays in sync with the projector and audio
A V16+ output commands the dimmer cabinet to lower the
theatre houselights for film projection. In an emergency situation, as well as at the end
of every show, the houselights are brought back up to their original levels.
A serial printer can easily be connected to the show
system to log the show cycle and any errors. In our example, we will use a small thermal
printer (normally used in cash registers) to log system power-up.
To keep our sequence examples simple, we have used only
eight outputs of the sixteen available on the V16+. Many other discrete output
possibilities can be added. For example, you could add independent show run, pause, and
stop lights, cue lights for both the Theatre and Preshow OCCs, and control of special
effects within the theatre. Also, the V16+ could control the OCC microphone mix to the
audio equipment. To utilize more than sixteen inputs or outputs, additional IO64 Discrete
I/O Expanders must be connected to the V16+.
Configuring the V16+
Now that we have designed the architecture of our show
we need to describe it to the V16+. This is done with screens that, to a large extent,
mimic the decisions that we have already made.
We begin from the main menu of the WinScript programming software by
selecting the File | New option and choosing V16+ from the product list. Next,
lets give our show a name
how about "MYSHOW"?
Lets continue by selecting the Configuration | Unit
menu item. This Dialog Box allows us to describe the environment that the script will be
executing in. Information requested here includes the Unit Type (V16+), Unit Address, and
frame rate. The selection of frame rate affects the frame numbers used while programming
our sequences, so this selection should be made before we do any sequence programming. The
V16+ clock can be sourced from the processor's internal oscillator or from an external
clock at any rate up to 3000Hz. We will be using external frame sync from one of the video
disc players, so set the Clock Source to External.
After closing this menu, we choose Configuration | Inputs
. This is a simple menu which lists all of the inputs to the V16+ and allows us to give
them English names which will be used throughout our sequences. Using the input hardware
descriptions we arrived at previously, we assign our names.
Next we close this screen and move on to Configuration |
. In a similar fashion we give the outputs names that we wish to use
throughout our sequences.
Next we choose Configuration | Flags
. Flags 1-12 are
used as "Ready Flags" to be turned "ON" when the corresponding
LaserDisc player is "Ready" to start the show. The exact information to enter
into the fields is given in Figure 11.
Now we move on to Configuration | Ports
. This is where
we configure the V16+ for the number and type of video disc players to which it is
connected. For each player in use we select a baud rate, data format (parity, length in
bits, and number of stop bits) and a manufacturer's protocol. This protocol can be
specific to Sony or Pioneer disc players, or can be a custom protocol designed by the
user. The Programmer Port is always port 0, and its type is set to Alcorn 9 Bit Control.
In our show we will connect the V16+ to the 12 Pioneer disc players described previously,
plus the Digital Binloop Audio System, a serial printer for data logging, and a Ride
Control PLC. This uses 15 of the 16 serial ports of the V16+.
Next, we choose the Configuration | LCD Strings
and create the display messages that will be seen on the V16+ LCD Display before, during,
and after each show.
Finally, we go to the Configuration | Data Strings
and create some serial strings for use in our sequences. This allows us to construct
specialized serial messages that are not constructed by the script compiler. Do not enter
search and play commands here. They are created automatically. This is the place,
however, to define custom messages to be sent to the printer and RCC.
In a more complex show we could design a custom serial protocol for
the RCC into a Protocol File, but since we will only be sending it one "start"
message, we will keep the message in the Data Strings configuration for simplicity. In a
real show situation, the messaging might be more complex, so please refer to your specific
equipment manuals for information on serial protocols.
Now our V16+ is fully configured for its operating environment. The
next step is to create and add events to the sequences of MYSHOW.
We now will edit and configure our sequences by working
with the Sequences of MYSHOW window. The V16+ supports up to 256 sequences. Each
sequence may be up to 32,767 events long (although our V16+ can only hold around 8,192
total events since it supports a maximum of 64KB of show memory), and all sequences
execute independently and simultaneously. Each sequence is started, paused, stopped and
reset by its own unique set of conditions and can interact with other sequences as well.
The logical place to begin our sequence programming is with our auto-executed sequence,
the one that is also initiated by pressing the first button on the V16+ front panel. This
is our show startup function and will bring all of the equipment in the attraction to a
known starting state whenever the V16+ is first powered up or this first button is pushed.
Each sequence that we write must have its own setup properly filled
in, in order to behave in the way that we expect. Double-click on the name of the Default
sequence in the list and change the sequence name to "Startup". For each
sequence we can assign dedicated start, stop, pause and reset functions. These are
normally attached to the front panel buttons on the V16+. In the case of our Startup
sequence we have no requirement for a stop, pause or reset button. We do, however, want to
attach the V16+'s first button to start this sequence by setting the Start Trigger of
Startup to FrontPanelStart. We also want this sequence to be Autostart Enabled so
that it will start immediately at power up.
Similarly, the sequences Startshow and EStop should
be assigned start triggers of OCCStart and OCCStop, respectively. The rest
of our sequences will be started and reset by other sequences, so they should not be
assigned any triggers.
Up to this point we have configured the V16+
environment and given English names to its input, output and serial ports. We have also
defined some general purpose strings and given them English names. All of this
configuration information now becomes a tool which we can use to create the sequences that
will make our theatre run.
The sequence entry we are about to perform will result in a
completed V16+ script consisting of a few sequences. Obviously with nine unused inputs,
eight unused outputs and 212 unused sequences there is plenty more we can make this V16+
do. But these sequences will give you an idea of the V16+'s capabilities and form a
rudimentary but complete theatre control system.
One of the most powerful aspects of the V16+ is the
inter-relationship that sequences can have amongst themselves. Several of our example
sequences will illustrate the flexibility this gives us.
The first sequence for which we will enter events is our Startup
sequence. The function of Startup is to spin up all the disc players and initialize
outputs to known states. As you recall, this sequence is executed automatically when the
V16+ and other equipment is first powered up. It is also executed whenever the first push
button on the V16+ front panel is pressed.
The very first activity in our startup sequence must be to reset
other important sequences. Since many of our sequences operate the same outputs, allowing
some other sequences to run during Startup could cause interesting and unpredictable
interactions. When first powering up the V16+, of course, the other sequences will not be
running, but they may be if the start button is pushed later during the day.
Startup continues by initializing all of the V16+ outputs to a known
state. When the V16+ is first powered up all of its outputs are initialized to off;
however, since the Startup sequence can be executed at any time, the state of the outputs
is unknown. We therefore initialize all of them. Do this using the Off and On events in
the Event column and the English names of the outputs in the Data1 column. Using these
commands, we turn off the operator console cue light, close the exit doors, turn off the
projector start and douser lines and turn off the audio mute line.
We also want to set the entrance doors to their normal rollover
state, which in our case is going to be open. Before we do this we should blink the
warning lights for 5 seconds to alert anyone near the doors that they are going to move.
Do this using the Blink event, putting the warning light name in the Data1 column and a
one second blink rate into the Data2 column.
Now that the rest of the theatre is ready, the video disc players
must be spun-up. Since we do not know how long it will be until the first performance, it
is necessary to spin-up the video disc players as fast as possible. To do this, we start
12 independent spin-up sequences (SpinupTheatre1, SpinupTheatre2, SpinupTheatre3,
SpinupPreshow1, etc.) that turn the corresponding flag "ON" when the player has
been spun-up. Also, to insure that all outputs will be "OFF" when the Spinup
sequences begin, we simply turn them all "OFF" before we start Spinup sequences
If all twelve Spinup events were put in the same sequence,
the time that it takes for each player to spin-up will accumulate. Even though they would
be scripted to occur on the same frame, the final Spinup event could be over 4
Just before Startup ends we start another sequence:
LaserDiscsSpunup?. LaserDiscsSpunup? constantly checks the status of each video disc
player, so it should be Loop Enabled. If even one of the players isnt powered or is
not responding, the show cannot begin, but eventually the Spinup commands inside
the Spinup sequences will time-out and the show will commence, even though a video disc
player may not be spun-up.
Recycle is started just before LaserDiscsSpunup?
ends. The activities done by Recycle could instead be done at the end of
LaserDiscsSpunup?, but since these activities will be repeated throughout the day, we have
chosen to assign them to their own sequence.
Recycle is used at the end of each show to bring the LaserDisc
players to the appropriate starting frame in preparation for show playback. Make sure that
there are no triggers assigned to this sequence. It cannot be activated by any switch
closure. It is only activated by other sequences. This sequence does not have the ability
to be restarted and will not Autostart either. Essentially the entire configuration has
been set to an inactive state.
The Recycle sequence does nothing more than search to the
appropriate starting frame on each of the 12 video disc players. We do this by starting
other sequences, which contain nothing except individual search commands for one player.
The reason for not simply sending the search commands from this sequence is the same as
when we spun-up the players: the time that the sequence waits for an acknowledgment will
accumulate, so parallel search sequences assure that each search event gets processed at
exactly the same time.
Recycle also starts LaserDiscsSearched?, a looping sequence very
similar to LaserDiscsSpunup?. LaserDiscsSearched? Sets the ShowReadyFlag when each of the
players is ready to start immediate playback of the video presentation.
Our next sequence is StartShow. StartShow is actuated by the start
button on the theatre operator's console. Our theatre presentation is designed so that it
can automatically loop all day long after the first show is manually started. To run the
first show of the day the operator presses the OCC start button and StartShow begins
execution. Configure StartShow to have the OCCStart input as its start trigger and
dont forget to check the Loop Enable checkbox to assure that we continually check
for the projector ready-line.
StartShow uses the LCD display command to inform us that it is
waiting for the projector ready line. Next it checks to see if the projector ready line is
active. If it is not, it jumps over the next line to the Nop at the end of the
sequence, labeled loop. As soon as the sequence reaches the end, it begins again at
the beginning. When the projector is ready, StartShow confirms that the LaserDisc players
have been searched to the correct frame, starts the main show sequence, Showtime, and
resets itself so that it wont interfere with other sequences.
Showtime is the main timekeeping sequence for running the theatre
show. Showtime's 0 starting frame corresponds to the first frame played back from all of
the video disc players. We define it this way to make it easier to program the sequence of
theatre events: all of the time offsets throughout the sequence are relative to the show
frame being played back. (If events need to occur after StartShow and before the video
discs play, these events should be placed in another sequence started by StartShow. At its
completion that new sequence should start Showtime.)
Showtime immediately issues a play command to all of
the video discs. Again we do this by starting multiple parallel sequences to assure that
the commands are all processed in parallel and all the players start on the same frame. By
doing this we have guaranteed that the V16+ will send the serial commands to all players
Simultaneously with a play command to all of the video disc players,
Showtime sends a start message to the Digital Binloop system. Next, we send a start pulse
message to the projector. Then, we send a serial message to the RCC telling it to start
its motion control playback.
Now that we have completed the time critical activities that occur
at frame 0 we can perform some lower priority functions. We display "Show
Running" on the LCD and command the house lights, entrance doors, audio mute, and cue
light off. Five seconds after the projector started we open the douser.
The show is now running. Our imaginary show ends at 2 minutes, 45
seconds. Twenty seconds prior to that we pulse the operator console cue light for 3
seconds to cue the operators to prepare for their spiels. Now the show is over. We close
the douser, bring up the house lights and open the exit doors. We also start the Recycle,
previously described, to bring the video discs back to their starting positions. Notice
that Recycle is performing this activity while Showtime continues to run.
Now we blink the warning lights for the entrance doors. The Preshow
operator provides a fifteen second spiel and then we open the entrance doors and turn off
the warning lights. After an additional 25 seconds we close the exit doors.
Next we check the state of the operator console pause switch. (To
simplify things, we are using a maintained switch. A momentary would work just as well,
but we would need an extra sequence and a flag to hold its state.). If the switch is in
the pause position, then we should not Recycle the show automatically. We instead jump to
the End label. If the switch is not paused, then we can re-initiate the entire show cycle
by starting StartShow. If we are in pause, we display a status message on the LCD display
to that effect.
The final sequence, EStop, is responsible for handling the operator
console stop button. When pressed it closes the douser, brings up the houselights and
stops the other sequences.
As you can see, the V16+ provides a wealth of Show
Control power and versatility to even the most complex of shows, providing exact timing
and control over all show systems.