User's Guide To Show Control by Alcorn McBride Inc.
Document Revision 3.1 June 2004 Copyright © 1986-2001 Alcorn McBride, Inc. All rights reserved. Every effort has been made to assure the accuracy of the information contained in this manual, and the reliability of the hardware and software. Errors sometimes can go undetected, however. If you find one, please bring it to our attention so that we can correct it for others. Alcorn McBride Inc. reserves the right to make changes to these products, without notice, in order to improve their design or performance.
Contents Welcome 1-1 Installing WinScript ............................................................................................................... 1-2 Technical Support .................................................................................................................. 1-3 Important Information............................................................................................................ 1-4 Show Control Overview 2-1 What Is Alcorn McBride Show Control? ...............
Logical Events........................................................................................................................ 5-7 Program Control Events ......................................................................................................... 5-9 LCD Display Events ............................................................................................................ 5-14 Built-In Serial Events.....................................................................................
Specifications......................................................................................................................... 9-2 Serial Ports ............................................................................................................................. 9-3 LCD Display .......................................................................................................................... 9-5 Digital Inputs ...........................................................................
Specifications ....................................................................................................................... 14-2 Serial Ports ........................................................................................................................... 14-3 SMPTE................................................................................................................................. 14-5 LCD Display ..............................................................................
Welcome Welcome Since the first V16 was introduced in 1986, Alcorn McBride Show Controllers have provided countless users with intuitive, event-driven control of their show. Our windows-based show programming software, WinScript, takes that power and versatility to new levels with Cut and Paste, English-like user-definable commands, new tools and applications, and intelligent debugging.
Installing WinScript WinScript is equipped with a Setup program that checks your system and asks a series of questions about how you want to install WinScript. Important If you use a virus protection program that may interfere with software installation, turn it off or override it before running the WinScript Setup program. Virus protection may be turned back on after setup has completed. Minimum System Requirements Hardware/Software Minimum Required for WinScript 2.
You can obtain information about specifying, installing, configuring, and programming your Alcorn McBride Show Control product from three sources: • This Show Control User’s Guide • Online Help • Alcorn McBride Technical Support Both the Show Control User’s Guide and the Online Help assume that you are familiar with basic Microsoft Windows techniques. Using This Guide This guide presents the best way to accomplish tasks found in common (and uncommon) show control situations.
Important Information Congratulations! You have purchased an extremely fine Product that would give you thousands of years of trouble-free service, except that you undoubtedly will destroy it via some typical bonehead consumer maneuver. Which is why we ask you to: Please for God's sake read this owner's manual carefully before you unpack the Product.
The plug on this Product represents the latest thinking of the electrical industry's Plug Mutation Group, which, in a continuing effort to prevent consumers from causing hazardous electrical current to flow through their appliances, developed the Three-Pronged Plug, then the Plug Where One Prong is Bigger Than the Other. Your Product is equipped with the revolutionary new Plug Whose Prongs Consist of Six Small Religious Figurines Made of Chocolate.
1-6 Welcome
Overview Show Control Overview If you are designing your first ride, attraction, or themed venue, you may have heard the phrase “Show Control” bounced around in design meetings. While the actual definition of “Show Control” may vary among the industries that use it, the phrase is almost always used to describe an intelligent unit (or group of units) used to control audio, video and lighting equipment, doors, buttons and lights in an automated show environment.
What Is Alcorn McBride Show Control? Alcorn McBride Inc. designs and manufactures a full-featured line of Show Controllers. These products are designed to work simply, powerfully, and flawlessly in almost any show environment. Show Control Hardware Our Show Controllers provide seamless control over almost any serial or discrete device, while accepting and processing serial and discrete input from control panels and other equipment.
Each Alcorn McBride Show Controller provides a diverse set of standard features to assist you in controlling your show, so one Show Controller may be all you need to command your entire attraction. Plus, our Show Controllers work together seamlessly, providing almost unlimited show control possibilities. Here are the basic features of each Show Controller in our product line.
V2+ 2 Channel Video Disc and Show Controller Features: • 2 RS-232 Serial Ports • One Port may be MIDI • 8 Optically Isolated Inputs (plus 8 Front Panel Button Inputs) • 8 Lamp Driver Outputs • NTSC Video Sync • 32 Character LCD Display InterActivator Interactive Video Disc Controller Features: • 2 RS-232 Serial Ports • 8 Optically Isolated Inputs (plus 8 Front Panel Button Inputs) • 8 Lamp Driver Outputs • NTSC Video Sync Input IO64 Intelligent I/O Expander Features: • 1 RS-232 Serial Port • 1 Port may
DMX Machine Overview Scripted Lighting Controller Features: • 1 RS-232 Serial Port • 16 TTL Inputs • Transmits 512 DMX Channels SMPTE Machine SMPTE Reader and Generator Features: • Reads and Generates SMPTE & EBU • Supports all common frame rates • Triggers Show Control Sequences Show Control Overview 2-5
Other Alcorn McBride Products Alcorn McBride also makes a complete line of audio, video and lighting control products that may be used by themselves, or with any of our show controllers.
MP3 Audio Machine Overview Digital Audio Player Features: • Hours of CD-quality Stereo Audio • RS-232 and Discrete Control • Stores up to 511 Clips • 10-Watt Stereo Amplifier 8TraXX Advanced MPEG-2 Digital Audio/Video Player Features: • 8 Independent stereo channels of CD-quality Audio • RS-232 and Discrete Control • Stores up to 511 Clips Show Control Overview 2-7
Digital Video Machine 2 Advanced MPEG-2 Digital Audio/Video Player Features: • Over 1.
This tutorial will lead you through the creation, configuration, compilation and download of a simple show to an Alcorn McBride Show Controller. You will learn how to: WinScript Tutorial • Create, Save, Open, and Configure a Script. • Rename Show Controller I/O, Flags, Ports, etc. • Insert and organize sequences • Edit sequences. • Use branching instructions. • Use the LCD Display • Configure sequence triggers. • Play video from a LaserDisc player.
A Little About Our Show The show we are going to create will control the basic functions of a digital video player. We will Search and Play a Digital Video Machine 2, as well as add some front-panel pushbutton and LCD Display capabilities. Note If you don’t feel like typing all of this in, a copy of the completed script, TUTORIAL.AMW, was installed in your \WinScript\Scripts\Examples\ directory. The idea behind this tutorial is to get you oriented with your Show Controller and WinScript.
Opening WinScript and Creating a Blank Script WinScript Tutorial 1. Run WinScript from the Program Manager (or the Start Menu if you’re running Windows 95). 2. Close any blank scripts that may have been created when WinScript started. The default script may not contain the same settings that our tutorial will use. Now choose File | New from the main menu. 3. Choose your Show Controller from the list in the File New dialog box and click OK. 4.
Customizing the Script Now, let’s enter some basic information about our script. 3-4 1 Choose Configuration | Script… from the main menu and enter title, author, and revision information into your script. Then, enter your name in the first Author field. Click OK. 2 If you’ve got a show controller, connect a COM Port of your PC to the Programmer Port of your Show Controller via a straight-thru RS-232 serial cable (the cable that came with your Show Controller).
WinScript Tutorial Naming Resources One of the most powerful tools you can utilize in a script is the ability to assign English-like names to your Show Controller’s resources (Inputs, Outputs, Serial Ports, Flags, Variables, and Strings). Before we begin creating sequences for TUTORIAL, let’s assign some names to the Inputs, Flags, and Serial Ports we’ll be using. While we’re in the configuration menu, we will also create and name all of our LCD Display messages.
3. Close the Inputs of TUTORIAL window. Flags We will use one of the 32 available flags to tell when we are in Night Mode so DayNightModeButton can accurately toggle between the two. 3-6 4. Choose Resources | Flags … from the main menu. 5. When the Flags of TUTORIAL window appears, double-click on flag1 and change its name to NightModeFlag.
WinScript Tutorial 6. Close the Flags of TUTORIAL window. Serial Port Next, we’ll configure one of the Serial Ports of your Show Controller for a Digital Video Machine 2. 7. Choose Resources | Ports … from the main menu. 8. When the Ports of TUTORIAL window appears, double-click on port1 and change its name to dvm2. 9. Right-click on the “Protocol” field of dvm2 and choose Protocol Wizard. 10.
11 We will create an “Error Sequence” later that will automatically run if the DVM2 stops sending acknowledgement messages to the Show Controller. Enter the name DVMError in the Error Seq field. 12 Close the Ports of TUTORIAL window. LCD Messages Our show will make good use of the LCD by displaying the show’s name and current mode in the first line of the LCD and progress information in the second line. First, though, we need to create our messages using LCD Wizard.
WinScript Tutorial 17 Repeat steps 14-16 for the next eight messages: DayModeMsg NightModeMsg GoingToNightModeMsg WinScript Tutorial 3-9
GoingToDayModeMsg ClearLine2Msg 3-10 WinScript Tutorial
WinScript Tutorial CreditMsg (Enter your name after “Programmed by”) PlayingPresentationMsg LDPErrorMsg Whew…now, your LCD Strings of TUTORIAL window should look like this: WinScript Tutorial 3-11
Close the LCD Strings of TUTORIAL window. Save your progress by choosing File | Save from the main menu or by clicking the toolbar button. Inserting and Organizing Sequences We’ll continue setting up our script by creating sequences that will perform the various show functions that we’ve designed. Let’s see…what is required of this script?: • One sequence that starts on power up and places the system in Night Mode. • One sequence that toggles Day or Night Mode when DayNightModeButton is pressed.
WinScript Tutorial 3. We know that we want Autostart to start on power up, so right-click on Autostart and choose Autostart Disabled. This will toggle the sequence to be Autostart Enabled. 4. DayNightMode should be started every time the operator presses DayNightModeButton, so right-click on DayNightMode and choose Start: 5. Select DayNightModeButton and Active On from the Edit Start Trigger dialog box and click OK. 6.
8. It would probably be nice if we could restart the presentation after a short delay, so right-click on MainShow and choose Restart Disabled… 9. Check the Restart Enabled checkbox and enter 150 into the Restart Lockout box. This will give us a 5-second delay (since our frame rate is 30 fps) before anyone can press RunShowButton to restart the show. Click OK. 10. Now, let’s setup our Credits sequences.
Select the Event field of the first event and type “D”. This will bring up the Available Events List and select the first event starting with a D. 3. Choose Display and press Enter. 4. Enter “BootUpMsg” (without the quotation marks) in the Data1 field. WinScript Tutorial 2. Congratulations, you’ve just entered your first Event! This event will display the text in BootUpMsg when Autostart runs. WinScript Tutorial 5. Enter the rest of the events as follows: 6.
DayNightMode DayNightMode will check the status of NightModeFlag and then either put the system in Day Mode or Night Mode. You’ve probably been wondering “just what are Day Mode and Night Mode?” We will Stop our video player in Night Mode and Search our video player in Day Mode. We will search the video player to the start of our presentation so we will have almost instantaneous access to video playback when the operator pushes RunShowButton. 1.
WinScript Tutorial 3. Close the [MainShow] of TUTORIAL window. DVMError This simple sequence will display DVMErrorMsg if the video Player is not connected to the Show Controller or is not responding to commands. 1. Select DVMError in Sequences of TUTORIAL then press Enter. 2. Enter the following Event: 3. Close the [DVMError] of TUTORIAL window.
CreditsOff Our final sequence, CreditsOff will use the RecoverLCD event to “remember” what was displayed on the LCD when the last StoreLCD Event was executed (remember, we stored the LCD in CreditsOn) and put it back on the display. 1. Select CreditsOff in Sequences of TUTORIAL then press Enter. 2. Enter the following event: 3. Close the [CreditsOff] of TUTORIAL window. Compiling and Downloading We’re done! Now its time to compile and download our script into the Show Controller.
Congratulations on writing your first script. We hope you enjoy exploring the many possibilities that a multi-tasking show environment can bring. If you feel adventurous, we recommend experimenting with the script you've just created by adding events and changing display messages. You might even try assigning more buttons to play different presentations from the disc. More advanced scripting techniques can be found in the Advanced Scripting and Application Notes sections of this manual.
3-20 WinScript Tutorial
This section describes all of the features of WinScript. WinScript’s easy-to-use Windows interface allows you to configure your script quickly and efficiently via popup menu items and dialog boxes. Most common operations may be done with keystrokes for those who prefer DOS-like speed. New “Wizards” are available at every turn to offer advice and assistance in creating complicated script components.
Getting Help To access online WinScript help about a particular programming subject, choose Help | Show Control Help from the main menu (or click the toolbar button and then click on the object you wish to get help on). To access online hardware help, pinouts, and connection tips about your Show Controller, choose Help | Show Control Help from the main menu. To learn version and author information about your copy of WinScript, choose Help | About WINSCRIPT from the main menu (or click the toolbar button).
Configuring the Show Controller WinScript Guide To set the unit type, unit address, sync source & frequency, choose Configuration | Unit… from the main menu. Unit Type Select the type of Show Controller you will be scripting from the unit list box. Changing the unit type redefines the number of inputs, outputs and serial ports available to your script. Frame Rate Select the frame rate at which the Show Controller is to operate.
If External sync is used, choose the frequency of the sync signal from the External Frequency combo box. This clock must be an integral multiple of the frame rate. The maximum clock frequency is 600Hz. High clock rates may degrade performance in large, complex scripts. Version, Author, and Show Description To record version, author, and show description information for future reference, choose Configuration | Script… from the main menu.
WinScript Guide Port Configuration and Protocol Each Serial Port on your Alcorn McBride Show Controller may be configured to communicate with any serial device by choosing a protocol. New Events associated with the protocol are automatically added to Event Wizard. To configure a port for an external serial device, choose Resources | Ports…, right-click on the desired port, and choose Protocol Wizard. You can change Baud Rates, Parity, Data Bits, and Stop Bits from the defaults by clicking on them.
Communicating with Alcorn McBride Show Controllers When configuring ports to communicate with other Alcorn McBride Show Controllers, you can use AMI Product Wizard to gain access to resource names in the external unit. Alternatively, you can access external resources by their index number. See the Event Reference later in this manual for more information on events you can execute in a remote unit.
To enter an LCD String, choose Resources | LCD Strings…select a blank line and type a name for your string in the String Name field and enter the string data into the String Data field. String Data can consist of ASCII characters formatted as either single characters or entered in quotes.
Note A Right Justified Variable includes leading spaces to act as placeholders for all possible characters, so it will always be 3 characters in length. A Left Justified Variable will not include any leading spaces as placeholders. To Display A Message At A Specific Row and/or Column In many show situations, the LCD is called upon to continually update show status or display certain numbers or values at certain positions on the screen.
Displays: My Show: Day Mode Show #1 Running Note You cannot display single characters or State Variable values using LCD Wizard. These values must be manually entered into the resulting String Data. Data Strings to be sent out a serial port via the MessageOut event can either be entered manually in the appropriate Data column of the MessageOut event or as a “Data String”.
SMPTE Frame Rate The SMPTE Machine can be configured to generate SMPTE at 23.976, 24, 25, 29.97 Drop, 29.97 Non-Drop, and 30 frames per second (FPS). When configured to Read SMPTE, the SMPTE Machine locks to the frame rate of the incoming SMPTE timecode. SMPTE Generate/Read Options To set SMPTE Generate/Read Options, choose the desired function from the combo box.
• Generate SMPTE-No Genlock to Video – Generates SMPTE timecode at the specified Frame Rate based on an internal clock. • Generate SMPTE-Genlock to Video – Generates SMPTE timecode at the specified Frame Rate based on an external Composite Sync signal. • Read External SMPTE – Reads SMPTE from an external source and echoes the incoming SMPTE to the SMPTE Out port. If the SMPTE Machine is configured to generate SMPTE, checking this box will enable SMPTE generation upon power up.
Note If you don’t wish to use a SMPTE Preroll, make the Preroll Time equal to the Start Time. 4-12 • Start Time – When SMPTE is enabled, the SMPTE Machine defaults timecode to the Preroll Time (unless it has been modified by a SetSMPTETime event). If SMPTE is configured to loop at the End Time, however, it will be set back at the Start Time, not the Preroll Time. • End Time – The SMPTE Machine stops generating SMPTE timecode at this time if it is configured to Stop at End Time.
RS-232 Timecode Options • Dropout Tolerance – This setting specifies the number of frames the Show Controller can miss before it takes action. The ‘action’ that is taken depends on what timecode mode each sequence is in. Note - See Chasing Timecode with Sequences for more details about the different timecode modes. Sends the current configuration indicated in the Configure SMPTE dialog box to a SMPTE Machine connected to the currently selected COM port on your PC.
Using The "Spreadsheet" WinScript's interface works just like a spreadsheet. You can traverse the fields by pressing the arrow keys and open a field for editing by double-clicking it you can enter new data by simply selecting a field and string to type. You can also cut, paste, and copy entire sequences or events or strings. Working with Sequences Your Show Controller can hold 256 independent sequences containing up to 32,767 events (depending on available show memory).
Triggers – The Triggers field indicates which resources, if any, will trigger or affect the sequence in question. A sequence can be triggered by an Input, Variable or Timecode. Sequence Comment – A Sequence Comment can hold any relevant information for future reference. To open the sequence of your choice select which sequence you would like, then press Enter.
Configuring Sequence Properties Individual sequences have several different properties: Indentation, Autostart action, Loop action, Restart action, SMPTE trigger, SMPTE Chase, and Start, Stop, Pause, and Reset triggers. To view or change sequence properties, rightclick on the desired sequence in the Sequence List and choose the appropriate sequence property: Indentation Sequences may be indented for organizational purposes.
Autostart Enabled/Disabled Sequences can be enabled to start on power up (or after you download the show) by right-clicking on the sequence name (or by choosing Edit | Sequence Properties from the main menu). Then, click on the Autostart menu item to toggle between Autostart Enabled and Disabled. Looping Enabled/Disabled Note If a sequence is Loop Enabled and has finished executing all events, the sequence will wait a full frame before restarting.
• Chase Timecode – Checking this box will cause this sequence to base its time on incoming timecode rather than the controller’s internal clock. o Start Time – This time signifies the beginning of the sequence. o Jam Sync Mode – This timecode chasing mode causes the sequence to adjust its location (or scrub) in the event that the timecode skips backwards or forwards. o Reset Mode – If timecode skips backwards or forwards in this chase mode, the sequence will stop and reset.
WinScript Guide • Input – The sequence is started when an Input turns on or off (i.e. on the rising or falling edge). • State Variable – The sequence is started when a State Variable is =, ≠, >, <, ≥, or ≤ a value or another State Variable. • Both – The sequence is started when an Input and/or a State Variable meet the desired trigger requirements. Note Select the “And” radio button if you require both the input and state variable conditions to be true for the sequence to start.
trigger, State Variable trigger, or both (for menu descriptions see the Start Trigger section). Pause Trigger A looping sequence can be paused by an Input and/or State Variable trigger if it is Loop Enabled (the Pause Trigger has no effect on sequences that are not Loop Enabled). If the Pause Trigger is actuated, when the sequence reaches the end it stops looping.
To move from cell to cell throughout your desired sequence you press the Tab button or use the arrow keys. To stop an edit in progress, press Esc. Inserting and Deleting Events To insert a new event into a sequence, highlight the existing event below where you want to insert the new event and press the Insert key, F6, CTRL+Y (or choose Edit | Insert Event from the main menu). To delete the current cell out of the sequence, press F5, or CTRL+D.
Compilation Status – Events may be commented out, or “REMed”, to prevent them from being compiled by clicking in the R column on the event you wish to REM. An asterisk will appear in the R cell if the event is REMed. Label – Each event can have a unique label. Labels are used as destinations for program control "branching" instructions (see Event Reference). Labels may contain letters, numbers punctuation and spaces, but must start with a letter. Execution Time – Each event is executed at a specific time.
WinScript Guide To add time or to subtract time from a single event or group of events, choose Add Time to Event or Subtract Time from Event and then put the amount of time you wish to add or subtract in the Time to Add or Time to Subtract field. You can also select multiple event lines and use Incrementally Fill to automatically enter incremental times for a series of events.
Each event listed in the Available Events List has a prefix that designates its type: • INT: -- Internal event; Used only for controlling resources in this Show Controller. • EXT: -- External or Serial Event; Used for controlling remote Show Controllers and other serial devices. • I&E: -- Internal or External Event; Used for controlling resources in a local or remote Show Controller, or other serial device.
You can test how your Show Controller will handle a single event by “singlestepping”. Verify that the correct COM port of your PC is connected to the Programmer Port of your Show Controller. Then, select the event you want to (green light) toolbar button, or choose Tools | test and press F7, click the Online | Execute Event Now. Viewing Events as a Timeline To view events in a time based arrangement, click on the button.
Changing the Timeline View Change the amount of time displayed by clicking on the zoom in or zoom out buttons. When in Timecode Chase Mode, clicking on the button will alter the times to reflect the true time of the events. Click the button to view the timeline in frames. Chasing Timecode with Sequences When used in conjunction with an Alcorn McBride SMPTE Machine, sequences have the ability to chase SMPTE or EBU timecode.
Jam Sync Mode If a sequence is in this mode, and a timecode jump is detected, the sequence will ‘scrub’ to the location that matches the new time. This is done by rewinding the sequence to the first event, and then scrolling through the event list until one with an equal or higher timestamp is found. CONS – Since events are not actually executed while the sequence is scrubbing, conditional jumps (ie. goto, ifon, etc.) should not be used in this mode.
Compiling and Downloading When you’ve finished scripting your show, it’s time to compile and download the script into “show data” to be stored in the “Show Memory” of the Show Controller. When WinScript downloads your show data, it uses the settings defined in the Advanced Communications dialog box to configure how often it sends bytes of show data, how many bytes are sent at one time, and how long to wait for a response from the Show Controller before timing out.
Compiling and Downloading the Script To Compile and Download your script, click the toolbar button or choose File | Compile Script and Download from the main menu. WinScript will proceed to compile your script and (if it is free of errors) prompt you to download the resulting show data to your Show Controller. WinScript Guide Note If you are downloading through a SMPTE Machine, see Downloading Through A SMPTE Machine later in this chapter.
Identifying and Correcting Scripting Errors If WinScript detects an Error in your script when it is compiling, you must correct the error in order to be able to download your show. To correct an error, double-click on the error and WinScript will open the correct sequence and select the suspect event. If WinScript warns you of a possible problem with a Warning, you may also double-click on the warning and be taken to the suspect resource screen or event.
WinScript Guide The Compiler Window provides detailed information about any warnings or errors in the following columns: Compiler Message – This column details the compiling and provides a listing of any errors. It also shows the progress of the compile process. Error – This column indicates the number of this error. Seq/Res – This defines which sequence number the error is located in. Event – This defines which event number in the above sequence that the error is located in.
trigger information to the SMPTE Machine, then downloads the show data to the SMPTE Machine which in turn passes the data to the Show Controller. When you run the show, the Show Controller can send SMPTE commands back through its Programmer Port. Here is the correct cabling for a Show Controller/SMPTE Machine system: WinScript Tools WinScript includes several very useful tools to increase your scripting productivity.
WinScript Guide This information is also available by clicking on the context help question mark in the title bar of the dialog box. Current Time This edit box displays the Current Time. When running, it is updated at the Frame Rate, as determined by the Unit Configuration Dialog. When stopped, the value in this edit box may be changed to alter the time at which the timer will begin when the Start Timer button is pressed.
Start Timer Use this button to start the timer. The timer will begin at the value in the Current Time edit box, and will increment at the Frame Rate, as determined by the Unit Configuration Dialog. If Send SMPTE is enabled, this button also sets the SMPTE generator to the current time and enables it to run. Reset to Start Use this button to stop the timer and copy the value from the Start Time edit box into the Current Time edit box. If Send SMPTE is enabled, this button also stops the SMPTE generator.
Add Trigger WinScript Guide Use this button to move a sequence from the Cues On Deck List to the SMPTE Trigger List. The sequence will be tagged with the current time as a start trigger. If the Send Triggers box is checked, the sequence will also be started. If you accidentally move a sequence to the SMPTE Trigger List, you can move it back to the Cues On Deck List with the Remove Trigger button.
Start Sequence Use this button to start the currently selected sequence. The sequence may be in the Sequences List, Cues On Deck List, or SMPTE Trigger List. This button is quite useful for testing the operation of sequences before they are added to the SMPTE Trigger List. Reset Sequence Use this button to reset the currently selected sequence. The sequence may be in the Sequences List, Cues On Deck List, or SMPTE Trigger List.
DMXWizard DMXWizard gives you the ability to control your DMX Machine from your PC, using lighting board-like faders to control up to eight contiguous channels of DMX at once. Channels may be grouped so that multiple faders move with a single mouse drag. DMXWizard is particularly helpful in determining desired DMX values when developing scripts in WinScript, but it may also be run as a stand-alone program. Use this control to ramp the assigned DMX channel’s value up and down.
channels at once. For each channel, it sets the Slider to the value in the Edit box, and, if that channel’s Ena checkbox is set, sends a message to the DMX Machine to update its value. This radio button causes all DMX channel values to be displayed in percent. In this mode the Edit boxes accept numbers from 0 through 100, and the Slider ranges are scaled accordingly. This radio button causes all DMX channel values to be displayed as numeric values.
The WinScript Toolbar By default, the WinScript toolbar resides at the top of the main WinScript window, underneath the main menu, and provides shortcut buttons to several common WinScript functions (for more information, see Navigating WinScript earlier in this chapter). To Enable/Disable the Toolbar, choose Tools | Options | View Toolbar. A check mark will be displayed next to “View Toolbar” if the toolbar is currently enabled.
Compiler Options When WinScript compiles your show for download, it checks the validity of your sequences and the syntax of each event, and then compiles the script into a binary file to be downloaded into your Show Controller. The WinScript Compiler provides a significant improvement over previous script compilers by allowing you to choose the way in which your script is compiled. When Compiling for Speed, WinScript compiles each event and places it in the show data.
To check for duplicated resource names and other obscure problems in your script when you compile, check the Maximize Problem Detection checkbox. To prevent error boxes from popping up during the Compile, check the Don't Display Any Compiler Popups checkbox. You can choose to have WinScript not offer to archive your scripts when downloading by checking the Don't Offer to Archive Scripts checkbox.
It User-Defined Tools User-defined tools may be added to the Tools menu by choosing Tools | Options | User Defined Tools… To change one of the user-defined tools, enter a name for the tool in the Name field then enter the path and filename of the program to be run when the menu item is chosen. To use a user-defined tool, choose Tools | tool name from the main menu.
WinScript Guide Tip To create a shortcut for a user-defined tool, place an ampersand (&) before a letter in the name of the tool. When you wish to use the tool while scripting, press ALT+T+letter (where letter is the character following the ampersand).
4-44 WinScript User’s Guide
Event Reference Event Reference • Descriptions, syntax and examples of Discrete, Logical, Program Control, and LCD Display events. • Descriptions and syntax of common Serial Events for controlling external serial devices. 5-1 Event Reference Sequence events control all of the activities of the Show Controller including Output states, Serial Ports, the flow of sequences, and even other Show Controllers.
Types of Events There are several "types" of events from which to choose. Events can control resources internal to the Show Controller (Flags, Sequences, LCD), resources connected to the Show Controller (Outputs, Serial Ports), or even resources in another Show Controller. Discrete Events – Control Outputs in a local or remote Show Controller. Logical Events – Control Flags and State Variables in a local or remote Show Controller.
Note For a port to accept External events, it must be configured with AMI Product Wizard as an Alcorn McBride Show Controller (see Communicating With Alcorn McBride Show Controllers in Chapter 4). Choose Resources | Ports… to configure a port. Example – Internal Event Syntax Event Data1 Data2 Data3 On Output1 Turns on Output1 in the local Show Controller.
Discrete Events Discrete Events utilize discrete relay contact closures (or lamp drivers in some Show Controllers). To Do This… Use This Event… Turn on an Output On Turn off an Output Toggle the state of an Output Continuously blink an Output at a constant rate Pulse an Output for a user-defined length of time Off Toggle Blink Pulse Set a group of eight Outputs to a binary value OutPort Read a group of eight Inputs to a state variable InPort On Turns on an Output.
Blink Blinks an Output. Blinking an Output causes it to turn on (for the specified Blink Time) and off (for the specified Blink Time) continuously until reset by an Off, On, Pulse, OutPort, or Toggle event. Event Syntax Event Data1 Blink Name of Output Data2 Blink Time* *The Blink Time should be in Seconds.Frames (e.g. 4.15) and can have a maximum value of 255 frames (8.15 max @ 29.97 and 30 fps; 10.15 max @ 23.976 and 24 fps; 10.05 max @ 25 fps). Blink Output1 Data2 1.
OutPort Sets a group of eight Outputs to a single binary value (0-255). The lowest number Output becomes the Least Significant Bit (or LSB), the highest becomes the Most Significant Bit (or MSB). Event Syntax Event Data1 OutPort Data2 Output Bank* Desired Literal Value (0-255) *Bank1 = Outputs 1-8; Bank2 = Outputs 9-16; Bank3 = Outputs 17-24; Bank4 = Outputs 25-32 Example Event Data1 Data2 OutPort Bank1 157 Sets output bank 1 (Outputs 1-8) to the binary representation of 157 (or 10011101).
Logical Events Logical Events utilize Flags and State Variables in a local or remote Show Controller. To Do This… Use This Event… On Turn on a flag Off Toggle the state of a flag Toggle Add a value to a State Variable AddVar Subtract a value from a State Variable Set the value of a State Variable Save a State Variable to non-volatile memory Recover a State Variable from non-volatile memory SubVar SetVarEQ SaveVar RestoreVar Event Reference Turn off a flag On Turns on a Flag.
AddVar Adds a value to a State Variable. This value can be a constant value (0-255) or another State Variable. Event Syntax Event Data1 AddVar Name of State Variable Data2 Constant value (0-255) Name of another State Variable SubVar Subtracts a value from a State Variable. This value can be a constant value (0255) or another State Variable.
Program Control Events Program Control Events can be used to control the flow of your show. Program Control Events include events for controlling Sequences in a local or remote Show Controller. Events are also included for performing conditional branching within a sequence based on State Variable values and/or Input/Output/Flag states.
Start Starts a sequence. If the sequence is not currently running and was never paused in the middle by a Stop event, the sequence will begin execution at the first event. If the sequence started was running and is now stopped by some other sequence, the sequence started will resume execution at the event. If the sequence started is currently running and the setup for the sequence has Restart Enabled, the sequence will stop event execution and restart execution from the first event.
Note A branch event causes no change in time within the sequence; all events occur based on time from sequence start. Event Syntax Label Time Example Label RunShow1 Data1 Goto Event Label 00:00.00 Skipped Events 00:00.00 Some Event Time Event Data1 Data2 Data3 00:00.00 IfVarEQ ShowVar 1 RunShow1 00:00.00 IfVarEQ ShowVar 2 RunShow2 00:00.00 Goto End 00:00.00 Start GoShow1 00:00.00 Goto End RunShow2 00:00.00 Start GoShow2 End 00:00.
Event Syntax Label Time Event Label Example Label End Event Data1 Data2 00:00.00 Event Name Name of Input, Output, or Flag Event Label 00:00.00 Skipped Events 00:00.00 Some Event Time Event Data1 Data2 00:00.00 IfOn NightModeFlag End 00:00.00 Play Ldp1 00:00.00 Nop The Play event is skipped if the system is in Night Mode. IfVarEQ, IfVarNE, IfVarGT, IfVarGE, IfVarLE, IfVarLT Conditionally jumps over a group of events based on the value of a State Variable.
Event Syntax Label Time Event Label Event Data1 Data2 Data3 00:00.00 Event Name State Variable Constant value (0-255) another State Variable Event Label 00:00.00 Skipped Events 00:00.00 SomeEvent Example #1 Label Time End Event Data1 Data2 Data3 00:00.00 IfVarGE ShowVar 5 End 00:00.00 Play Ldp1 00:00.00 Nop Data3 Example #2 Label Time End Event Data1 Data2 00:00.00 AddVar ShowVar 1 00:00.00 IfVarLE ShowVar 100 00:00.00 SetVarEQ ShowVar 0 00:00.
LCD Display Events LCD Display Events display custom text messages as well as Flag and Variable states on the LCD. To Do This… Use This Event… Display a custom message on the LCD Store the currently displayed LCD message Retrieve and display a previously stored LCD message Display StoreLCD RecoverLCD Display the state of a group of flags on the LCD ShowFlags Display the value of a State Variable on the LCD ShowVar Display Displays a custom message on the LCD Display.
Example #2 Event Data1 "My Show: Night Mode ",h0D," " Event Reference Display Displays: My Show: Night Mode StoreLCD Stores both lines of text currently displayed on the LCD. Text may be recovered at any time by using RecoverLCD. Event Syntax Event Data1 StoreLCD RecoverLCD Re-displays both lines of text previously stored by StoreLCD. If no text was previously stored, the Show Controller version number is displayed.
ShowFlags Displays the status of one bank of flags on the LCD Display. Event Syntax Event Data1 ShowFlags Flag Bank* * Bank1 = Flags 1-16; Bank2 = Flags 17-32 Example Event Data1 ShowFlags Bank1 Displays: Flag Bank # 1 1001011000011110 If these flags are "on": 1 2 3 > 4 5 > 6 7 8 > > 9 10 11 12 13 14 15 > > > > 16 ShowVar Displays the value of a State Variable on the LCD Display.
Built-In Serial Events Built-In Serial Events send a custom message or a specially formatted value of a State Variable out a Serial Port.
Example #2 Event MessageOut Data1 Data2 Port3 h4C h56 h00 h0D Sends: h4C h56 h00 h0D MessageOutVar MessageOutVar functions just like MessageOut only it has the ability to send variable values within the custom message. This operates the same way as displaying variables with LCD Strings, only with a few minor differences. Simply precede the variable index with an hF3 for an ASCII Value, hF4 for a right justified value with leading zeros, or hF5 for a Binary byte value.
Example #4 – Actual Value Event Data1 Data2 MessageOut Port3 h04 hF3 hF3 h80 h0D Sends: h04 hF3 h80 h0D SendAsciiDec, SendAsciiHex, SendAsciiOct Sends an ASCII formatted State Variable out a serial port. The output data can also be formatted to include leading zeros or spaces (either leading or trailing) by inserting an optional formatting code in the Data3 column. • SendAsciiDec -- Sends the value of a State Variable formatted as an ASCII Decimal ("000"-"255").
Example #2 Event SendAsciiHex Data1 Data2 Data3 Port3 ShowVar LZ Sends: h30 h44 If the value of ShowVar is h0D. Example #3 Event SendAsciiOct Data1 Data2 Data3 Port3 ShowVar TS Sends: h31 h33 h20 If the value of ShowVar is octal 13. SendVar Sends the value of a State Variable out a serial port as one binary byte.
Example Event PutVar Data1 Data2 Data3 Port3 ShowVar SlaveShowVar Sets "SlaveShowVar", located in a remote Show Controller connected to Port3, equal to the value of "ShowVar", a local State Variable. DMXRamp Event Syntax Event Data1 DMXRamp Channel Number (1-512) Data2 Data3 Final Value* Optional Ramp Duration** *Final Value can be in Percent (0% - 100%), Decimal (0 - 255) or Hex (h00 - hFF). **The Ramp Duration should be in Minutes:Seconds.Frames (e.g. 03:04.
MIDI Events MIDI Events send standard MIDI control messages out a MIDI port (or any other port configured for the MIDI protocol). To Do This… Use This Event… NoteOn Send a MIDI "Note On" message out a port NoteOn Send a MIDI "Note Off" message out a port Send a MIDI "Program Change" message out a port ProgramChange Send a MIDI "Control Change" message out a port ControlChange NoteOn Sends a MIDI “Note On” message out a MIDI port (or any serial port configured for the MIDI protocol).
SMPTE Serial Events SMPTE events control SMPTE timecode in an Alcorn McBride SMPTE Machine or Digital Binloop. Note To use SMPTE Events, you will need to manually configure the protocol of the port to Alcorn McBride SMPTE Machine or Alcorn McBride Digital Binloop.
EnableSMPTE Starts SMPTE reading/generation. Generation begins from the current SMPTE time in the SMPTE Machine. If the SMPTE Machine is already generating or reading SMPTE, the event is ignored. Event Syntax Event EnableSMPTE Data1 Name of Port connected to SMPTE Machine or Digital Binloop DisableSMPTE Stops SMPTE reading/generation. If SMPTE is already stopped, the event is ignored.
Disc Player Serial Events Disc Player events control video playback, searches, stills, and Spinup / Spindown in many common Disc players. Specific Disc players may support additional events, so consult the PCL file of your specific player for more information. Note To use Disc Player Events, you will need to configure the protocol of the port to a Disc player.
Search Searches the Disc to the desired frame. Event Syntax Event Search Example Event Search Data1 Data2 Name of Port connected to Disc Player Desired frame number Data1 Data2 Ldp1 1200 Searches the Disc in Ldp1 to frame 1200. Play Plays the Disc from the current position. Event Syntax Event Play Data1 Data2 Name of Port connected to Disc Player Still Pauses the Disc at the current position.
LightCue Serial Events LightCue events control DMX recording, cue selection, and playback in an Alcorn McBride LightCue. For more information about these and other functions of the LightCue, please consult the LightCue User’s Guide. Note To use LightCue Events, you will need to configure the protocol of the port to Alcorn McBride LightCue.
Play Plays the currently selected cue. If a crossfade time is entered into Data2, the current look will crossfade into the currently selected cue during the specified crossfade time. If no cue is currently selected, an optional cue number may be placed in Data2, with a corresponding crossfade time placed in Data3. If there is no currently selected cue and Data2 does not contain a valid cue number, cue #1 is played immediately without a crossfade.
Event Syntax Event PlayAndLoop Data1 Data2 Data3 Name of Port connected to LightCue Optional Cue Number Crossfade Time* Crossfade Time* Record Event Syntax Event Record Event Reference Data1 Data2 Name of Port connected to LightCue Cue Number Event Reference Begins recording a valid incoming DMX stream to the specified cue.
ChasePlay Plays a cue, jam-synced to SMPTE. If a chase offset is entered into Data2, and a crossfade time is entered into Data3, the current look will crossfade into the currently selected cue during the specified crossfade time - when the incoming SMPTE timecode reaches the specified chase offset. This effectively overrides the SMPTE start trigger embedded into a cue number when it is recorded.
PileOnAndLoop Causes the LightCue to play a new cue simultaneously with other currently playing cues. Up to 6 cues may be piled-on at one time. Each of the 512 channel values of each cue that is playing is compared against the corresponding channel in the other playing cues, and the highest value is output. A separate PileOn event is needed for each cue. Cues may be removed from a pile-on by using the ClearCue event. As each cue ends, it is individually looped back to the beginning.
Digital Video Machine Serial Events Digital Video Machine events control video playback and clip/drive selection in an Alcorn McBride Digital Video Machine. For more information about these and other functions of the Digital Video Machine, please consult the Digital Video Machine User’s Guide. Note To use Digital Video Machine Events, you will need to configure the protocol of the port to Alcorn McBride Digital Video Machine.
Play Plays the currently selected clip (or any other clip) from the currently selected drive. If no clip is currently selected and Data3 does not contain a valid clip number, the first clip on the currently selected drive is played.
Digital Binloop Serial Events Digital Binloop events control audio/video playback in an Alcorn McBride Digital Binloop (SMPTE generate/read events for the Digital Binloop are discussed in the SMPTE Serial Events section, earlier in this reference). Some versions of the Digital Binloop support additional events. For more information about these and other functions of the Digital Binloop, please consult the Digital Binloop User’s Guide.
Example Event Data1 Play Binloop1 Data2 Data3 Data4 R2 Primary 10 Plays clip 10 from Reproducer 2, Primary Socket.
Mute Mutes audio playback from a reproducer or group of reproducers. Event Syntax Event Mute Data1 Data2 Name of Port connected to Digital Binloop Reproducer Number (R1-R16) Group Number (G1-G13) "All" UnMute Un-Mutes audio playback from a reproducer or group of reproducers.
SPlayAndLoop Plays a sound or video clip from a reproducer or group of reproducers. When the clip has finished playing, it is restarted. Audio playback is framesynchronized a SMPTE signal.
Other Serial Device Events WinScript supports almost any serial device automatically by using a Protocol (or PCL) file. PCL files contain all the information WinScript needs to create device-specific events that send command messages to the external device. When you configure a port for a device’s protocol, WinScript loads the PCL file and adds the new events to Event Wizard.
Advanced WinScript Programming In this section, one of our experienced show programmers takes you through several common techniques for efficiently scripting a complex show by combining Show Controller resources and clever algorithms. You’ll find such tips as: Synchronized video playback from multiple sources. • Extending the life span of show equipment by using Day and Night Modes. • Creating “randomized” sequences • Creating a real-time clock. • Tight control of show elements.
Introduction This section is designed to illustrate some advanced techniques of script programming that we have come to rely upon as the most robust and straightforward way of utilizing our equipment in shows. Terms Used The term “PC or Program Counter” is used to refer to the current event that each sequence is on. If it is at the top of the sequence, it means that the PC is pointing to the first event. It could be anywhere between the top of the sequence and the last event.
Get Control of Your Sequences When scripting a show, the show normally flows from beginning to end in a straightforward manner, chronologically. However, there are times when the normal show flow is halted abruptly, and changed to some other condition. If the change is not handled properly, two problems could occur. The first is when things start happening when they’re not supposed to, and the second when things won’t happen when they’re supposed to.
Day and Night Mode Most shows that only run during a portion of the day should have a Day and Night mode of operation. There is no reason to have audio, video, lighting effects, etc. playing all night long. It can reduce the life of the equipment, be very annoying, and even be potentially hazardous if there is no operator supervision. The best approach for a show that doesn’t have some other computer to tell the Show Controller when to go to Daymode or Nightmode is to have a button perform the function.
Synchronized Scripting More often than not, our Show Controllers interface to multiple digital video players at one time. When these players are commanded to play unsynchronized, there is little concern with timing. Here is an example of two unsynchronized video players. AutoExec (Autostart Enabled) Label Time 00:00.00 00:00.00 00:00.00 00:00.00 Event Search Search Start Start Data1 Dvm1 Dvm2 LeftKiosk RightKiosk Data2 1 2 Data3 Comment LeftKiosk (Looping Enabled) Label Time 00:00.00 02:05.
PlayDVM2 Label Time 00:00.00 Event Play Data1 dvm2 Data2 Data3 Comment Synchronized Searching Although synchronized playback is the only required element in order for the show to perform correctly, synchronized searching is almost always required. Unsynchronized searching in most show scenarios takes too long. It is much better for the players to begin and end searching at about the same time. Here is an example of unsynchronized searching. Unsynchronized Label Time 00:00.00 00:00.00 00:00.00 00:00.
Searching As Quickly As Possible The above examples show you how to search all players at the same time, instead of one after the other, to save time. Using that method you still allow enough time for the searches to take place before issuing the Play commands. Sometimes you just can’t afford to wait a moment longer than you have to because you don’t want the audience to see the show lag due to the searches. To reduce this lag to an absolute minimum, use the following sequences.
WaitForSearches (Looping Enabled) Label TryAgain Time 00:00.00 00:00.00 00:00.00 00:00.00 00:00.00 00:00.00 00:00.02 00:00.00 Event IfOff IfOff IfOff IfOff IfOff Start Pause Nop Data1 DVM1Done DVM2Done DVM3Done DVM4Done DVM5Done MainShow WaitForSearches Data2 TryAgain TryAgain TryAgain TryAgain TryAgain Data3 Comment Go Play ‘Em Stop Checking Modularity Modularity is a word you probably thought you'd only hear in programmers' circles.
Our “Zoo Animals” video segments have the following properties: Segment Name Length (mm:ss.ff) 1 Monkeys 02:46.20 2 Elephants 00:33.10 3 Tigers 01:40.00 4 Democrats 02:46.20 5 Zoo Summary 05:33.10 Non-Modular Approach Although this sequence works, it has some undesirable qualities.
programmer has only to enter the play times once, and their the length of each segment, so no calculation needs to be done. In addition, this approach makes it easy to add or remove segments by changing the search frames and reconnecting which sequence starts any other sequence. It does have one disadvantage, though: The programmer must look through all the sequences to analyze the flow of the show, whereas the non-modular approach lets the programmer see the whole show at a glance.
This method is how I design shows. MainShow (Start Trigger: Input 9) Label Time 00:00.00 00:02.00 00:02.02 00:02.04 00:02.06 00:02.08 00:02.10 Event Search Start Start Start Start Start Search Data1 dvm1 Monkey Elephant Tiger Democrat Summary dvm1 Data2 1 Time 00:00.00 00:00.00 00:00.00 00:00.00 Event Stop Search Play Start Data1 MainShow dvm1 dvm1 MainShow Time 00:00.00 00:00.00 00:00.00 00:00.00 Event Stop Search Play Start Data1 MainShow dvm1 dvm1 MainShow Time 00:00.00 00:00.00 00:00.
that will generate a good random number because the operator could push the button any time, and will never push it twice at the same time. The following sequence will generate a random number: Random (Autostart Enabled; Looping Enabled) Label Time 00:00.00 Event AddVar Data1 RandomVar Data2 1 Data3 Comment increment RandomVar The following sequences will get a random number when an operator pushes a button attached to input9.
StartShow Takes random number from button push; (Start trigger: Input9) Label Time 00:00.00 00:00.00 Event SetVarEQ Start Data1 MyVar ForceRange Data2 RandomVar Data3 Comment ForceRange Forces MyVar to be in range 0-23; (Looping Enabled) Label Done End Time 00:00.00 00:00.00 00:00.00 00:00.00 00:00.02 00:00.
00:00.08 00:00.10 Start Goto Democrat Summary 00:00.02 00:00.04 00:00.06 00:00.08 00:00.12 00:00.14 Start Start Start Start Start Search Democrat Tiger Elephant Monkey Summary dvm1 Time 00:00.00 00:00.00 00:00.00 00:00.00 Event Stop Search Play Start Data1 MainShow dvm1 dvm1 MainShow Time 00:00.00 00:00.00 00:00.00 00:00.00 Event Stop Search Play Start Data1 MainShow dvm1 dvm1 MainShow Time 00:00.00 00:00.00 00:00.00 00:00.
forget what time it is when the power is turned off in a power outage. The second solution is to simulate a Real Time Clock in ScriptOS. This solution does have the advantage of being free, but has the disadvantage of being off by approximately 1 minute per day and forgetting what time it is if the power goes out. If a standard UPS is used, and some device (or person) resets the time once per day, these problems can become negligible.
AtTheHour2 (Start trigger: FrameVar=3) Label Minute End Time 00:00.00 00:00.00 00:00.00 00:00.00 00:00.00 Event IfVarEQ Goto IfVarGT Start Nop Data1 SecondVar End VarHour DoIt Data2 0 Data3 Minute Comment 3 frames past minute 6 End No Good Do Whatever Make Sure Event is Running from 10a.m. to 8:30p.m. Since sequences are edge triggered, it is possible to miss the time something is supposed to happen if the power goes out while the trigger time occurs.
Programmer Port) on each box. You also need to select the Alcorn 9 Bit Control protocol for both of these ports, as well as the same baud rate for both ports. Since you have to set the baud rate and protocol in the IO64, this automatically means you have to have two scripts, one for the V16+ and one for the IO64, but need not program much else in the IO64 if desired. There are three ways to divide programming between the two boxes.
MainShow Label Time 00:00.00 01:00.00 06:03.15 08:42.23 09:00.00 10:00.00 Event Start Start Start Start Start Start Data1 IO64 IO64 IO64 IO64 IO64 IO64 Data2 OpenEntrDoors CloseEntrDoors StartPyro1 StartPyro2 OpenExitDoors CloseExitDoors Data3 Comment IO64 Script OKToStart? Started externally by V16+ Label End Time 00:00.00 00:00.00 00:00.
OpenExitDoors Turns off magnet that holds doors shut; Started externally by V16+ Label Time 00:00.00 00:00.00 00:00.00 00:00.00 Event Off Off Off Off Data1 ExitMagnet1 ExitMagnet2 ExitMagnet3 ExitMagnet4 Data2 Data3 Comment CloseExitDoors Moves doors to close position; Started externally by V16+ Label Time 00:00.00 00:00.00 00:00.00 00:00.00 00:00.00 00:00.00 00:00.00 00:00.
after the external event will not be able to execute until the external event is finished processing. The Processor Scans Events like a PLC ScriptOS is a multi-tasking operating system. This means that it can do several things at once. Well, it can’t actually do several things at once, but it can do many, many things in one frame. The processor executes events one sequence at a time. This process is similar to how a Programmable Logic Controller works.
SequenceB Label Time 00:00.00 00:00.00 00:00.00 Event On Start Start Data1 Output1 SequenceA SequenceC Data2 Data3 Comment Event On Data1 output3 Data2 Data3 Comment SequenceC Label Time 00:00.00 Using a PlayUntil Event When controlling LaserDisc playback, the Play event can have two separate meanings. When a frame number is provided in the Data2 column after a Play event, the Play event becomes a PlayUntil event.
least 25 seconds before attempting to communicate with them in any way. If the Show Controller is Autostarting, then that must mean that it was previously deprived of power, which means that it is likely that the rack of video players was also deprived of power. Whether or not this condition was intentional is not important.
The Purpose of an Input or Button If it’s possible to do so, make each input signal serve only one purpose. If some computer or PLC somewhere is sending pulses to an input to tell the Show Controller what to do, the Show Controller could become confused if one pulse is supposed to tell it to do one thing, and two pulses another. This is possible, but confusing and dangerous.
For example, let’s say you have a V16+ sending light cue commands to a DMX Machine. The best way to make sure the cue was carried out (the sequence executed) is to send a message back to the V16+ to confirm it. There are several ways to do this, but this one seems to be the easiest. V16+ Script SendingLightCue Label Failed! Confirmed End Time 00:00.00 00:00.00 00:00.05 00:00.05 00:00.10 00:00.10 00:00.00 00:00.00 00:00.
V16+ Script WatchDogTimer Increments watchdog timer once a frame (Autostart Enabled, Looping Enabled) Label Time 00:00.00 Event AddVar Data1 WatchDogVar Data2 1 Data3 Comment WatchDogFailed WatchDogVar has reached 60 frames (Start trigger: WatchDogVar GE 60) Label Time 00:00.00 Event Start Data1 AlertDACS Data2 Data3 Comment Announce Failure IO64 Script SendImOK Sets V16+’s WatchDogVar to 0 once per second (Autostart Enabled, Looping Enabled) Time 00:01.
6-26 Advanced WinScript Programming
Application Notes Alcorn McBride Show Controllers can be used in very simple and very complex applications. Here are a few sample applications to get you started.
Large Theatre Control 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.
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 Digital Video Machines. For the sake of completeness our application also incorporates some specialty hardware located in the main theatre.
7-4 Application Notes
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.
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.
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.
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 video 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.
connector at the rear of the V16+ and the DB15 on the DVM2. Each DVM2 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.
Houselights 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. Printer 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.
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"? App Notes Let’s continue by selecting the Configuration | Unit… menu item.
7-12 Application Notes
App Notes Next we close this screen and move on to Resources | Outputs… . In a similar fashion we give the outputs names that we wish to use throughout our sequences. Next we choose Resources | Flags…. Flags 1-12 are used as “Ready Flags” to be turned “ON” when the corresponding Digital Video Machines is “Ready” to start the show. The exact information to enter into the fields is given in Figure 11.
7-14 Application Notes
App Notes Now we move on to Resources | Ports… . This is where we configure the V16+ for the number and type of Digital Video Machine 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.
Finally, we go to the Resources | 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.
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.
The first sequence for which we will enter events is our Startup sequence. The function of Startup is to 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.
App Notes name in the Data1 column and a one second blink rate into the Data2 column. Now that the rest of the theatre is ready, we start the Recycle sequence which will get all 12 DVM2s ready. Since we do not know how long it will be until the first performance, it is necessary to search the DVM2s as fast as possible. To do this, we start 12 independent search sequences (SearchTheatre1, SearchTheatre2, SearchTheatre3, SearchPreshow1, etc.
7-20 Application Notes
Recycle is used at the end of each show to bring the DVM2s to the beginning of the file 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.
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.
App Notes 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 DVM2s. 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 DVM2s play, these events should be placed in another sequence started by StartShow.
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.
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. Summary App Notes 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.
Digital Video Machine Control The Alcorn McBride Digital Video Machine 2 is the most robust video playback unit available today; providing near-instantaneous access to up to 9,999 individual video clips. It works wonderfully as a LaserDisc player replacement in many applications -- kiosks, preshows, vehicles, etc. Because of its discrete inputs and playlisting abilities, the DVM2 can handle many such applications all by itself; however, when timeouts and logic are called for, a show controller is needed.
You can follow along with this application note in WinScript by opening DVM.AMW (located in the WinScript\Scripts\Examples\ directory). Note This application note assumes that the reader possesses rudimentary scripting skills. New users should take the WinScript Tutorial in Chapter 3 before continuing. How Our Kiosk Works At power-up, our kiosk will run an "Attract Loop".
L5 ;Loop Attract Loop Clip (VID00005.
App Notes To prevent the guest from being able to interrupt a clip while it is playing, we will use two flags to keep track of where we are in the show. This will allow our sequences to decide whether or not they should accept input from the guest. PlayingClipFlag will be turned on when one of our four informational clips is playing, while PlayingWelcomeFlag will be turned on when the “Welcome” clip is playing.
Our first sequence will be the Attract Loop sequence. Although this sequence won’t be used at powerup, it will be called on to play the Attract Loop after a guest has stepped away from the kiosk. AttractLoop selects the Internal drive of the DVM2 with the SelectDrive event and then commands the DVM2 to continuously play and loop the Attract Loop clip.
Our next sequence is a housekeeping sequence that has become commonplace in many scripts. This sequence, ResetFlags, indescriminately resets all of the flags that we are using in this script. We will use this sequence to return the flags to a known state at certain points in the show. App Notes MotionSensor triggers the sequence Welcome.
Our sequence, ClipFinished, first checks the state of PlayingClipFlag. If it is on, the sequence knows that the DVM2 has just finished playing one of the four informational clips. It turns off PlayingClipFlag and starts Welcome (which plays the Welcome clip again). If PlayingClipFlag is off, then the sequence checks the state of PlayingWelcomeFlag. If PlayingWelcomeFlag is on, the sequence knows that the DVM has just finished playing the Welcome clip and that it should wait for the guest to push a button.
App Notes WaitingForSelection waits ten seconds after the Welcome clip finishes and then restarts the Attract Loop, assuming that the guest has walked away. If the guest presses a button during the ten-second interval, the sequence that corresponds with that button will reset WaitingForSelection so that it does not restart the Attract Loop.
7-34 Application Notes
Each sequence resets WaitingForSelection to prevent it from starting the Attract Loop ten seconds later. After the informational clip has finished playing, ClipFinished starts the Welcome clip again. When the guest has viewed all the desired clips and walks away, the kiosk automatically times out, starts the Attract Loop and waits for the next guest. Summary App Notes As you can see, controlling video playback from a Digital Video Machine 2 is extremely straightforward.
Using Cue List in a Live Show Many live shows use SMPTE timecode to keep the audio, video, lighting and show control in sync. In some of these shows, the programmer has the luxury of a timecode list. Typically this list is dictated by the audio program and indicates the timecode locations at which certain events must happen. When this luxury exists, programming your show with timecode is as simple as entering in timecode triggers in WinScript in the appropriate sequences, as discussed earlier.
In live shows, such as this one, the number of times the show is run with all elements is very small. This is because it is very difficult to run the show multiple times with the cast and the cast is often critical in adjusting the timing of show control and lighting elements. Therefore, it is important to use each valuable run of the show as much as possible. In this case, we would like to trigger as many sequences as possible and fine-tune the show with each successive run.
After all of the Cues have been placed, the Cue Times can be adjusted by moving the questionable sequences back to the “Cues On” window and re-running the show. Another option is to modify the trigger times by right-clicking on the sequence, selecting the SMPTE Trigger, and modifying it accordingly. If you would like to program your show off-line, while relaxing on the pool deck, it is easy to run Cue List with a tape of the audio source (or a video tape of the show).
Controlling Automatic Doors There are many applications where an Alcorn McBride Show Controller can perform non-safety-related duties normally delegated to a PLC. One application that immediately comes to mind is automatic theatre doors. These doors open when the main show is loading/unloading (as in the Large Theatre Control example). The Show Controller should automatically open/close the doors as dictated in the script except when overridden by an operator control switch.
Summary Using flags as "permission" outputs allows a separate sequence to monitor the status of operator controls, check the flag, and perform the desired action ("grant permission"), if possible. As you can see, we have saved considerable Ladder Logic programming (and perhaps an entire PLC) by utilizing one sequence, one flag, and two inputs to control our automatic doors.
7-41 App Notes
V16+ V16+ Hardware Reference The V16+ is the latest version of our original, and still most powerful, Show Controller. It is ideally suited for the control of video walls, large theaters, and multiple kiosks or interactive games. It provides more serial ports than any of our other controllers, and offers the largest possible show memory capacity.
Specifications 8-2 Size and Weight: Standard 2U rack mount (3.5” x 19” x 6.5”), 10 lbs Power: 100 to 250 VAC, 50 to 60 Hz, 25 watts maximum.
V16+ Serial Ports The V16+ provides 16 serial ports which may be configured as shown below: Port Type Description 0 RS-232 Programmer Port DB9M 1 RS-232* / RS-485 Port 1 DB9M 2 RS-232* / RS-485 Port 2 DB9M 3 RS-232* / RS-485 Port 3 DB9M 4 RS-232* / RS-485 Port 4 DB9M 5 RS-232 Port 5 DB9M 6 RS-232 Port 6 DB9M 7 RS-232 Port 7 DB9M 8 RS-232 Port 8 DB9M 9 RS-232 Port 9 DB9M 10 RS-232 Port 10 DB9M 11 RS-232 Port 11 DB9M 12 RS-232 Port 12 DB9M 13 RS-232 Po
Ports 1-4: RS-232 or RS-485 Ports 1-4 are factory configured as RS-232C, but can be reconfigured as a group as RS-485. The V16+ includes internal 220 Ohm termination for RS-485, so an external terminator for the unit is not necessary. To configure ports 1-4 for RS485/422 operation, the 1488 and 1499 RS-232 Driver and Receiver chips must be removed and 75174 and 75175 Driver and Receiver chips installed. (See the Appendices for manufacturer’s part numbers.
Port 16 is factory configured as an RS-232C serial port, but can be reconfigured as a MIDI port. When reconfigured, MIDI Input is received by the MIDI IN port, and MIDI Output is sent out the MIDI OUT port. Configuring Port 16 as MIDI 1. Set jumpers W1 and W2 to the “MIDI” position. 2. Configure Port 16 in WinScript as “MIDI”. 3. Configure the baud rate of Port 16 in WinScript as 31250 baud. MIDI IN Pin Connection 4 MIDI RX+ 5 MIDI RX- Table 5 – MIDI IN connections.
Digital Inputs Input Connector The V16+ includes 16 Opto-isolated inputs that can control the show operation. These inputs can be activated by pressing the corresponding front panel button (button 1 corresponds with input 1, etc.) or by electrically activating the input through the Parallel Inputs connector located on the rear panel.
There are many advantages to using Voltage Inputs over Contact Closures. First, a Contact Closure can only be located a short distance from the V16+. Second, Contact Closures use the V16+’s own power supply, so external wiring errors can damage the entire unit. Figure 1 – Contact Closure Schematic. Figure 2 – Voltage Input Schematic.
Input Configuration Two sets of DIP switches on the main V16+ circuit board select the type of each input. Switches SW17 & SW18 configure Inputs 1-8, while switches SW19 & SW20 configure Inputs 9-16. Figure 3 – Inputs 1-4 and 9-12 are Voltage Inputs. Inputs 5-9 and 13-16 are Contact Closures. Configuring Inputs as Voltage Inputs 1. Install the appropriate Resistor Pack in RP6 and RP8 (see table 9). 2.
V16+ Input Wiring Connecting a Voltage Input 1. Verify that the appropriate Resistor Pack is installed in sockets RP6 and RP8 (see Table 9). 2. Locate DIP switches SW17, SW18, SW19, and SW20. 3. Verify that the appropriate switches are configured for Voltage Input. 4. Using a Female DB37 connector, attach the appropriate wire from the Input signal pin (pin 1 for Input1, pin 2 for Input2, etc.) to the positive terminal of the external power supply. 5.
Connecting a Contact Closure 1. Locate DIP switches SW17, SW18, SW19, and SW20. 2. Verify that the appropriate switches are configured for Contact Closures. 3. Using a Female DB37, attach the appropriate wire from the Input signal pin (pin 1 for Input1, pin 2 for Input2, etc.) to one of the terminals of the external contact. 4. Connect the appropriate Input Return pin to the other terminal of the external contact (pin 20 for Input1, Pin 21 for Input2, etc.
V16+ Digital Outputs Output Connector In addition to discrete input, the V16+ provides 16 Dry-Contact Relay Outputs for discrete control. Note The Relay Outputs are fused at 900mA using self-restoring polymer fuses. If an overload occurs, the fuse will open until the problem is corrected; then heal itself.
Output Wiring Connecting an output to a non-inductive load 1. Using a DB37 Male connector, attach the appropriate Output pin (pin 1 for Output1, pin 2 for Output2, etc.) on the Parallel Outputs connector to the positive terminal of the external power supply. 2. Using the same DB37 Male connector, connect the corresponding Output Return pin (pin 20 for Output1, Pin 21 for Output2, etc.) to the positive terminal of the device that is receiving the output signal. 3.
1. Using a DB37 Male connector, connect the appropriate Output pin (pin 1 for Output1, pin 2 for Output2, etc.) on the Parallel Outputs connector to the positive terminal of the external power supply. 2. Using the same DB37 Male connector, connect the corresponding Output Return pin (pin 20 for Output1, Pin 21 for Output2, etc.) to the positive terminal of the device that is receiving the output signal. 3.
Video Synchronization The V16+ is designed to extract the vertical frame clock from an external video sync signal. This signal should be NTSC or PAL composite video at the standard sync level of 4.1 volts peak-to-peak. The sync signal is connected to the V16+ via a rear panel BNC connector. If additional devices are to be wired to the same sync signal, a BNC “T” may be used to daisy-chain the signal.
V16+ Power Supply The V16+ includes an external universal power supply that allows connection to many domestic as well as international wall voltages (110VAC, 220VAC, 200VAC) without special configuration. The power ratings for the V16+ external power supply are as follows: Input: 100-250VAC; 50-60Hz; 0.7-0.3A Output: +5V, 4.0A; +12V, 1.0A; -12V, 0.6A Pin Connection 1 Common 2 N/C 3 +5V 4 -12V 5 +12V Table 11 – V16+ Power jack connections.
Firmware The operating system that resides in the V16+ is called the “firmware”. Periodic firmware upgrades are made in order to add new features, streamline operation, and fix bugs. For pricing and availability of firmware upgrades, contact Alcorn McBride. Instead of purchasing your firmware upgrades, you can program them into EPROMs yourself. The latest firmware can be downloaded from Alcorn McBride’s WWW site on the Internet. The address is http://www.alcorn.com/ Upgrading show control firmware 1.
V4+ V4+ Hardware Reference The V4+ is smaller version of our original V16+ Show Controller. It is ideally suited for the control of small theaters, trade shows and multiple kiosks or interactive games. It provides four serial ports plus a MIDI port, and offers the largest possible show memory capacity.
Specifications 9-2 Size and Weight: Standard 2U rack mount (3.5” x 19” x 6.5”), 10 lbs Power: 100 to 250 VAC, 50 to 60 Hz, 25 watts maximum.
Serial Ports The V4+ provides five serial ports, which may be configured as shown below: Type Description 0 RS-232 Programmer Port DB9M 1 RS-232* / RS-485 Port 1 DB9M 2 RS-232* / RS-485 Port 2 DB9M 3 RS-232* / RS-485 Port 3 DB9M 4 RS-232* / RS-485 Port 4 DB9M 5 MIDI Port 5 (2) 5 Pin DIN F Table 1 – V4+ Ports located on the Rear Panel.
Pin RS-232 Connection RS-485 Connection 2 RS-232 RXD RS-485 RX+ 3 RS-232 TXD RS-485 TX+ 4 +12V Pull up +12V Pull up 5 GND GND 6 N/C RS-485 RX- 7 +12V Pull up +12V Pull up 9 N/C RS-485 TX- Table 3 – Ports 1-4 connections for RS-232 and RS-485 operation. Configuring Ports 1-4 as RS-485 1. Remove the 1489 chip from U49 and the 1488 chip from U54. 2. Install a 75174 chip in U46 and a 75175 RS-485 chip in U47. 3. Install a 10K R-Pack in RP12 and a 220 Ohm SIP in RP13.
LCD Display V4+ The V4+ includes a standard 2x40 (80 character) Backlit LCD Display. An internal potentiometer is used to adjust the contrast (viewing angle) of the LCD. Adjusting the LCD contrast 1. To make the display lighter, turn “CONTRAST” control R8 clockwise. 2. To make the display darker, turn R8 counter-clockwise. Digital Inputs Input Connector The V4+ includes 16 Opto-isolated inputs that can control the show operation.
Two forms of input signal can be applied to the Parallel Inputs connector: Voltage Inputs, and Contact Closures. When a specific input on the V4+ is configured for Voltage Inputs, power for the connection is provided by an external source (in-rack power supply, etc.), but when the input is configured as a Contact Closure, power is taken internally from the V4+. Voltage Inputs vs. Contact Closures There are many advantages to using Voltage Inputs over Contact Closures.
Input Configuration V4+ Two sets of DIP switches on the main V4+ circuit board select the type of each input. Switches SW17 & SW18 configure Inputs 1-8, while switches SW19 & SW20 configure Inputs 9-16. Figure 3 – Inputs 1-4 and 9-12 are Voltage Inputs. Inputs 5-9 and 13-16 are Contact Closures. Configuring Inputs as Voltage Inputs 1. Install the appropriate Resistor Pack in RP6 and RP8 (see table 9). 2.
Input Wiring Connecting a Voltage Input 1. Verify that the appropriate Resistor Pack is installed in sockets RP6 and RP8 (see Table 9). 2. Locate DIP switches SW17, SW18, SW19, and SW20. 3. Verify that the appropriate switches are configured for Voltage Input. 4. Using a Female DB37 connector, attach the appropriate wire from the Input signal pin (pin 1 for Input1, pin 2 for Input2, etc.) to the positive terminal of the external power supply. 5.
1. Locate DIP switches SW17, SW18, SW19, and SW20. 2. Verify that the appropriate switches are configured for Contact Closure. 3. Using a Female DB37, attach the appropriate wire from the Input signal pin (pin 1 for Input1, pin 2 for Input2, etc.) to one of the terminals of the external contact. 4. Connect the appropriate Input Return pin to the other terminal of the external contact (pin 20 for Input1, Pin 21 for Input2, etc.
Digital Outputs Output Connector In addition to discrete input, the V4+ provides 16 Dry-Contact Relay Outputs for discrete control. Note The Relay Outputs are fused at 900mA using self-restoring polymer fuses. If an overload occurs, the fuse will open until the problem is corrected; then heal itself.
Connecting an output to a non-inductive load 1. Using a DB37 Male connector, attach the appropriate Output pin (pin 1 for Output1, pin 2 for Output2, etc.) on the Parallel Outputs connector to the positive terminal of the external power supply . 2. Using the same DB37 Male connector, connect the corresponding Output Return pin (pin 20 for Output1, Pin 21 for Output2, etc.) to the positive terminal of the device that is receiving the output signal. 3.
Connecting an output to an inductive load 1. Using a DB37 Male connector, connect the appropriate Output pin (pin 1 for Output1, pin 2 for Output2, etc.) on the Parallel Outputs connector to the positive terminal of the external power supply. 2. Using the same DB37 Male connector, connect the corresponding Output Return pin (pin 20 for Output1, Pin 21 for Output2, etc.) to the positive terminal of the device that is receiving the output signal. 3.
The V4+ is designed to extract the vertical frame clock from an external video sync signal. This signal should be NTSC or PAL composite video at the standard sync level of 4.1 volts peak-to-peak. The sync signal is connected to the V4+ via a rear panel BNC connector. If additional devices are to be wired to the same sync signal, a BNC “T” may be used to daisy-chain the signal.
Power Supply The V4+ includes an external universal power supply that allows connection to many domestic as well as international wall voltages (110VAC, 220VAC, 200VAC) without special configuration. The power ratings for the V4+ external power supply are as follows: Input: 100-250VAC; 50-60Hz; 0.7-0.3A Output: +5V, 4.0A; +12V, 1.0A; -12V, 0.6A Pin Connection 1 Common 2 N/C 3 +5V 4 -12V 5 +12V Table 10 – V4+ Power jack connections.
The operating system that resides in the V4+ is called the “firmware”. Periodic firmware upgrades are made in order to add new features, streamline operation, and fix bugs. For pricing and availability of firmware upgrades, contact Alcorn McBride. Instead of purchasing your firmware upgrades, you can program them into EPROMs yourself. The latest firmware can be downloaded from Alcorn McBride’s WWW site on the Internet. The address is http://www.alcorn.com/ Upgrading show control firmware 1.
9-16 V4+ Hardware Reference
V2+ V2+ Hardware Reference The V2+ is the smallest of our “V” series controllers. It offers all of the same types of resources as our V4+ and V16+, just fewer of them. It is ideally suited for displays, trade shows and kiosks.
Specifications 10-2 Size and Weight: Standard 1U rack mount (1.75” x 19” x 6.5”), 8 lbs Power: 120 or 240 VAC (specify when ordering), 50 to 60 Hz 25 watts maximum.
Serial Ports The V2+ provides two serial ports which may be configured as shown below: Type Description 0 RS-232 Programmer Port DB9M 1 RS-232 Port 1 DB9M 2 RS-232* / MIDI Port 2 DB9M / (2) 5 Pin DIN F Table 1 – V2+ Ports located on the Rear Panel. Connector V2+ Port *Factory Default Setting Programmer Port The Programmer Port is an RS-232C serial port used to program the V2+. Pin Connection 2 RS-232 TXD 3 RS-232 RXD 5 GND 8 +12V Pull Up Table 2 – Programmer port connections.
Port 2: RS-232 or MIDI Port 2 is factory configured as an RS-232C serial port, but can be reconfigured as a MIDI port. When reconfigured, MIDI Input is received by the MIDI IN port, and MIDI Output is sent out the MIDI OUT port. The MIDI Thru port echoes the data received on MIDI IN. Configuring Port 2 as MIDI 1. Place the jumper on W2 and W3 in the direction toward the “MIDI” text. 2. Configure Port 2 in WinScript as “MIDI” 3.
Digital Inputs Pin Connection Pin Connection 1 Voltage Input 9 20 Voltage Input 9 Return 2 Voltage Input 10 21 Voltage Input 10 Return 3 Voltage Input 11 22 Voltage Input 11 Return 4 Voltage Input 12 23 Voltage Input 12 Return 5 Voltage Input 13 24 Voltage Input 13 Return 6 Voltage Input 14 25 Voltage Input 14 Return 7 Voltage Input 15 26 Voltage Input 15 Return 8 Voltage Input 16 27 Voltage Input 16 Return 9 Output 1 28 Contact Closure Input 9 10 Output 2 29 Cont
Voltage Inputs vs. Contact Closures There are many advantages to using Voltage Inputs over Contact Closures. First, a Contact Closure can only be located a short distance from the V2+. Second, Contact Closures use the V2+’s own power supply, so external wiring errors can damage the entire unit. Figure 1 – Contact Closure Schematic. Figure 2 – Voltage Input Schematic.
Input Wiring Connecting a Voltage Input Open the V2+ and verify that the correct Resistor Pack is installed in RP5 (see table 8) 2. Connect the appropriate wire from the Voltage Input signal pin (pin 1 for Input9, pin 2 for Input10, etc.) to the positive terminal of the 24 VDC external power supply. 3. Connect the negative terminal of the external power supply to one of the terminals of the contact closure. 4.
Connecting a Contact Closure 1. Connect the appropriate wire from the Input signal pin (pin 28 for Input9, pin 29 for Input10, etc.) on the Parallel I/O connector to one of the terminals of the external contact. 2. Connect one of the GND pins on the Parallel I/O connector to the other terminal of the external contact. Figure 4 – Sample connection for a Contact Closure Input to Input9 of the Parallel I/O connector.
Digital Outputs In addition to discrete inputs, the V2+ provides 8 transistor outputs (lamp drivers) for discrete control. These outputs are capable of sinking up to 500 mA each when used individually. The amount of current that each output can sink decreases when the number of outputs being used at the same time increases. For example: if all of the outputs are used at the same time they can only sink 150mA each.
External Connection Connecting an output to a non-inductive load 1. Connect the positive terminal of the external power supply to the positive terminal of the device that is receiving the signal. 2. Connect the negative terminal of the power supply to one of the GND pins on the Parallel I/O connector. 3. Connect the appropriate Output pin (pin 9 for Output1, pin 10 for Output2, etc.
1. Connect the positive terminal of the external power supply to the positive terminal of the device that is receiving the signal. 2. If external snubber diodes are not used, connect the Clamping Diodes pin (pin 17) on the Parallel I/O connector to the positive terminal of the external power supply. 3. Connect the negative terminal of the power supply to one of the GND pins on the Parallel I/O connector.. 4. Connect the appropriate Output pin (pin 9 for Output1, pin 10 for Output2, etc.
Video Synchronization The V2+ is designed to extract the vertical frame clock from an external video sync signal. This signal should be NTSC or PAL composite video at the standard sync level of 4.1 volts peak-to-peak. The sync signal is connected to the V2+ via a rear panel BNC connector. If additional devices are to be wired to the same sync signal, a BNC “T” may be used to daisy-chain the signal.
Power Supply The V2+ includes an external power supply that allows connection to most domestic wall voltages (110VAC). A 220VAC model is available upon request. The power ratings for the V2+ external power supply are as follows: V2+ Input: 120 VAC; 60Hz; 15 watts max. Output: 9 VDC; 1A Note Make sure that any power supply used with the V2+ is the correct voltage and is configured correctly. Firmware The operating system that resides in the V2+ is called the “firmware”.
10-14 V2+ Hardware Reference
InterActivator InterActivator Hardware Reference The InterActivator™ is the smallest of our show controllers. It offers similar serial and discrete I/O resources to our “V” series controllers, in a very compact and economical package. It is ideal for kiosks and displays.
Specifications Size and Weight: : ½ Width 1U rack mount (1.75” x 8.5” x 8.5”), 3 lbs Power: 120 or 240 VAC (specify when ordering), 50 to 60 Hz 25 watts maximum.
Serial Ports The InterActivator provides 2 serial ports which are permanently configured for RS-232 operation. Port Type Description Connector 0 RS-232 Programmer Port DB9M 1 RS-232 Port 1 DB9M 2 RS-232 Port 2 DB9M InterActivator Table 1 – InterActivator Ports located on the Rear Panel. Programmer Port The Programmer Port is an RS-232C serial port used to program the InterActivator.
Digital Inputs The InterActivator includes 16 inputs (8 button inputs and 8 Opto-isolated inputs) that can help control the flow of a show system. The button inputs are activated by pressing the corresponding front panel button (button 1 corresponds with input 1, etc.), and the Opto-isolated inputs are activated by electrically activating the input through the Parallel I/O connector located on the rear panel.
Voltage Inputs vs. Contact Closures InterActivator There are many advantages to using Voltage Inputs over Contact Closures. First, a Contact Closure can only be located a short distance from the InterActivator. Second, Contact Closures use the InterActivator’s own power supply, so external wiring errors can damage the entire unit. Figure 1 – Contact Closure Schematic. Figure 2 – Voltage Input Schematic.
Input Wiring Connecting a Voltage Input 1. Open the InterActivator and verify that the correct Resistor Pack is installed in RP8 (see table 6). 2. Connect the appropriate wire from the Voltage Input signal pin (pin 1 for Input9, pin 2 for Input10, etc.) to the positive terminal of the 24 VDC external power supply. 3. Connect the negative terminal of the external power supply to one of the terminals of the contact closure. 4.
Connecting a Contact Closure Connect the appropriate wire from the Input signal pin (pin 28 for Input9, pin 29 for Input10, etc.) on the Parallel I/O connector to one of the terminals of the contact closure. 2. Connect one of the GND pins on the Parallel I/O connector to the other terminal of the contact closure. InterActivator 1. Figure 4 – Sample connection for a Contact Closure Input to Input9 of the Parallel I/O connector.
Digital Outputs Output Connector In addition to discrete inputs, the InterActivator provides 8 transistor outputs (lamp drivers) for discrete control. These outputs are capable of sinking up to 500 mA each when used individually. The amount of current that each output can sink decreases when the number of outputs being used at the same time increases. For example: if all of the outputs are used at the same time they can only sink 150 mA each.
External Connection Connecting an output to a non-inductive load Connect the positive terminal of the external power supply to the positive terminal of the device that is receiving the signal. 2. Connect the negative terminal of the power supply to one of the GND pins on the Parallel I/O connector. 3. Connect the appropriate Output pin (pin 9 for Output1, pin 10 for Output2, etc.) on the Parallel I/O connector to the negative terminal of the device that is receiving the output signal. InterActivator 1.
Connecting an output to an inductive load 1. Connect the positive terminal of the external power supply to the positive terminal of the device that is receiving the signal. 2. If external snubber diodes are not used, connect the Clamping Diodes pin (pin 17) on the Parallel I/O connector to the positive terminal of the external power supply. 3. Connect the negative terminal of the power supply to one of the GND pins on the Parallel I/O connector. 4.
Video Synchronization The InterActivator is designed to extract the vertical frame clock from an external video sync signal. This signal should be NTSC or PAL composite video at the standard sync level of 4.1 volts peak-to-peak. A common sync connection scheme is to use the “Gen” output of a Pioneer LD-V8000 laser disc player to drive the “C-Sync” inputs of another player, with the second “C-Sync” connector of that player connecting to a third, and so on.
Power Supply The InterActivator includes an external power supply that allows connection to most domestic wall voltages (110VAC). A 220VAC model is available upon request. The power ratings for the InterActivator external power supply are as follows: Input: 120 VAC; 60Hz; 15 watts max. Output: 9 VDC; 1A Note Make sure that any power supply used with the InterActivator is the correct voltage and is configured correctly.
IO64 IO64 Hardware Reference The IO64 is an intelligent I/O expansion unit which may also be used as a standalone show controller. It provides a large number of inputs and outputs in a very small package, and features easy to use rear panel terminal blocks. It is ideal for I/O intensive applications such as process control.
Specifications Size and Weight: Standard 1U rack mount (1.75” x 19” x 5.5”), 3 lbs Power: 100 to 250 VAC, 50 to 60 Hz, 25 watts maximum.
Serial Ports When used as an I/O expander, the IO64’s “Host” port connects to one of our other show controllers (or any other serial port). When used as a show controller, its “Host” port becomes a programming port. The remote port may be configured for RS-232, RS-422/485 or MIDI operation. Port Type Description Connector 0 RS-232 Host Port DB9M 1 RS-232* / 485 / MIDI Remote Port DB9M / 5 Pin DIN F Table 1 – IO64 Ports located on the Rear Panel.
Remote Port: RS-232, RS-485, MIDI The Remote Port is factory configured as an RS-232C serial port, but can be reconfigured as an RS-485 or MIDI port. When reconfigured as a MIDI port, MIDI Input and Output is received on and sent out the MIDI connector.
MIDI Input/Output Cable IO64 The IO64’s rear panel MIDI connector may be directly connected to a device that sends MIDI data. In order to both send and receive MIDI Show Control messages at the same time, a special MIDI I/O cable must be made to allow MIDI Input and MIDI Output jacks to be available. The cable should look like this: Figure 1 – IO64 MIDI Input/Output Cable. In addition, jumper W2 should be installed to provide the shield for the MIDI output cable.
Digital Inputs The IO64 includes 32 Opto-isolated inputs that can help control the flow of a show system. These inputs can be activated through the Phoenix Type Input Connectors located on the rear panel. Note The Opto-Inputs on the IO64 are polarity-sensitive. For a specific input to be correctly connected, positive voltage must be connected to the top socket of the Phoenix connector, and negative voltage must be connected to the bottom socket. Connecting an Input 1.
Resistor Pack Inputs RP8 1-8 RP6 9-16 RP12 17-24 RP10 25-32 Table 4 – Inputs that are affected by particular Resistor Pack values Voltage Level Used Resistor Pack Value 5V 180 Ohm 12V 470 Ohm 24V 1.5K Ohm* IO64 Table 5 – Recommended Resistor Pack values.
Digital Outputs The IO64 provides 32 Dry-Contact Relay Outputs for discrete control. Note: The Relay Outputs on the IO64 are not polarity-sensitive; therefore, positive and negative voltages may both be connected to either the top or bottom socket of the Phoenix connector. The Relay Outputs are fused at 900mA using self-restoring polymer fuses. If an overload occurs, the fuse will open until the problem is corrected; then heal itself. Connecting an output to a non-inductive load 1.
Connecting an output to an inductive load Using a Male Phoenix Connector, connect the appropriate Output pin (top pin 1 for Output1, top pin 2 for Output2, etc.) on the Outputs Phoenix Connector to the positive terminal of the external power supply. 2. Using a Phoenix Connector, connect the corresponding Output Return pin (bottom pin 1 for Output1, bottom pin 2 for Output2, etc.) to the positive terminal of the device that is receiving the output signal. 3.
Power Supply The IO64 includes an external universal power supply that allows connection to many domestic as well as international wall voltages (110VAC, 220VAC, 200VAC) without special configuration. The power ratings for the IO64 external power supply are as follows: Input: 100-250VAC; 50-60Hz; 50 watts max Output: +5V, 4.0A; +12V, 1.0A; -12V, 0.
The DMX Machine™ is a complete stand-alone lighting controller. It is ideal as a slave to another controller, or can be used by itself for small shows or elaborate kiosks.
Specifications Size and Weight: Standard 1U rack mount (1.75” x 19” x 6.5”), 8 lbs Power: 120 or 240 VAC (specify when ordering), 50 to 60 Hz 25 watts maximum.
Serial Ports The DMX Machine provides serial ports which are configured as shown below: Port Type Description Connector 0 RS-232 Programmer Port DB9M 1 RS-232 Port 1 DB9M Table 1 – DMX Machine Ports located on the Rear Panel Programmer Port The Programmer Port is an RS-232C serial port used to program the DMX Machine. Pin Connection 2 RS-232 TXD 3 RS-232 RXD 5 GND DMX Machine Table 2 – Programmer port connections Port 1: RS-232 Port 1 is permanently configured as RS-232C.
DMX Output Port The DMX Output port connections are as follows: Pin Connection 1 Common (Shield) 2 DMX TX- 3 DMX TX+ 4 N/C 5 N/C Table 4 – DMX Out connections The DMX line is a differential communications signal which conforms to RS-485 standards. This means that it utilizes both positive and negative lines to transmit a signal, thereby reducing is susceptibility to external noise.
Digital Inputs Pin Connection Pin Connection 1 Contact Closure Input 1 20 GND 2 Contact Closure Input 2 21 GND 3 Contact Closure Input 3 22 GND 4 Contact Closure Input 4 23 GND 5 Contact Closure Input 5 24 GND 6 Contact Closure Input 6 25 GND 7 Contact Closure Input 7 26 GND 8 Contact Closure Input 8 27 GND 9 Contact Closure Input 9 28 GND 10 Contact Closure Input 10 29 GND 11 Contact Closure Input 11 30 GND 12 Contact Closure Input 12 31 GND 13 Contact
Input Wiring Connecting a Contact Closure 1. Connect the appropriate wire from the Input signal pin (pin 1 for Input1, pin 2 for Input2, etc.) on the Parallel I/O connector to one of the terminals of the contact closure. 2. Connect one of the GND pins on the Parallel I/O connector to the other terminal of the contact closure.
Power Supply The DMX Machine includes an external power supply that allows connection to most domestic wall voltages (110VAC). A 220VAC model is available upon request. The power ratings for the DMX Machine external power supply are as follows: Input: 120 VAC; 60Hz; 15 watts max. Output: 9 VDC; 1A Note Make sure that any power supply used with the DMX Machine is the correct voltage and is configured correctly. The operating system that resides in the DMX Machine is called the “firmware”.
13-8 DMX Machine Hardware Reference
SMPTE Machine Hardware Reference The SMPTE Machine™ provides SMPTE reading and generation capabilities to all Alcorn McBride show controllers. It allows any sequences to be triggered at predefined timecodes. SMPTE Machine Hardware Reference SMPTE Machine The SMPTE Machine is ideal for installations where timecode is used to synchronize many disparate pieces of equipment.
Specifications 14-2 Size and Weight: Standard 1U rack mount (1.75” x 19” x 6.5”), 8 lbs Power: 120 or 240 VAC (specify when ordering), 50 to 60 Hz 25 watts maximum.
Serial Ports The SMPTE Machine provides two serial ports, which may be configured as shown below: Port Type Description Connector 0 RS-232 Programmer Port DB9M 1 RS-232 Control Port DB9M 2 RS-232 / MIDI* Control Port DB9M / (2) 5 Pin DIN F Table 1 – SMPTE Machine Ports located on the Rear Panel. *Factory Default Setting Programmer Port The Programmer Port is an RS-232C serial port used to program the SMPTE Machine.
Port 2: RS-232 or MIDI Port 2 is factory configured as a MIDI port, but can be reconfigured as an RS232C serial port. For RS-232 use the connections are provided on a male DB-9 connector. For MIDI, they are provided on three 5-pin DIN connectors. When configured for MIDI, MIDI Input is received by the MIDI IN port, and MIDI Output is sent out the MIDI OUT port. The MIDI Thru port echoes the data received on MIDI IN. Configuring Port 2 as RS-232 1.
SMPTE The SMPTE Machine reads SMPTE using a 3 pin XLR female connector, and generates it through a 3 pin XLR male. SMPTE IN Pin Connection 1 GND 2 Signal + 3 Signal - Table 7 – SMPTE IN connections. SMPTE OUT Pin Connection 1 GND 2 Signal + 3 Signal - Table 8 – SMPTE OUT. SMPTE Output Signal Level SMPTE Machine Switch SW9 selects the SMPTE Output Signal Level. Only one position of the switch should be set to “ON” at a time.
SMPTE Read/Generate Sync Source Jumper W1 Selects the SMPTE Sync Source. When reading SMPTE, this jumper connects the incoming SMPTE signal to the SMPTE Machine. This is the factory default position for W1. When generating SMPTE this jumper needs to be changed if the generated SMPTE is to lock to external video sync. If the generated SMPTE does not need to be video-locked, the position of this jumper doesn’t matter. Selecting Incoming SMPTE as a Sync Source (Reading Only) 1.
Digital Inputs The SMPTE Machine includes 3 front panel buttons and 8 Opto-isolated inputs that control the unit’s behavior. The buttons start, pause and reset the SMPTE timecode. The Opto-isolated inputs are activated by electrically activating the input through the Parallel I/O connector located on the rear panel.
Voltage Inputs vs. Contact Closures There are many advantages to using Voltage Inputs over Contact Closures. First, a Contact Closure can only be located a short distance from the SMPTE Machine. Second, Contact Closures use the SMPTE Machine’s own power supply, so external wiring errors can damage the entire unit. Figure 1 – Contact Closure Schematic. Figure 2 – Voltage Input Schematic.
Input Wiring Connecting a Voltage Input 1. Open the SMPTE Machine and verify that the correct Resistor Pack is installed in RP5 (see table 11). 2. Connect the appropriate wire from the Voltage Input signal pin (pin 1 for “Start”, pin 3 for “Reset”, etc.) to the positive terminal of the 24 VDC external power supply. 3. Connect the negative terminal of the external power supply to one of the terminals of the contact closure. 4.
Connecting a Contact Closure 1. Connect the appropriate wire from the Input signal pin (pin 28 for “Start”, pin 30 for “Reset”, etc.) on the Parallel I/O connector to one of the terminals of the contact closure. 2. Connect one of the GND pins on the Parallel I/O connector to the other terminal of the contact closure.
Digital Outputs Output Connector In addition to discrete inputs, the SMPTE Machine provides transistor outputs (lamp drivers) that indicate the unit’s state. These outputs are capable of sinking up to 500 mA each.
External Connection Connecting an output to a non-inductive load 1. Connect the positive terminal of the external power supply to the positive terminal of the device that is receiving the signal. 2. Connect the negative terminal of the power supply to one of the GND pins on the Parallel I/O connector. 3. Connect the appropriate Output pin (pin 9 for “Running”, pin 10 for “Fault”, etc.) on the Parallel I/O connector to the negative terminal of the device that is receiving the output signal.
Connecting an output to an inductive load Connect the positive terminal of the external power supply to the positive terminal of the device that is receiving the signal. 2. Connect the negative terminal of the power supply to one of the GND pins on the Parallel I/O connector. 3. Connect the appropriate Output pin (pin 9 for “Running”, pin 10 for “Fault”, etc.) on the Parallel I/O connector to the negative terminal of the device that is receiving the output signal. SMPTE Machine 1.
Video Synchronization The SMPTE Machine is designed to extract the vertical frame clock from an external video sync signal. This feature is only used when generating SMPTE and locking the generated signal to Video sync. This signal should be NTSC or PAL composite video at the standard sync level of 4.1 volts peak-to-peak. The sync signal is connected to the SMPTE Machine via a rear panel BNC connector.
Power Supply The SMPTE Machine includes an external power supply that allows connection to most domestic wall voltages (110VAC). A 220VAC model is available upon request. The power ratings for the SMPTE Machine external power supply are as follows: Input: 120 VAC; 60Hz; 15 watts max. Output: 9 VDC; 1A Note Make sure that any power supply used with the SMPTE Machine is the correct voltage and is configured correctly. Firmware The operating system that resides in the SMPTE Machine is called the “firmware”.
14-16 SMPTE Machine Hardware Reference
Appendix A – Adding User-Defined Serial Protocols Alcorn McBride Show Controllers can communicate with countless types of serial devices. Information on how these devices communicate is located in “Protocol Files”. Protocol Files for many devices are included with WinScript and allow you to program your show quickly and easily by using device-specific events that are built into serial messages and sent to the device at the specified time. The real power of Protocol Files is that you can create your own.
Creating Your Own Protocol File Protocol files can be created or edited on any non-document mode word processor including DOS Edit and Notepad. Word processors such as Word, WordPad, and Word Perfect can be used as long as the files are exported to nonrich, straight ASCII text. IMPORTANT The WinScript Compiler will not give error messages if your PCL file contains bad syntax. It is your responsibility to check your events thoroughly.
The Supported field indicates what firmware revision this protocol will work under. Most protocols, especially straight ASCII ones intended for laserdisc or CD players will work since rev 5.00. If the device requires firmware modification to work, the Protocol field will be changed to that new type, and the rev number of the Supported field will indicate that version of firmware.
Device-Specific Events Device-specific events are the meat of the Protocol file and can be quite complicated. These events take what the user entered in WinScript's event editor and convert the entered "Data" column information into data the protocol will send out the port to the device. The MessageOut event is the only event that is generally found in all Protocol files. This event ensures that the user can—without changing the Protocol file—at least send out bytes to the device.
sub-name is required only when you have several versions of the same event. This sub-name should be unique from other sub-names of this same event, and should also be as meaningful as possible. In this case [Play:UntilFrame] means play the disc until a certain frame is reached ( which is an argument to the event ). The colon is only required when a sub-name is included. The Description field becomes the explanatory text that is displayed in Event Wizard.
Note WinScript does not require parameters to be in specific column numbers, as long as multiple parameters are placed in order. If the event requires two parameters for example, the data can be put into column 2 and 4 ( leaving 1 and 3 blank ) as long as the data in column 1 matches the first parameter, and column 4 matches the second parameter. Param fields are important because of the fact that they perform an operation as well as qualify the data.
remoteflag – Must match the name of a flag in the in the Configuration | Flags window of the remote script connected to a porttyperemote as param1. Puts one byte in the compiler buffer which is the index of that flag. • remotevar – Must match the name of a variable in the Configuration | Variables window of the remote script connected to a porttyperemote as param1. Puts one byte in the compiler buffer which is the index of that variable.
example, the string "HELLO" 0xAA 50 0 "GOODBYE" h2E is perfectly valid. The compiler changes all the characters in quotes into ASCII bytes, and puts the entire string into the compiler buffer. • “literal” – Accepts a string which is exactly what is specified, non-case sensitive. For example, if the user entered "bAnK1" for the parameter, and the param field is ParamX="bank1" the parameter will validate.
place, instead of just removing the 'Q', the compiler replaces it with the optional byte h41 ( "A" ). For example, the parameter equipment would result in the string equipment being put into the compiler buffer. Since validation of a parameter is key to compiling what is truly desired, several different types of validation can be performed on a parameter.
Here are four different ways of representing the same three literal bytes: Type Representation String "ABC" Decimal 65 66 67 Hex h41 h42 h43 Combination "A" h42 67 The bolded text below is literal data: message=h02 "OPL:F" @string(param2) h03 Parameters specify a parameter to be directly entered into the message. the bolded text below is parameter data: message=h00 h02 param1 Parameters take the first byte out of the compiler buffer and put it into the message.
format HH:MM:SS.FF, and converts it to the format HHMMSSFF when putting it into the compiler buffer. The function @string takes whatever is in the buffer and puts it into the message to be sent out. This technique successfully works for several laserdisc players. If an @byte function was used by mistake, only the tens place of the hours of the time HH would get put into the message. Here are all of the possible function types, and their descriptions.
• @second – This function takes the fifth and sixth bytes of the compiler buffer as an ASCII representation of one byte ( the second of a time ), and puts it in the message as one byte. This function assumes you had a param field of timestring, which stores HHMMSSFF in the compiler buffer. • @frame – This function takes the seventh and eighth bytes of the compiler buffer as an ASCII representation of one byte ( the frame of a time ), and puts it in the message as one byte.
The Byte field specifies how the byte will be created. There can be up to 20 byte fields. Literal decimal and hex values can be used, as well as functions that result in a byte or word. The @complex function can not be used. Currently, 11 operators can be used on the data.
is 3. It then ORs the two results together h20 and h03, to get h23, which is the binary coded decimal equivalent of 23 decimal. Byte2 and Byte3 work similarly, except they work on the fifth and sixth bytes, and the seventh and eighth bytes respectively. Note The compiler uses a word size for the result of each operation, and then finally put the LSB byte into the message as the final result. This is to help produce accurate answers in intermediate stages of math operations.
@complex. If the completionack field is not specified, the Show Controller assumes there is no response after the event is completed. If the messageack and completionack fields are both not specified, the Show Controller assumes there is no response whatsoever from the device, and it ignores both the retries and timeout fields. The message is simply sent out, and that's it. Multiple Variations of the Same Event In many cases the same operation could take several different arguments.
[Play:Continuous] param1=port, "A valid Port" message="PL" h0d retries=1 timeout=60 completionack="R" h0d In this case, the Play event has an optional parameter, which is the frame to stop at when reached. If the user enters a frame number as parameter 2, the first event is compiled. If the user enters nothing as parameter 2, or something that is not a frame number, the second event will compile, yielding a play forever.
param1=port, "A valid Port" param2=var, "A valid variable representing a clip number" byte1=(@byte(param2) + 1) message=hF3 @complex(Byte1) "SE" h0d Appendices A First you must make sure that the "Supported" field is set to 6.40. WinScript uses this information to determine whether variables can be sent, and then compiles the command accordingly. As you can see, the message field in the Variable version contains an hF3 and a @complex function.
15-18 Appendix A – Adding User-Defined Serial Protocols
Appendix B – Alcorn McBride Serial Control Protocols Any device can serially control an Alcorn McBride Show Controller by using one of three protocols: Alcorn 9 Bit Control, Alcorn 8 Bit Control, or MIDI. PCs and other Show Controllers that can support Mark or Space parity over an RS-232 serial connection can use either Alcorn 8 or 9 Bit Control. Other devices, such as MIDI based show systems, can use the MIDI protocol.
The Basics of Alcorn Control Alcorn Control protocols use a very basic message structure consisting of several similar components: source address, target address, command byte, and data bytes. Note This appendix uses the prefix 0x to indicate a hexadecimal number. Source and Target Address The Source and Target addresses are derived from the Show Controller’s “Unit Address” which is a one byte address from 0x00 – 0x79. The source address is the address of the unit where the message originated.
The following table lists all Alcorn Control command opcodes (and corresponding data bytes) that can be used to control resources in an Alcorn McBride Show Controller. Note For a full description of each command, see Chapter 6.
DMXRamp 0x1F ** N/A 0x20
DMXRamp 0x5E *** *** 0x5F < variable index, for ramp duration, in seconds N/A 0x61 < variable index, for ramp duration, in seconds N/A (257-512) DMXRampSec (1-256) DMXRampSec (257-512) * In Bytes (0x00-0xFF) ** In Frames (0x00-0xFF) *** In Frames (0x0000-0xFFFF) **** Byte takes the follow
Here is the general form of an Alcorn 9 Bit Control message: ** * The byte is the 8-bit sum of all previous bytes in the message shifted right once. For example, if the sum of all bytes in the message is 0x5D (or 01011101 in binary), shifting it right once will produce 0x2E (or 00101110 in binary). This byte is used for error detection and will cause the entire message to be ignored if it is incorrect.
MIDI Control Advantage: Supported by most MIDI devices Disadvantage: Not bullet-proof Alcorn McBride Show Controllers with a MIDI IN port can also be controlled by the MIDI Control messages SYSEX, NOTE ON, and NOTE OFF. Start a Sequence with SYSEX “GO CUE” The SYSEX “GO CUE” message can be used to start a sequence.
Turn on an Output with NOTE ON The NOTE ON message can be used to turn on an output:
Appendix C – Cable Reference Common Show Control Cable Pinouts This appendix gives the pinouts for many common show control cables. You can make these cables yourself, or you may purchase them from Alcorn McBride by contacting our Sales Department at (407) 296-5800. Programming Cable DB9F #1 Pin 2 3 5 (shield) DB9F #2 Pin 2 3 5 (shield) Also used to connect a master controller’s serial port to a slave’s programming port.
17-2 Appendix C – Cable Reference
Appendix D – Available Accessories Components Part Description Mfg Part No. Stock No.
Manufactured Cables The following table lists commonly used Alcorn McBride Show Controller cables. All cables are available from Alcorn McBride by next day Fedex shipment.
Third Party Equipment Serial Countdown Clocks Applied Technical Systems manufactures a line of serially-controlled countdown clocks that are useful for preshows and queue lines. Applied Technical Systems Contact: Jim Reccelli Tel: (800) 444-7161 Fax: (318) 631-7613 Real Time Clocks Sometimes it is desirable to trigger a show or activity at a preset time of day. ESE makes several Real Time Clock modules that may be connected directly to Alcorn McBride Show Controllers using a serial cable.
18-4 Appendix D – Available Accessories
Index A Accessories .............................................................................................................................................................. 18-1 Alcorn 8 Bit Control.......................................................................................................................................... 16-1, 16-6 Alcorn 9 Bit Control.....................................................................................................
DMX 2-6, 5-2, 5-17, 5-21, 6-24, 16-2, 16-3, 16-4, 16-5 DMX Machine .................................................................................................................................................... 2-5, 12-1 E EBU 2-5 EEPROM Accessories .......................................................................................................................................................... 18-1 DMX Machine ....................................................................................
On ................................................................................................................................. 5-3, 5-4, 5-7, 6-21, 6-24, 16-3 OutPort ............................................................................................................................................5-4, 5-5, 5-6, 16-4 Pause........................................................................................................ 5-9, 5-10, 5-34, 5-35, 6-8, 7-13, 7-19, 16-3 PauseSMPTE .............
V2+ .............................................................................................................................................................. 10-2, 10-5 V4+ ........................................................................................................................................................... 9-2, 9-5, 9-9 fuses IO64 .........................................................................................................................................................
V2+ ............................................................................................................................................................ 10-2, 10-12 V4+ ................................................................................................................................................................ 9-2, 9-13 Null Modem..........................................................................................................................................................
@byte ...................................................................................................................................................... 15-10, 15-11 @checksum ........................................................................................................................................................ 15-12 @complex..........................................................................................................................15-12, 15-13, 15-14, 15-15 @decstring......
DMX Machine ..................................................................................................................................... 13-2–13-3, 13-5 InterActivator..................................................................................................................................... 11-2–11-4, 11-11 IO64 ...........................................................................................................................................12-1–12-3, 12-5–12-6 SMPTE Machine.......
V4+ ........................................................................................................................................................... 9-1–9-2, 9-3 Show Memory ...................................................................................................................................................... 8-1–8-2 Accessories ..........................................................................................................................................................
V16+ .............................................................................................................................................................. 8-4, 8-14 V2+ ..................................................................................................................................................................... 10-12 V4+ ..............................................................................................................................................................