SYS-CS1 System 84 Control InterfaceThe SYS-CS1 model is intended to control the RDL System 84
Audio Mixing Matrix products.
RU2-CS1 Serial Controlled InterfaceThe RU2-CS1 model is intended to control various RDL modules
and other manufacturers’ equipment equipped with open-collector control inputs.
Note: OEM product open-collector inputs must be compatible with current capability of RU2-CS1 control outputs.
Features Common to Both ModelsBoth models include eight status input terminals to monitor
external contact (switch or relay) closures or open-collector activations. These terminals are pulled high in
the CS1 to 5 Vdc and are protected against damage by external equipment or modules that may pull these
terminals as high as 30 Vdc.
There are also eight 0 to10 volt DC outputs that have 256 steps of resolution. Each may be programmed
to operate in the 0 to 5 volt DC range with no loss of resolution. These voltage outputs may also be
programmed to ramp to any valid level at rates programmable from 0.5 seconds to 128 seconds full scale.
The ramp rate may be individually set for each output.
Front-panel LEDs are provided to indicate power, command good/error, RS-232 communication and input/
output activity. All electrical connections are on the rear panel and employ depluggable connectors. The
RS-232 serial cable is not provided. Both products are in the same size chassis which is one RU (rack unit)
high and two-thirds wide. Either CS1 model will occupy 2 of 3 bays in an available RDL RU-RA3 rack
mounting accessory.
Note: References in this manual that apply to both SYS-CS1 and RU2-CS1 will use the term: CS1
2. Computer Communications and Connections
RS-232 CommunicationThe CS1 communicates with a host controller using an RS-232 connection. It
is a full duplex product, meaning it can receive and send data simultaneously. It does not employ any
hardware handshaking but instead can use return communication codes to communicate properly. The
baud rates available are: 2400, 4800, 9600 and 19200. The format is:
no parity bit
8 data bits
one stop bit
no hardware or software handshaking
RS-232 ConnectionThe required cable to connect to a personal computer’s 9 pin serial port is a
straight through 9 pin male to 9 pin female cable. These are commonly referred to as extension cables and
are usually available locally. For use on a 25 pin port, a 25 pin to 9 pin serial cable must be used. The pins
used by the CS1 are 2 (RX data), 3 (TX data) and 5 (ground). All other pins on the CS1’s RS-232 connector
are wired only to the 6 pin depluggable header to the left of the RS-232 DB-9 connector as viewed from the
rear. These are available for customer use in the event that the controller being used requires hardware
handshaking. One such example may be RTS – CTS handshaking in which case installing a jumper wire
between the pins labeled 7 and 8 may enable proper communication. When using the Windows terminal
program Hyper Terminal or Visual Basic developed applications, jumpering these extra pins will not be
required.
For long distance communication between the controller and the CS1 a pair of RDL RU-SC2s may be
used. Refer to the RDL RU-SC2 Installation Instruction for wiring and cable diagrams.
Note: The RDL RU-SC1A is not recommended for long distance CS1 control. The RDL RU-SC1A model will not always
work properly as it is a half duplex device, which will only communicate to another RU-SC1A one way at a time.
3. Programming
Command ProtocolThe CS1 is controlled by ASCII commands received via the RS-232 connector.
A full listing and explanation of these commands is covered later in the Command Reference section.
Each command must have a terminator character appended to the end of the command to enact it. This
terminator may be the Line Feed character (ASCII 10) or the Carriage Return character (ASCII 13) or both
in either order. The CS1 may be set up via the “REN” command to send a response back to the host upon
receiving the terminator character, returning an error code. The error code will indicate a successful command
was received or one of several different error conditions occurred, enabling the programmer to troubleshoot
any erroneous command. By default the error code responses are disabled.
External InputsExternal events may be set to cause spontaneous RS-232 communication
from the CS1 to the host. These events are from changes to the STATUS INPUT pins if commands have
been issued to the CS1 to enable these alerts. By default no input alerts are active upon power up or after
an “INIT” initialization command has been sent.
Response ProtocolAll responses from the CS1 can have an optional terminator added which
may be a Carriage Return (ASCII 13) or Line Feed (ASCII 10) or both (CR + LF). The default power-up
condition is “no terminator”. Terminators are activated using the “Tn” commands covered later in the
Command Reference section.
Power-up Default ConditionsThe CS1 powers up ready to accept any command and to not provide
responses back to the computer. The power-up default sets the CS1 to include no terminators (see
Response Protocol above) with any responses. If user equipment or software requires a terminator, the
CS1 must be programmed first with the correct “Tn” command to enable outgoing terminators. If responses
are required, they should be programmed next by sending the “REN” command. Additionally, “ramp
complete” responses may be enabled by sending the “RER” command to the CS1.
Computer IssuesDuring computer boot up, the electrical levels on the RS-232 serial port pins
may vary. This may produce a communication error on the CS1 as evidenced by the flashing ERROR
LED. This can be cleared by sending any terminator character (or command with terminator) to empty the
CS1’s receive buffer followed by sending any valid command with a terminator. One suggestion for the
valid command would be “INIT” which puts the CS1 into the power-up default state.
RampingThe ramp rates are programmable for each voltage output. Each ramp is adjustable for a
nominal 0.5 to 127.5 seconds full scale. The default time for all channels is 0.5 seconds full scale. To
calculate a specific ramp completion time use the following formula:
|
end value – beginning value |
256
X full scale ramp time
where: end value and beginning value are command suffixes in the range from 0 to 255, and full scale
ramp time is the total time required to ramp from 0 (off) to 255 (fully on).
Sample ProgramThere is sample Visual Basic (Ver. 6, Professional) source code posted on the RDL
website, www.rdlnet.com (available through both the SYS-CS1 and RU2-CS1 HTML pages). The code is
for a demonstration program that uses most of the features of either the SYS-CS1 or the RU2-CS1. The
code may work in other versions of Visual Basic. See the Microsoft Visual Basic section below for more
information.
Baud RateAny of the four available baud rates may be used. It is preferable to use the highest
rate possible to minimize response times due to communication time.
Status MonitorWhen using the SYS-CS1 model a convenient aid to the programmer is the RDL
SYS84SM remote status monitor. This monitor is rack mountable using the RDL RU-RA3 rack-mounting
accessory. It may be left permanently mounted to visually indicate the current program setup of the System84
audio switching matrix that the SYS-CS1 is controlling.
Windows Hyper TerminalThe Windows Hyper Terminal program can be used to control the CS1
and is a convenient way to learn programming techniques. It can usually be found under the Start button
menu at: All Programs, Accessories, Communication. If it is not installed it can be added from the Windows
installation CD or CAB file. With Hyper Terminal active, the CS1 can be directly controlled by sending
commands listed in the Command and Error Code Reference section of this manual.
To set up Hyper Terminal, start the program and give it any desired name in the New Connection dialog. In
the following Connect To dialog, select the COM1 or COM2 setting corresponding to the port connected to
the CS1. In the subsequent COM1/2 Properties dialog, select the baud rate that is set on the CS1 rear
panel switches. The data bits should be “8”, the parity setting should be “None” and the Stop bits “1”. The
Flow control must be set to “None”. Click OK when ready.
Hyper Terminal is now configured and the setup should be saved for convenient use later. The info bar at
the bottom should have a Connected… message. If not, click on the telephone icon on the menu bar to
connect.
It is convenient to see typed characters on the screen. To enable this, first disconnect by clicking on the
icon of the telephone with the raised handset. Then click on the Properties icon and click on the Settings
tab. Click the ASCII button and click the box labeled Echo typed characters locally. Click on OK buttons
until done; then reconnect. If this mode is preferred, save the setup.
For an easier to visualize screen it is recommended to set the CS1 outgoing terminator to CR+LF. Type T3
and press the Enter key to do so. Send the “V” command to test it out by typing V and Enter. A line should
appear below the V that was typed in the format “Vn”, where the “n” will be a number indicating the
firmware version installed in the CS1.
It’s also a good idea to send the “REN” command to see the error code returned.
Microsoft Visual BasicDownloading the source files for the demo sample program as a
reference is highly recommended. The demo program was developed using Version 6, Professional Edition.
Other versions may work but may need some modification. The version used must include the serial
communication control (MSCommControl). This control may not be in “Standard” or “Learning” editions.
This control must be activated in the Integrated Development Environment by using menu choice Projects,Components and clicking on the checkbox for Microsoft Comm Control. The slider controls used in the
demo program were from the Microsoft Windows Common Controls components group. All other controls
used are standard Visual Basic controls (in Ver.6).
The use of return codes from the CS1 (REN command) is highly recommended in conjunction with the
OnComm event as used in the demo program. The alternative is to use delays after all commands are
sent. This technique is used in the demo program in the start up code in the Form, Load event in the
automatic baud rate setting code, where it is a necessity.
If the application being developed will make use of ramping the 0 to 10 (or 0 to 5) volt outputs it is
recommended but not necessary to use ramp end reporting, activated with the RER command. This method
is useful when the application needs to know when the ramp is complete to initiate another action.
4. Command and Error Code Reference
All commands are case insensitive. Commands can be upper or lower case.
(Commands are for both models unless otherwise specified)
REN: Enables response codes. With response codes enabled, one of the following codes is returned to
the computer each time the CS1 receives a command:
E0: Command was okay, requested action taken.
E1: Framing error. Usually caused by an incorrect baud rate or number or data bits or start or stop bits.
E2: RS-232 hardware buffer overrun. Could be caused by an excessive incoming baud rate.
Check parity and start/stop bit settings as well.
E3: Internal receive buffer overrun. Too many characters with no terminator were received.
Possibly caused by an incorrect baud rate.
E4: Command not understood. An unknown command was received.
E5: Argument incorrect. Command was recognized but an invalid value parameter was detected.
Note: An argument containing more characters than required may not trigger an “E5” error code. The CS1 will process the
command characters first, followed by processing the parameter until the correct number of characters needed are found.
Any excess characters will be ignored up to a valid terminator (CR, LF, CR+LF or LF+CR).
RDIS: (default mode) Disables response codes. With response codes disabled, the only communication
sent from the Sys84IF results from a STATUS INPUT terminal change (if enabled; see IC commands
below) or an input alert (if enabled; see IA command below).
Tn: (n = 0 to 3) Selects what terminator character(s) is/are sent from the CS1 after any/all responses.
0 = no terminator (Default)
1 = Carraige Return (ASCII 13)
2 = Line Feed (ACSII 10)
3 = Both CR and LF
V: Returns the software Revision level. The response is “Vn” where ‘n’ is the revision level, starting with 1.
Only whole numbers are used for ‘n’.
INIT: Initializes unit. All output pins are set off and all 0 to 10V outputs are set to 0 Vdc. Clears all input
alerts set from ICE, ICEALL and IA commands. Ramp rate will default to 1 (0.5 sec. full scale ramp time).
Resets outgoing terminator to ‘none’ (same as T0 command). Sets CS1 to send back no responses (same
as RDIS command).
ICEn: (n = 1 to 8) Enables alert upon change in STATUS INPUT terminal. For STATUS INPUT terminal ‘n’
send a response from the CS1 to the computer for a change in status from active (grounded) to inactive
(open) and vice versa. The response is “ICnb” where n = user input terminal # and b = 0 for inactive and 1
for active.
ICEALL: Enables input state change alerts on all 8 STATUS INPUTs.
ICDn: (n = 1 to 8) Disables input change alert, i.e. undo ICE command.
ICDALL: Disables all ICE commands. No responses sent from CS1 for STATUS INPUT terminal changes.
In: (n = 1 to 8) Returns state of STATUS INPUT terminal ‘n’. The response is “Inb” where n = STATUS
INPUT terminal # and b = 0 for inactive and 1 for active.
IALL: Returns state of all STATUS INPUT terminals. The response is “Ibbbbbbbb” where b = 0 for inactiveand 1 for active. The first character after “I” is STATUS INPUT #8, then #7, etc.
IAbbbbbbbb: Returns alert for STATUS INPUT terminal pattern ‘bbbbbbbb’ where b=0 for inactive, 1 for
active and X for don’t care. The first character after “IA” is terminal #8, then #7, etc. The response is “IA”
when the user input terminals match the defined pattern. The alert response is sent even if the CS1 is in
“no response” mode which is the default mode or if an RDIS command was invoked. This command does
not affect any prior or future ICE or ICEALL commands.
CONTROL COMMANDS FOR MODEL SYS-CS1 TO CONTROL A SYSTEM 84
C1IxOy: Turns on (ground) pin for input channel Ix (x = 1 to 8) to output channel Oy (y = 1 to 4).
C0IxOy: Turns off (open) pin for input channel Ix (x = 1 to 8) to output channel Oy (y = 1 to 4).
CONTROL COMMANDS FOR MODEL RU2-CS1
ONn: (n = 1 to 8) Turns output terminal ‘n’ on (grounded).
OALL: Turns all output terminals on.
OFFn: (n = 1 to 8) Turns output terminal ‘n’ off (open).
PULn: (n = 1 to 8) Pulses open-collector output terminal for 100 mS.
VOmxxx: (m = A to H, xxx = 0 to 255) Sets 0 TO 10V OUTPUT ‘m’ to level ‘xxx’. A level of 255 corresponds
to 10 Vdc (or 5 Vdc for 5 V range) and a level of 0 produces an output of 0 Vdc. A level of 128 would
correspond to 5 Vdc (or 2.5 Vdc for 5 V range). Leading zeroes in the ‘xxx’ part of the command are
optional, i.e. for level 52 the command may be “VA52” or “VA052”. No ‘xxx’ value is considered to be an
error.
VALLxxx: (xxx = 0 to 255) Sets all 0 TO 10V OUTPUTs immediately to level ‘xxx’. This command follows
the leading zero rules as in VO command above. No value for ‘xxx’ will set the output off to 0 Vdc.
VRmn: (m = A to H, n = 0 or 1 to set Output Voltage Range) Default value of ‘n’ is 0 which is the 0 to 10Vdc
range; a value of 1 sets the range to 0 to 5 Vdc.
RMPmxxx: (m = A to H, xxx = 0 to 255) Ramps 0 to 10V output ‘m’ to level ‘xxx’ using rate set by RR
command.
RRmxxx: (m = A to H, xxx = 1 to 255) Sets the time required for a full scale ramp (0 to 10 V or 0 to 5 V). The
number xxx is a multiplier of 0.5 seconds, i.e. a xxx numeric value of 10 would yield a ramp rate of 5
seconds (10 x 0.5 seconds). An entry of 0 is reported as an error (if reporting is enabled) and the ramp rate
is not changed.
RALLxxx: (xxx = 1 to 255) Sets all ramp times to xxx as described in RR command.