App Note:
Large Theater Control
A Kitchen Sink Approach
Many large shows are designed in a theatre format. This design provides high guest throughput by utilizing a Preshow, where guests gather to watch a short film or audio-animatronic presentation. As these guests are watching the Preshow, another group of guests is already in the Theatre watching the main show. The attraction is timed so that when the Preshow is over and the operator has given any special instructions to the guests, the automatic entrance doors open. The previous group will have left the theatre only moments earlier. As the entrance doors close and the main show starts again, another group of guests is gathering to watch the Preshow.

This application note discusses the design of a large theatre just like the one described above. This design utilizes an Alcorn McBride V16+ and several generic show elements to create a simple, but powerful theatre experience.

Audio Video Binloop
Lighting LightCue
Show Control V16+
Binloop Config

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 Ports
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.

Theatre OCC
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 position.

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 warning, etc.

Preshow OCC
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.

Audio System
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.

Video Sync
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 theatres.

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 show performance.

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 tracks.

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.

More Outputs?
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, let’s give our show a name…how about "MYSHOW"?

Let’s 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 | Outputs… . 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… menu 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… menu 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.

Configuring Sequences
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.

Programming Sequences
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 1-12.

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 minutes late!

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 isn’t 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 don’t 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 won’t 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.

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.

3300 S. Hiawassee Rd.
Bldg. 105
Orlando, FL 32835

407-296-5800 Contact Sales Show Control Blog Facebook