There are a few a few tricks necessary to make SFX respond to Relay Inputs from our Relay Manager extension.
First if you have not already done so, please take a good look over our Extensions Guide. This Guide can be found by going to any computer that SFX
6 is installed on going to the Start Menu|Programs|Stage Research|SFX 6 and in that menu item you should see Extensions Guide. If you do not see that, you can always download it from our ftp site at any time and read it on just about any computer. It's in Adobe pdf format.
ftp://ftp.stageresearch.com/SFX60/
Chapter 4 of the Extensions Guide specifically covers the Relay Managers.
The keys to making SFX respond to Relay Inputs are: (this assumes you have done all the set up of the hardware and tested it as described in the Extensions Guide)
1. Even if you don't have any relay output boards in use, you will need to set up both a TelNet Input and Output Patch to the relay manager. If the relay board is plugged into the same computer that is running SFX you can use LOCALHOST in the column that is used to specify the IP address of the relay board. That way it will always look on the computer running SFX despite what the IP address of the SFX machine is.
2. Once you've set up your patch you'll need to write a TelNet Cue in your SFX Production that sends a command to the Relay Manger. This enables communication between the Relay Manager and SFX. Until this command is sent, there is no interconnection between SFX and the Relay Manger. So create a TelNet Cue that sends the command "CONNECT" to the Relay Manager.
(not including the quotation marks) Make sure you put a carriage return after the command. (press enter)
3. To make it easy for this to all happen so your board op doesn't need to remember to run that cue every day before the relay inputs work, I recommend writing a simply script into the existing script in SFX called "AfterOpen".
Essentially any commands you put into the "AfterOpen" script will be run after your Production file is open. So I would create your TelNet command in an extra cue list in your production. (let's assume your "CONNECT" cue is Q1 in QList B) I would write the following command into the AfterOpen script.
PLAY LIST "B" Q 1
This will then automatically run your "CONNECT" cue every time the production file is open in SFX.
4. The last key to making the Relay Manger send triggers to SFX is you need
to create a script in SFX called "Relay Manger" (again minus the quotes)
This script is where SFX will look for what to do with data that is sent from the Relay Manger to SFX 6.
There is an example script that you can modify to fit your needs in the Extensions Guide. But I will also give you an example script that matches your current needs you could modify as well.
// RelayManager
// This script is called by the SR RelayManager. To call it manually:
// e.g. For Device ID 1, Switch 2, ON
// EXEC SCRIPT "RelayManager" (1, 2, 1)
// Store the three parameters as more readable names.
ASSIGN @Switch = @ARGS1
ASSIGN @State = @ARGS2
// Is the button PUSHED?
IF @State == 1 THEN
IF @Switch == 1 THEN
GO LIST "A"
END
IF @Switch == 2 THEN
STOP LIST "A"
END
END
What happens when a relay is activated is that SFX receives a message from the relay manager with 3 pieces of data. The relay manager looks to execute the script called "RelayManger". And the 3 pieces of data it sends to that script determine what SFX does with that data.
The relay manger sends the following data:
(
DeviceID Switch State)
If you only have 1 relay device you can simply ignore that data and only worry about the switch and the state. The DeviceID is set in the relay manager itself as is described in the Extensions Guide. The Switch is which input or output relay has just been modified and the state is if the connection is closed or open.
In the above simple example, if you close relay input 1, SFX will "GO" on Cue List A. If you close relay input 2 it will "STOP" List A. You can add to and or modify this script to fit your particular needs.
So to sum up the main things to make an input relay work are:
1. Create a TelNet Patch to the Relay Manager both In and Out
2. Create a TelNet Cue in the show that sends the "CONNECT" command to the relay manager prior to any relay inputs being used
3. Create a Script called "RelayManger" in SFX that tells SFX what to do with the incoming data from the Relay Manager.