For example, consider ARM:COUNt?[MIN|MAX]. If you
send the command without specifying a parameter, the
present ARM:COUNt value is returned. If you send the
MIN parameter, the command returns the minimum
count available. If you send the MAX parameter, the
command returns the maximum count available. Be sure
to place a space between the command and the
parameter.
Linking Commands Linking IEEE 488.2 Common Commands with SCPI Commands. Use a
semicolon (;) between the commands. For example, *RST;OUTP ON or
TRIG:SOUR HOLD;*TRG.
Linking Multiple SCPI commands. Use both a semicolon (;) and a colon (:)
between the commands, such as ARM:COUN 1;:TRIG:SOUR EXT.
SCPI Commands Reference
This section describes the Standard Commands for Programmable
Instruments (SCPI) commands for the Relay Matrix Switch modules.
Commands are listed alphabetically by subsystem and within each
subsystem.
Type Explanations and Examples
Boolean Boolean parameters represent a single binary condition
that is either true or false (ON, OFF, 1, 0). Any non-zero
value is considered true.
Discrete
Numeric Numeric Parameters are commonly used decimal
representations of numbers including optional signs,
decimal points, and scientific notation (for example, 123,
123E2, -123, -1.23E2, .123, 1.23E-2, 1.23000E- 01).
Special cases include MIN, MAX, DEFault, and INFinity.
Optional
40 Relay Matrix Switch Command Reference Chapter 3
ABORt
The ABORt command subsystem stops a scan in progress when the
scan is enabled via the interface and the trigger source is
TRIGger:SOURce BUS or TRIGger:SOURce HOLD.
Subsystem Syntax ABORt
Comments ABORt Actions: ABORt stops the scan and invalidates the current
channel_list.
Stopping a Scan Enabled Via Interface: When a scan is enabled via an
interface, an interface CLEAR command (CLEAR 7) can be used to stop
the scan. When the scan is enabled via the interface and TRIG:SOUR
BUS or HOLD is set, you can use ABORt to stop the scan.
Restarting a Scan: Use the INIT command to restart the scan.
Related Commands: ARM, INITiate:CONTinuous, [ROUTe:]SCAN,
TRIGger
Example Stopping a Scan with ABORt
This example stops a (continuous) scan in progress.
TRIG:SOUR BUS
! *TRG command is trigger source
INIT:CONT ON ! Set continuous scanning
SCAN (@10000:10003)
! Scan channels 00-03
INIT
! Start scan, close channel 00
.
.
ABOR ! Abort scan in progress.
Relay Matrix Switch Command Reference 41 Chapter 3
ARM
The ARM subsystem selects the number of scanning cycles (1 to 32,767)
for each INITiate command.
Subsystem Syntax ARM
:COUNt <number> MIN | MAX
:COUNt? [MIN | MAX]
ARM:COUNt
ARM:COUNt <number> MIN | MAX allows scanning cycles to occur a
multiple of times (1 to 32,767) with one INITiate command when
INITiate:CONTinuous OFF | 0 is set. MIN sets 1 cycle and MAX sets
32,767 cycles.
Parameters
Comments Number of Scans: Use only values between 1 and 32,767 for the number
of scanning cycles.
Related Commands: ABORt, INITiate[:IMMediate]
*RST Condition: ARM:COUNt 1
Example Setting Ten Scanning Cycles
This example sets a Relay Matrix Switch module for 10 scans of
channels 00 through 03.
ARM:COUN 10
!Set 10 scans per INIT command
SCAN (@10000:10003) !Scan channels 00-03
INIT
!Start scan, close channel 00
Name Type Range of Values Default Value
<number> numeric 1-32,767 | MIN | MAX 1
42 Relay Matrix Switch Command Reference Chapter 3
ARM:COUNt?
ARM:COUNt? [MIN | MAX] returns the current number of scanning cycles
set by ARM:COUNt. The current number of scan cycles is returned when
MIN or MAX is not supplied. With MIN or MAX as a parameter, MIN
returns 1 and MAX returns 32767.
Parameters
Comments Related Command: INITiate[:IMMediate]
Example Query Number of Scans
This example sets a switchbox for 10 scanning cycles and queries the
number of scan cycles set. The ARM:COUN? command returns 10.
ARM:COUN 10 !Set 10 scans per INIT command
ARM:COUN?
!Query number of scans
Name Type Range of Values Default Value
MIN | MAX numeric MIN = 1, MAX = 32,767 current cycles
Relay Matrix Switch Command Reference 43 Chapter 3
INITiate
The INITiate command subsystem selects continuous scanning cycles
and starts the scanning cycle.
Subsystem Syntax INITiate
:CONTinuous <mode>
:CONTinuous?
[:IMMediate]
INITiate:CONTinuous
INITiate:CONTinuous <mode> enables or disables continuous scanning
cycles for the switchbox.
Parameters
Comments Continuous Scanning Operation: Continuous scanning is enabled with
the INITiate:CONTinuous ON or INITiate:CONTinuous 1 command.
Sending the INITiate[:IMMediate] command closes the first channel in
the channel list. Each trigger from the source specified by the
TRIGger:SOURce command advances the scan through the channel list.
A trigger at the end of the channel list closes the first channel in the
channel list and the scan cycle repeats.
Non-Continuous Scanning Operation: Non-continuous scanning is
enabled with the INITiate:CONTinuous OFF or INITiate:CONTinuous 0
command. Sending the INITiate[:IMMediate] command closes the first
channel in the channel list. Each trigger from the source specified by the
TRIGger:SOURce command advances the scan through the channel list.
At the end of the scanning cycle, the last channel in the channel list is
closed and the scanning cycle stops.
Stopping Continuous Scan: See the ABORt command.
Related Commands: ABORt, ARM:COUNt, TRIGger:SOURce
*RST Condition: INITiate:CONTinuous OFF | 0
Name Type Range of Values Default Value
<mode> boolean 0 | 1 | OFF | ON 0 | OFF
44 Relay Matrix Switch Command Reference Chapter 3
Example Enabling Continuous Scanning
This example enables continuous scanning of channels 00 through 03 of
a single-module switchbox. Since TRIGger:SOURce IMMediate (default)
is set, use an interface clear command (such as CLEAR) to stop the
scan.
INIT:CONT ON
!Enable continuous scanning
SCAN (@10000:10003)
!Scan channels 00-03
INIT !Start scan cycle, close chan 00
INITiate:CONTinuous?
INITiate:CONTinuous? queries the scanning state. With continuous
scanning enabled, the command returns 1. With continuous scanning
disabled, the command returns 0.
Example Query Continuous Scanning State
This example enables continuous scanning of a switchbox and queries
the state. Since continuous scanning is enabled, INIT:CONT? returns 1.
INIT:CONT ON !Enable continuous scanning
INIT:CONT?
!Query continuous scanning state
INITiate[:IMMediate]
INITiate[:IMMediate] starts the scanning process and closes the first
channel in the channel list. Successive triggers from the source selected
by the TRIGger:SOURce command advance the scan through the
channel list.
Comments Starting the Scanning Cycle: The INITiate[:IMMediate] command starts
scanning by closing the first channel in the channel list. Each trigger
received advances the scan to the next channel in the channel list.
An invalid channel list definition causes an error (see [ROUTe:]SCAN).
Stopping Scanning Cycles: See ABORt.
Example Enabling a Single Scan
This example enables a single scan of channels 00 through 03 of a
single-module switchbox. The trigger source to advance the scan is
immediate (internal) triggering set with TRIGger:SOURce:IMMediate.
SCAN (@10000:10003)
!Scan channels 00-03
INIT
!Begin scan, close channel 00
Relay Matrix Switch Command Reference 45 Chapter 3
OUTPut
The OUTPut subsystem selects the source of the output trigger
generated when a channel is closed during a scan. The selected output
can be enabled, disabled, and queried. The three available outputs are
the ECLTrg and TTLTrg trigger buses and the E1406 Command Module
front panel Trig Out port.
Subsystem Syntax OUTPut
:ECLTrgn (:ECLTrg0 or :ECLTrg1)
[:STATe] <mode>
[:STATe]?
[:EXTernal]
[:STATe] <mode>
[:STATe]?
:TTLTrgn (:TTLTrg0 through :TTLTrg7)
[:STATe] <mode>
[:STATe]?
OUTPut:ECLTrg[:STATe]
OUTPut:ECLTrgn[:STATe] <mode> selects and enables which ECL
Trigger bus line (0 or 1) will output a trigger when a channel is closed
during a scan. This is also used to disable a selected ECL Trigger bus
line. n specifies the ECL Trigger bus line (0 or 1) and mode enables
(ON or 1) or disables (OFF or 0) the specified ECLTrg bus line.
Parameters
Comments Enabling ECL Trigger Bus: When enabled, a pulse is output from the
selected ECL Trigger bus line (0 or 1) after each channel is closed during
a scan. If disabled, a pulse is not output. The output is a negative-going
pulse.
ECL Trigger Bus Line Shared by Switchboxes: Only one switchbox
configuration can use the selected trigger at a time. When enabled, the
selected ECL Trigger bus line (0 or 1) is pulsed by the switchbox each
time a scanned channel is closed. To disable the output for a specific
switchbox, send the OUTPut:ECLTrgn OFF or 0 command for that
switchbox.
Name Type Range of Values Default Value
n numeric 0 or 1 N/A
<mode> boolean 0 | 1 | OFF | ON 0 | OFF
46 Relay Matrix Switch Command Reference Chapter 3
One Output Selected at a Time: Only one output (ECLTrg 0 or 1; TTLTrg
0, 1, 2, 3, 4, 5, 6, or 7; or EXTernal) can be enabled at one time. Enabling
a different output source will automatically disable the active output. For
example, if TTLTrg1 is the active output, and TTLTrg4 is enabled,
TTLTrg1 will become disabled and TTLTrg4 will become the active
output.
Related Commands: [ROUTe:]SCAN, TRIGger:SOURce,
OUTPut:ECLTrg[:STATe]?
*RST Condition: OUTPut:ECLTrg[:STATe] OFF (disabled).
Example Enabling ECL Trigger Bus Line 0
OUTP:ECLT0:STAT 1
! Enable ECL Trigger bus line 0 to
!output pulse after each scanned
!channel is closed.
OUTPut:ECLTrg[:STATe]?
OUTPut:ECLTrg[:STATe]? queries the present state of the specified ECL
Trigger bus line. The command returns 1 if the specified ECLTrg bus line
is enabled or 0 if disabled.
Example Query ECL Trigger Bus Enable State
This example enables ECL Trigger bus line 0 and queries the enable
state. The OUTPut:ECLTrgn? command returns 1 since the port is
enabled.
OUTP:ECLT0:STAT 1 ! Enable ECL Trigger bus line 0
OUTP:ECLT0?
! Query bus enable state
OUTPut[:EXTernal][:STATe]
OUTPut[:EXTernal][:STATe] <mode> enables or disables the Trig Out port
on the E1406 Command Module to output a trigger when a channel is
closed during a scan. ON | 1 enables the port and OFF | 0 disables the
port.
Parameters
Name Type Range of Values Default Value
<mode> boolean 0 | 1 | OFF | ON 0 | OFF
Relay Matrix Switch Command Reference 47 Chapter 3
Comments Enabling Trig Out Port: When enabled, a pulse is output from the Trig Out
port after each scanned switchbox channel is closed. If disabled, a pulse
is not output from the port after channel closures. The output is a
negative going pulse.
Trig Out Port Shared by Switchboxes: Only one switchbox configuration
can use the selected trigger at a time. When enabled, the Trig Out port
is pulsed by the switchbox each time a scanned channel is closed. To
disable the output for a specific switchbox, send the OUTP OFF or 0
command for that switchbox.
One Output Selected at a Time: Only one output (ECLTrg 0 or 1; TTLTrg
0, 1, 2, 3, 4, 5, 6, or 7; or EXTernal) can be enabled at one time. Enabling
a different output source will automatically disable the active output. For
example, if TTLTrg1 is the active output, and TTLTrg4 is enabled,
TTLTrg1 will become disabled and TTLTrg4 will become the active
output.
Related Commands: [ROUTe:]SCAN, TRIGger:SOURce,
OUTPut[:EXTernal][:STATe]?
*RST Condition: OUTPut[:EXTernal][:STATe] OFF (disabled).
Example Enabling Trig Out Port
OUTP:EXT 1 !Enable Trig Out port to output
!pulse after each scanned channel
!is closed
OUTPut[:EXTernal][:STATe]?
OUTPut[:EXTernal][:STATe]? queries the present state of the Trig Out
port. The command returns 1 if the port is enabled or 0 if disabled.
Example Query Trig Out Port Enable State
This example enables the Trig Out port and queries the enable state.
The OUTPut? command returns 1 since the port is enabled.
OUTP:EXT ON
!Enable Trig Out port
OUTP:EXT? !Query port enable state
48 Relay Matrix Switch Command Reference Chapter 3
OUTPut:TTLTrg[:STATe]
OUTPut:TTLTrgn[:STATe] <mode> selects and enables which TTL
Trigger bus line (0 to 7) will output a trigger when a channel is closed
during a scan. This is also used to disable a selected TTL Trigger bus
line. n specifies the TTL Trigger bus line (0 to 7) and mode enables
(ON or 1) or disables (OFF or 0) the specified TTL Trigger bus line.
Parameters
Comments Enabling TTL Trigger Bus: When enabled, a pulse is output from the
selected TTL Trigger bus line (0 to 7) after each channel in the switchbox
is closed during a scan. If disabled, a pulse is not output. The output is a
negative-going pulse.
TTL Trigger Bus Line Shared by Switchboxes: Only one switchbox
configuration can use the selected TTL Trigger at a time. When enabled,
the selected TTL Trigger bus line (0 to 7) is pulsed by the switchbox each
time a scanned channel is closed. To disable the output for a specific
switchbox, send the OUTPut:TTLTrgn OFF or 0 command for that
switchbox.
One Output Selected at a Time: Only one output (ECLTrg 0 or 1; TTLTrg
0, 1, 2, 3, 4, 5, 6, or 7; or EXTernal) can be enabled at one time. Enabling
a different output source will automatically disable the active output. For
example, if TTLTrg1 is the active output, and TTLTrg4 is enabled,
TTLTrg1 will become disabled and TTLTrg4 will become the active
output.
Related Commands: [ROUTe:]SCAN, TRIGger:SOURce,
OUTPut:TTLTrg[:STATe]?
*RST Condition: OUTPut:TTLTrg[:STATe] OFF (disabled).
Example Enabling TTL Trigger Bus Line 7
OUTP:TTLT7:STAT 1 ! Enable TTL Trigger bus line 7 to
!output pulse after each scanned
!channel is closed
Name Type Range of Values Default Value
n numeric 0 or 1 N/A
<mode> boolean 0 | 1 | OFF | ON 0 | OFF
Relay Matrix Switch Command Reference 49 Chapter 3
OUTPut:TTLTrg[:STATe]?
OUTPut:TTLTrg[:STATe]? queries the present state of the specified TTL
Trigger bus line. The command returns 1 if the specified TTLTrg bus line
is enabled or 0 if disabled.
Example Query TTL Trigger Bus Enable State
This example enables TTL Trigger bus line 7 and queries the enable
state. The OUTPut:TTLTrgn? command returns 1 since the port is
enabled.
OUTP:TTLT7:STAT 1
!Enable TTL Trigger bus line 7
OUTP:TTLT7? !Query bus enable state
50 Relay Matrix Switch Command Reference Chapter 3
[ROUTe:]
The [ROUTe:] subsystem controls switching and scanning operations for
Relay Matrix Switch modules in a switchbox.
NOTE The [ROUTe:] subsystem opens all previously closed relays. Therefore, it
should be the first relay configuration command.
Subsystem Syntax [ROUTe:]
CLOSe <channel_list>
CLOSe? <channel_list>
OPEN <channel_list>
OPEN? <channel_list>
SCAN <channel_list>
[ROUTe:]CLOSe
[ROUTe:]CLOSe <channel_list> closes the Relay Matrix Switch channels
specified by channel_list.
Parameters
Comments channel_list Form: For the E1468A, channel_list has the form (@ssrc)
where ss = card number (01-99), r = row number, and c = column
number. For the E1469A, channel_list has the form (@ssrrcc) where
ss = card number (01-99), rr = row number, and cc = column number.
Closing Channels (E1468A Only):
• For a single channel, use [ROUT:]CLOS (@ssrc)
• For multiple channels, use [ROUT:]CLOS (@ssrc,ssrc,...)
• For sequential channels, use [ROUT:]CLOS (@ssrc:ssrc)
• for groups of sequential channels use [ROUT:]CLOS
(@ssrc:ssrc,ssrc:ssrc).
You can use any combination of these commands. However, closure
order for multiple channels with a single command is not guaranteed.
Name Type Range of Values Default Value
<channel_list> numeric E1468A: r = 0 to 7
c = 0 to 7
E1469A: rr = 00 to 03
cc =00 to 15
N/A
Relay Matrix Switch Command Reference 51 Chapter 3
Closing Channels (E1469A Only):
• For a single channel, use [ROUT:]CLOS (@ssrrcc)
• For multiple channels, use [ROUT:]CLOS (@ssrrcc,ssrrcc,...)
• For sequential channels, use [ROUT:]CLOS (@ssrrcc:ssrrcc)
• for groups of sequential channels use [ROUT:]CLOS
(@ssrrcc:ssrrcc,ssrrcc:ssrrcc).
You can use any combination of these commands. However, closure
order for multiple channels with a single command is not guaranteed.
Related Commands: [ROUTe:]OPEN, [ROUTe:]CLOSe?
*RST Condition: All channels open.
Example Closing Relay Matrix Switch Module Channels
This example closes channels 10100 and 20013 of a two-module
switchbox (card numbers 01 and 02).
CLOS (@10100,20013)
!Close channels 10100 and
!20013. 10100 closes row 01,
!column 00 of card #1 and 20013
!closes row 00, column 13 on
!card #2.
[ROUTe:]CLOSe?
[ROUTe:]CLOSe? <channel_list> returns the current state of the
channel(s) queried. channel_list has the form (@ssrc) or (@ssrrcc) (see
[ROUTe:]CLOSe for definition). The command returns 1 if channel(s) are
closed or returns 0 if channel(s) are open.
Comments Query is Software Readback: The [ROUTe:]CLOSe? command returns
the current software state of the channel(s) specified. It does not account
for relay hardware failures. A maximum of 127 channels at a time can be
queried for a multi-module switchbox.
Example Query Channel Closures
This example closes channels 10100 and 20013 of a two-module
switchbox and queries channel closure. Since the channels are
programmed to be closed, 1, 1 is returned as a string.
CLOS (@10100,20013)
!Close channels 10100 and
!20013. 10100 closes row 01,
!column 00 of card #1 and 20013
!closes row 00, column 13 on
!card #2.
CLOS? (@10100,20013) !Query channel closures
52 Relay Matrix Switch Command Reference Chapter 3
[ROUTe:]OPEN
[ROUTe:]OPEN <channel_list> opens the Relay Matrix Switch channels
specified by channel_list.
Parameters
Comments channel_list Form: For the E1468A, channel_list has the form (@ssrc)
where ss = card number (01-99), r = row number, and c = column
number. For the E1469A, channel_list has the form (@ssrrcc) where
ss = card number (01-99), rr = row number, and cc = column number.
Opening Channels (E1468A Only):
• For a single channel, use [ROUT:]OPEN (@ssrc)
• For multiple channels, use [ROUT:]OPEN (@ssrc,ssrc,...)
• For sequential channels, use [ROUT:]OPEN (@ssrc:ssrc)
• for groups of sequential channels use [ROUT:]OPEN
(@ssrc:ssrc,ssrc:ssrc).
You can use any combination of these commands. However, closure
order for multiple channels with a single command is not guaranteed.
Opening Channels (E1469A Only):
• For a single channel, use [ROUT:]OPEN (@ssrrcc)
• For multiple channels, use [ROUT:]OPEN (@ssrrcc,ssrrcc,...)
• For sequential channels, use [ROUT:]OPEN (@ssrrcc:ssrrcc)
• for groups of sequential channels use [ROUT:]OPEN
(@ssrrcc:ssrrcc,ssrrcc:ssrrcc).
You can use any combination of these commands. However, closure
order for multiple channels with a single command is not guaranteed.
Related Commands: [ROUTe:]CLOSe, [ROUTe:]OPEN?
*RST Condition: All channels open.
Example Opening Channels
This example opens channels 10100 and 20013 of a two-module
switchbox (card numbers 01 and 02).
OPEN (@10100,20013)
!Open channels 10100 and 20013
Name Type Range of Values Default Value
<channel_list> numeric E1468A: r = 0 to 7
c = 0 to 7
E1469A: rr = 00 to 03
cc =00 to 15
N/A
Relay Matrix Switch Command Reference 53 Chapter 3
[ROUTe:]OPEN?
[ROUTe:]OPEN? <channel_list> returns the current state of the channel(s)
queried. channel_list has the form (@ssrc) or (@ssrrcc) (see
[ROUTe:]OPEN for definition). The command returns 1 if channel(s) are
open or returns 0 if channel(s) are closed.
Comments Query is Software Readback: The [ROUTe:]OPEN? command returns the
current software state of the channels specified. It does not account for
relay hardware failures. A maximum of 127 channels at a time can be
queried for a multi-module switchbox.
Example Query Channel Open State
This example opens channels 10100 and 20013 of a two-module
switchbox and queries channel 20013 state. Since channel 20013 is
programmed to be open, 1 is returned.
OPEN (@10100,20013)
!Open channels 10100 and 20013
OPEN? (@20013) !Query channel open state
[ROUTe:]SCAN
[ROUTe:]SCAN <channel_list> defines the channels to be scanned.
Parameters
Comments channel_list Form: For the E1468A, channel_list has the form (@ssrc)
where ss = card number (01-99), r = row number, and c = column
number. For the E1469A, channel_list has the form (@ssrrcc) where
ss = card number (01-99), rr = row number, and cc = column number.
Defining Scan List: When [ROUTe:]SCAN is executed, the channel_list is
checked for valid card and channel numbers. An error is generated for
an invalid channel_list.
Name Type Range of Values Default Value
<channel_list> numeric E1468A: r = 0 to 7
c = 0 to 7
E1469A: rr = 00 to 03
cc =00 to 15
N/A
54 Relay Matrix Switch Command Reference Chapter 3
Scanning Channels (E1468A Only):
• For a single channel, use [ROUT:]SCAN (@ssrc)
• For multiple channels, use [ROUT:]SCAN (@ssrc,ssrc,...)
• For sequential channels, use [ROUT:]SCAN (@ssrc:ssrc)
• for groups of sequential channels use [ROUT:]SCAN
(@ssrc:ssrc,ssrc:ssrc).
You can use any combination of these commands. However, closure
order for multiple channels with a single command is not guaranteed.
Scanning Channels (E1469A Only):
• For a single channel, use [ROUT:]SCAN (@ssrrcc)
• For multiple channels, use [ROUT:]SCAN (@ssrrcc,ssrrcc,...)
• For sequential channels, use [ROUT:]SCAN (@ssrrcc:ssrrcc)
• for groups of sequential channels use [ROUT:]SCAN
(@ssrrcc:ssrrcc,ssrrcc:ssrrcc).
You can use any combination of these commands. However, closure
order for multiple channels with a single command is not guaranteed.
Scanning Operation: When a valid channel_list is defined,
INITiate[:IMMediate] begins the scan and closes the first channel in the
channel_list. Successive triggers from the source specified by
TRIGger:SOURce advance the scan through the channel_list. At the end
of the scan, the last trigger opens the last channel.
Stopping Scan: See ABORt.
Related Commands: TRIGger:SOURce
*RST Condition: All channels open.
Example Scanning Channels
This example sets the channels to be scanned from 100 to 200 for a
single-module switchbox and initiates the scan sequence.
SCAN (@100,200) !Set scan sequence from ch 100
through 200
INIT
!Begin scan and close ch 100
Relay Matrix Switch Command Reference 55 Chapter 3
STATus
The STATus subsystem reports the bit values of the Operation Status
Register (in the command module). It also allows you to unmask the bits
you want reported from the Standard Event Register and to read the
summary bits from the Status Byte register.
Subsystem Syntax STATus
:OPERation
:CONDition?
:ENABle <unmask>
:ENABle?
[:EVENt?]
:PRESet
The STATus system contains four software registers that reside in a
SCPI driver, not in the hardware (see Figure 3-1) Two registers are under
IEEE 488.2 control: the Standard Event Status Register (*ESE?) and the
Status Byte Register (*STB).
The Operational Status bit (OPR), Service Request bit (RSQ), Standard
Event summary bit (ESB), Message Available bit (MAV) and
Questionable Data bit (QUE) in the StatusByte Register (bits 7, 6, 5, 4
and 3 respectively) can be queried with the *STB? command.
Use the *ESE? command to query the unmask value for the Standard
Event Status Register (the bits you want logically OR’d into the summary
bit). The registers are queried using decimal weighted bit values. The
decimal equivalents for bits 0 through 15 are included in Figure 3-1.
A numeric value of 256 executed in a STATus:OPERation:ENABle
<unmask> command allows only bit 8 to generate a summary bit. The
decimal value for bit 8 is 256.
The decimal values are also used in the inverse manner to determine
which bits are set from the total value returned by an EVENt or
CONDition query. The SWITCH driver exploits only bit 8 of Operation
Status Register. This bit is called the Scan Complete bit which is set
whenever a scan operation completes. Since completion of a scan
operation is an event in time, bit 8 will never appear set when
STAT:OPER:COND? is queried. However, bit 8 is set with the
STAT:OPER:EVENt? query command.
56 Relay Matrix Switch Command Reference Chapter 3
STATus:OPERation:CONDition?
STATus:OPERation:CONDition? returns the state of the Condition
Register in the Operation Status Group. The state represents conditions
which are part of the instrument’s operation. The switch module driver
does not set bit 8 in this register (see STATus:OPERation[:EVENt]?).
Figure 3-1. E1468A/E1469A Status System Register Diagram
+
"OR"
3
4
5
6
"OR"
7
2
1
0
+
Power On
Command Error
Execution Error
Device Dependent Error
Query Error
Operation Complete
EV EN
Status
Byte
Request Service
Output Buffer
Standard Event Register
*SRE <unmask>
*SRE?
*STB?
Status Byte Register
QUE = Questionable Data
NOTE:
MAV = Message Available
ESB = Standard Event
RQS = Request Service
C = Condition Register
EV = Event Register
EN = Enable Register
<128>
<64>
<32>
<16>
<8>
<4>
<2>
<1>
<2>
<128>
<4>
<8>
<16>
<32>
<1>
RQS
ESB
MAV
1
7
6
3
5
4
2
0
unmask examples:
*ESE 61 unmasks standard event register bits 0,
2, 3, 4 and 5 (*ESE 128 only unmasks bit 7).
*SRE 128 unmasks the OPR bit (operation) in
the status byte register. This is effective
only if the STAT:OPER:ENAB 256 command
is executed.
STAT:QUES:ENAB 256 unmasks the "Scan Complete"
bit.
Operation Complete <128> 7
Register
bit
unmask
decimal
weight
+
"OR"
OPR
SRQ
SRQ = Sevice Request
SPOLL
*ESE?
*ESE <unmask>
*ESR?
EN
SRQ ROUTING
handled by your
application
program or
passed to the
controller via
GPIB
User Request
Request Control
Set by *OPC
Related Commands
are *OPC? and *WAI
Set by
Parser
Automatically
Automatically Set at
Power On Conditions
OPR
Bit
Summary
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
+
STATus:OPERation:CONDition?
STATus:OPERation:EVENt?
STATus:OPERation:ENABle
C EV EN
Operation status Register
<32768>
<16384>
<8192>
<4096>
<2048>
<1024>
<512>
<256>
<128>
<64>
<32>
<16>
<8>
<4>
<2>
<1>
"OR"
Scan
Complete
Summary
Bit
OPR = Operation Status
QUE
Relay Matrix Switch Command Reference 57 Chapter 3
STATus:OPERation:ENABle
STATus:OPERation:ENABle <unmask> sets an enable mask to allow
events recorded in the Event Register to send a summary bit to the
Status Byte Register (bit 7). For Relay Matrix Switch modules, when bit
8 in the Operation Status Register is set to 1 and is enabled by the
STAT:OPER:ENABle command, bit 7 in the Status Register is set to 1.
Parameters
Comments Setting Bit 7 of the Status Byte Register: STATus:OPERation:ENABle 256
sets bit 7 of the Status Byte Register to 1 after bit 8 of the Operation
Status Register is set to 1.
Related Commands: [ROUTe:]SCAN
Example Enabling Operation Status Register Bit 8
STAT:OPER:ENAB 256
!Enables bit 8 of the Operation
!Status Enable Register to be
!reported to bit 7 (OPR) in the
!Status Register.
STATus:OPERation:ENABle?
STATus:OPERation:ENABle? returns the bit value of the Operation Status
Register.
Comments Output Format: Returns a decimal weighted value from 0 to 65,535
indicating which bits are set to true.
Maximum Value Returned: The value returned is the value set by the
STAT:OPER:ENAB <unmask> command. However, the maximum
decimal weighted value used in this module is 256 (bit 8 set to true).
Example Query the Operation Status Enable Register
STAT:OPER:ENAB?
!Queries the Operation Status
!Enable Register
Name Type Range of Values Default Value
<unmask> numeric 0 through 65,535 N/A
58 Relay Matrix Switch Command Reference Chapter 3
STATus:OPERation[:EVENt]?
STATus:OPERation[:EVENt]? returns which bits in the Event Register
(Operation Status Group) are set. The Event Register indicates when
there has been a time-related instrument event.
Comments Setting Bit 8 of the Operation Status Register: Bit 8 (Scan Complete) is set
to 1 after a scanning cycle completes. Bit 8 returns to 0 (zero) after
sending the STATus:OPERation[:EVENt]? command.
Returned Data After Sending STATus:OPERation[:EVENt]? The command
returns +256 if bit 8 of the Operation Status Register is set to 1. The
command returns +0 if bit 8 of the Operation Status Register is set to 0.
Event Register Cleared: Reading the Event Register with the
STATus:OPERation[:EVENt]? command clears it.
ABORting a Scan: Aborting a scan will leave bit 8 set to 0.
Related Commands: [ROUTe:]SCAN
Example Reading the Operation Status Register After a Scanning Cycle
STAT:OPER?
!Returns the bit values of the
!Operation Status Register.
read the register value
!+256 shows bit 8 is set to 1.
!+0 shows bit 8 is set to 0.
STATus:PRESet
STATus:PRESet affects only the Enable Register by setting all Enable
Register bits to 0. It does not affect either the "status byte" or the
"standard event status". PRESet does not clear any of the Event
Registers.
Relay Matrix Switch Command Reference 59 Chapter 3
SYSTem
The SYSTem subsystem returns the error numbers and error messages
in the error queue of a switchbox and returns the types and descriptions
of modules (cards) in a switchbox.
Subsystem Syntax SYSTem
:CDEScription? <number>
:CPON <number> | ALL
:CTYPe? <number>
:ERRor?
SYSTem:CDEScription?
SYSTem:CDEScription? <number> returns the description of a selected
module (card) in a switchbox.
Parameters
Comments 8x8 Relay Matrix Module Description: SYSTem:CDEScription? <number>
returns: 8x8 Relay Matrix
4x16 Relay Matrix Module Description: SYST:CDEScription? <number>
returns: 4x16 Relay Matrix
Example Reading the Description of a Card #1 Module
SYST:CDES? 1
!Returns the description
SYSTem:CPON
SYSTem:CPON <number> | ALLsets the selected module (card) in a
switchbox to its power-on state.
Parameters
Name Type Range of Values Default Value
<number> numeric 1 through 99 N/A
Name Type Range of Values Default Value
<number> numeric 1 through 99 N/A
60 Relay Matrix Switch Command Reference Chapter 3
Comments Matrix Module Power-On State: The power-on state is all channels (relays)
open. *RST opens all channels of all modules in a switchbox, while
SYSTem:CPON <number> opens the channels in only the module (card)
specified in the command.
Example Setting Card #1 Module to Power-On State
SYST:CPON 1
! Sets module #1 to power-on
!state
SYSTem:CTYPe?
SYSTem:CTYPe? <number> returns the module (card) type of a selected
module in a switchbox.
Parameters
Comments 8x8 Relay Matrix Module Model Number: SYSTem:CTYPe? <number>
returns HEWLETT-PACKARD,El468A,0,A.02.00 , where the 0 after
E1468A is the module serial number (always 0) and A.02.00 is an
example of the module revision code number.
4x16 Relay Matrix Switch Module Model Number: SYSTem:CTYPe?
<number> returns HEWLETT-PACKARD,El469A,0,A.04.00,where
the 0 after E1469A is the module serial number (always 0) and A.04.00
is an example of the module revision code number.
Example Reading the Model Number of a Card #l Module
SYST:CTYP? 1
!Return the model number
SYSTem:ERRor?
SYSTem:ERRor? returns the error numbers and corresponding error
messages in the error queue of a switchbox. See Appendix C for a listing
of some switchbox error numbers and messages.
Comments Error Numbers/Messages in the Error Queue: Each error generated by a
switchbox stores an error number and corresponding error message in
the error queue. The error message can be up to 255 characters long.
Name Type Range of Values Default Value
<number> numeric 1 through 99 N/A
Relay Matrix Switch Command Reference 61 Chapter 3
Clearing the Error Queue: An error number/message is removed from the
queue each time the SYSTem:ERRor? command is sent. The errors are
cleared first-in, first-out. When the queue is empty, each following
SYSTem:ERRor? command returns 0, "No error". To clear all error
numbers/messages in the queue, execute the *CLS command.
Maximum Error Numbers/Messages in the Error Queue: The queue holds
a maximum of 30 error numbers/messages for each switchbox. If the
queue overflows, the last error number/message in the queue is replaced
by -350, "Too many errors". The least recent error numbers/messages
remain in the queue and the most recent are discarded.
Example Querying the Error Queue
SYST:ERR?
!Query the error queue
62 Relay Matrix Switch Command Reference Chapter 3
TRIGger
The TRIGger subsystem controls the triggering operation of relay matrix
modules in a switchbox.
Subsystem Syntax TRIGger
[:IMMediate]
:SOURce <source>
:SOURce?
TRIGger[:IMMediate]
TRIGger[:IMMediate] causes a trigger event to occur when the defined
trigger source is TRIGger:SOURce BUS or TRIGger:SOURce HOLD.
Comments Executing the TRIGger[:IMMediate] Command: A channel list must be
defined with [ROUTe:]SCAN<channel_list> and an INITiate[:IMMediate]
command must be executed before TRIGger[:IMMediate] will execute.
BUS or HOLD Source Remains: If selected, the TRIGger:SOURceBUS or
TRIGger:SOURceHOLD commands remain in effect after triggering a
switchbox with the TRIGger[:IMMediate] command.
Related Commands: INITiate, [ROUTe:]SCAN
Example Advancing Scan Using TRIGger Command
This example scans a single-module switchbox from channel 00 through
03. Since TRIGger:SOURce HOLD is set, the scan is advanced one
channel each time TRIGger is executed.
TRIG:SOUR HOLD !Sets trigger source to HOLD
SCAN (@10000:10003)
!Defines channel list
INIT
!Begin scan, close channel 00
loop statement !Start count loop
TRIG
!Advance scan to next channel
increment loop
!Increment loop count
Relay Matrix Switch Command Reference 63 Chapter 3
TRIGger:SOURce
TRIGger:SOURce <source> specifies the trigger source to advance the
channel list during scanning.
Parameters
Comments Enabling the Trigger Source: The TRIGger:SOURce command only
selects the trigger source. The INITiate[:IMMediate] command enables
the trigger source.
Using the TRIG Command: You can use TRIGger[:IMMediate] to advance
the scan when TRIGger:SOURceBUS or TRIGger:SOURceHOLD is
selected.
Using External Trigger Inputs: With TRIGger:SOURceEXTernal selected,
only one switchbox at a time can use the external trigger input at the
El406 Trig In port. The trigger input is assigned to the first switchbox that
requested the external trigger source (with a TRIGger:SOURceEXTernal
command).
Assigning External Trigger: A switchbox assigned with
TRIGger:SOURceEXTernal remains assigned to that source until the
switchbox trigger source is changed to BUS, ECLT, HOLD, IMMediate,
or TTLT. When the source is changed, the external trigger source is
available to the next switchbox which requests it (with a
TRIGger:SOURceEXTernal command). If a switchbox requests an
external trigger input already assigned to another switchbox, an error is
generated.
Using Bus Triggers: To trigger the switchbox with TRIGger:SOURceBUS
selected, use the IEEE 488.2 Common command *TRG or the GPIB
Group Execute Trigger (GET) command.
Trig Out Port Shared by Switchboxes: See the OUTPut command.
Related Commands: ABORt, [ROUTe:]SCAN, OUTPut
*RST Condition: TRIGger:SOURce IMMediate
Source Type Description Default
BUS discrete *TRG or GET command IMM
ECLTrgn numeric ECL Trigger bus line IMM
EXTernal discrete Trig In port IMM
HOLD discrete Hold Triggering IMM
IMMediate discrete Immediate Triggering IMM
TTLTrgn numeric TTL Trigger bus line <0 - 7> IMM
64 Relay Matrix Switch Command Reference Chapter 3
Example Scanning Using External Triggers
This example uses external triggering (TRIG:SOUR EXT) to scan
channels 00 through 03 switchbox. The trigger source to advance the
scan is the input to the Trig In port on the E1406 Command Module.
When INIT is executed, the scan is started and channel 00 is closed.
Then each trigger received at the Trig In port advances the scan to the
next channel.
TRIG:SOUR EXT
!Select external triggering
SCAN (@10000:10003) !Scan channels 00 through 03
INIT
!Begin scan, close channel 00
trigger externally
!Advance scan to next channel
Example Scanning Using Bus Triggers
This example uses bus triggering (TRIG:SOUR BUS) to scan channels
00 through 03 of switchbox. The trigger source to advance the scan is the
*TRG command (as set with TRIG:SOUR BUS). When INIT is executed,
the scan is started and channel 00 is closed. Then, each *TRG command
advances the scan to the next channel.
TRIG:SOUR BUS
!Select interface (bus) triggering
SCAN (@10000:10003)
!Scan channels 00 through 03
INIT !Start scan, close channel 00
loop statement
!Loop to scan all channels
*TRG
!Advance scan using bus
!triggering
increment loop !Increment loop count
TRIGger:SOURce?
TRIGger:SOURce? returns the current trigger source for the switchbox.
Command returns BUS, ECLT, EXT, HOLD, IMM, or TTLT for sources
BUS, ECLTrg, EXTernal, HOLD, IMMediate, or TTLTrg, respectively.
Example Query Trigger Source
This example sets external triggering and queries the trigger source.
Since external triggering is set, TRIG:SOUR? returns EXT.
TRIG:SOUR EXT !Set external trigger source
TRIG:SOUR?
!Query trigger source
Relay Matrix Switch Command Reference 65 Chapter 3
IEEE 488.2 Common Commands Quick Reference
The following table lists the IEEE 488.2 Common (*) commands that
apply to the Relay Matrix Switch modules. For more information on
Common Commands, see the ANSI/IEEE Standard 488.2-1987.
Command Command Description
*CLS Clears all status registers (see STATus:OPERation[:EVENt]?) and clears error queue.
*ESE<unmask> Enables Standard Event.
*ESE? Enables Standard Event Query.
*ESR? Standard Event Register Query.
*IDN? Instrument ID Query; returns identification string of the module.
*OPC Operation Complete.
*OPC? Operation Complete Query.
*RCL<n> Recalls the instrument state saved by *SAV. You must reconfigure the scan list.
*RST Resets the module. Opens all channels and invalidates current channel list for scanning.
Sets ARM:COUN 1, TRIG:SOUR IMM, and INIT:CONT OFF.
*SAV<n> Stores the instrument state but does not save the scan list.
*SRE<unmask> Service request enable, enables status register bits.
*SRE? Service request enable query.
*STB? Read status byte query.
*TRG Triggers the module to advance the scan when scan is enabled and trigger source is
TRIGger:SOURce BUS.
*TST? Self-test. Executes an internal self-test and returns only the first error encountered.
Does not return multiple errors. The following is a list of responses you can obtain where
“cc” is the card number with the leading zero deleted.
+0 if self test passes.
+cc01 for firmware error.
+cc02 for bus error (problem communicating with the module).
+cc03 for incorrect ID information read back from the module's ID register.
+cc10 if an interrupt was expected but not received.
+cc11 if the busy bit was not held for a sufficient amount of time.
*WAI Wait to Complete.
66 Relay Matrix Switch Command Reference Chapter 3
SCPI Commands Quick Reference
This table summarizes SCPI commands for the Relay Matrix Switch
modules.
Command Description
ABORt Aborts a scan in progress
ARM :COUNt <number> MIN |MAX
:COUNt? [MIN|MAX]
Multiple scans per INIT command
Queries number of scans
INITiate :CONTinuous ON | OFF
:CONTinuous?
[:IMMediate]
Enables/disables continuous scanning
Queries continuous scan state
Starts a scanning cycle
OUTPut :ECLTrgn[:STATe] ON|OFF|1|0
:ECLTrgn[:STATe]?
[:EXTernal][:STATe] ON|OFF|1|0
[:EXTernal][:STATe]?
:TTLTrgn[:STATe] ON|OFF|1|0
:TTLTrgn[:STATe]?
Enables/disables the specified ECL trigger line
Queries the specified ECL trigger line
Enables/disables the Trig Out port on the E1406
Queries the external state
Enables/disables the specified TTL trigger line
Queries the specified TTL trigger line
[ROUTe:] CLOSe <channel _list>
CLOSe? <channel _list>
OPEN <channel_list>
OPEN? <channel _list>
SCAN <channel_list>
SCAN:MODE NONE|VOLT
SCAN:MODE?
Closes channel(s)
Queries channel(s) closed
Opens channel(s)
Queries channel(s) opened
Defines channels for scanning
Sets scan mode (has no effect on Form C operation)
Queries the scan mode
STATus :OPERation:CONDition?
:OPERation:ENABle
:OPERation:ENABle?
:OPERation[:EVENt]?
:PRESet
Returns contents of the Operation Condition Register
Enables events in the Operation Event Register to be reported
Returns the mask value set by the :ENABle command
Returns the contents of the Operation Event Register
Enables Register bits to 0
SYSTem :CDEScription? <number>
:CTYPe? <number>
:CPON <number> |ALL
:ERRor?
Returns description of module in a switchbox
Returns the module type
Opens all channels on specified module(s)
Returns error number/message in a switchbox Error Queue
TRIGger [:IMMediate]
:SOURce BUS
:SOURce EXTernal
:SOURce HOLD
:SOURce IMMediate
:SOURce ECLTrgn
:SOURce TTLTrgn
:SOURce?
Causes a trigger to occur
Trigger source is *TRG
Trigger source is Trig In (on the command module)
Holds off triggering
Trigger source is the internal triggers
Trigger is the VXIbus ECL trigger bus line n
Trigger is the VXIbus TTL trigger bus line n
Queries scan trigger source
Relay Matrix Switch Specifications 67 Appendix A
Appendix A
Relay Matrix Switch Specifications
Input Characteristics
Maximum Voltage Terminal to Terminal:
220 Vdc; 250 V
rms
Maximum Voltage Terminal to Chassis:
220 Vdc; 250 V
rms
Maximum Current per Channel (non-inductive):
1 Adc or ac
rms
(Vmax <30 Vdc or V
rms
)
0.3 Adc or ac
rms
(Vmax <220 Vdc or 250 V
rms
)
Maximum Power per Channel:
40VA
DC Performance
Thermal Offset per Channel:
<7V (differential H-L)
Closed Channel Resistance:
<1.5 initially
<3.5 at end of relay life
Insulation Resistance (between any two points):
5x10
6
at 40C, 95% RH
5x10
8
at 25C, 40% RH
AC Performance
Bandwidth (-3dB):
1
Z(load) = Z(source) = 50
2-Wire mode (4x16): >10 MHz
1-Wire mode (1x128): >3 MHz
Crosstalk Between Channels @10 kHz:
2-Wire mode (4x16): <-90 dB
1-Wire mode (1x128): <-60 dB
Open Channel Capacitance
(channel to channel, channel to common):
2-Wire mode (4x16): <-90 dB
1-Wire mode (1x128): <-60 dB
Closed Channel Capacitance (Hi-Lo, Lo-Chassis):
650/700 pF
General
Module Size / Device Type:
C-size VXIbus, Register based, A16/D16
Interrupter (levels 1-7, jumper selectable)
Power Requirements:
Voltage: +5 V +24 V
Peak Module Current (A) 0.10 0.13
Dynamic Module Current (A) 0.10 0.02
Relay Life:
2
@ No Load: 5x10
6
Operations
@ Full Load: 10
5
Operations
Watts/slot:
5.0
Cooling/slot:
0.08 mm H20 @ 0.42 liter/sec
Terminals:
Screw type, maximum wire size 16AWG
Operating Temperature: 0 - 55C
Operating Humidity: 65% RH, 0 - 40C
Net Weight (kg): 1.6
1 The -3 dB BW is typically >25 MHz
2 Relays are subject to normal wear-out based on the number of operations.
68 Relay Matrix Switch Specifications Appendix A
Notes:
Register-Based Programming 69 Appendix B
Appendix B
Register-Based Programming
About This Appendix
This appendix contains the information you can use for register-based
programming of the E1468A/E1469A Relay Matrix Switch modules.
The contents include:
• Register Addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
• Reading the Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
• Writing to the Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
Register Addressing
The E1468A/E1469A Relay Matrix Switch modules are register-based
modules that do not support the VXIbus word serial protocol. When a
SCPI command is sent to the modules, the instrument driver resident in
the command module parses the command and programs the module at
the register level.
Addressing
Overview
Register-based programming is a series of reads and writes directly to the
module registers. This can increase throughput speed since it eliminates
command parsing and allows the use of an embedded controller. It also
allows use of an alternate VXI controller, eliminating the command module.
To access a specific register for either read or write operations, the address
of the register must be used. Register addresses for the plug-in modules are
in an address space known as VXI A16. The exact location of A16 within a
VXIbus master’s memory map depends on the design of the VXIbus master
you are using. For the E1406 Command Module, the A16 space location
starts at 1F0000
16
.
The A16 space is further divided so that the modules are addressed only at
locations above 1FC000
16
within A16. Every module is allocated 64 register
addresses (40
16
). The address of a module is determined by its logical
address (set by the address switches on the module) times 64 (40
16
).
For the E1468A/E1469A modules, the factory setting is 112 (70
16)
, so the
addresses start at 1C00
16
.
Register addresses for register-based devices are located in the upper 25%
of VXI A16 address space. Every VXI device (up to 256) is allocated a 64
byte block of addresses. Figure B-1 shows the register address location
within A16. Figure B-2 shows the location of A16 address space in the
E1406 Command Module.
70 Register-Based Programming Appendix B
The Base Address When you are reading or writing to a module register, a hexadecimal or
decimal register address is specified. This address consists of a base
address plus a register offset. The base address used in register-based
programming depends on whether the A16 address space is outside or
inside the E1406 Command Module.
REGISTER
ADDRESS
SPACE
A16
ADDRESS
SPACE
ID Register
Device Type Register
Status/Control Register
*
E1468A/E1469A
A16 Register Map
FFFF
16
C000
16
(49,152)
FFFF
16
COOO
16
OOOO
16
Base Address = COOO
16
+ (Logical Address 64)
16 *
49,152 + (Logical Address 64)
10
or
Register Address = Base address + Register Offset
*
*
00
16
02
16
04
16
16-BIT WORDS
OFFSET
REGISTER
3E
16
3C
16
A16
ADDRESS
SPACE
A24
ADDRESS
SPACE
E1406A
Address Map
SPACE
ADDRESS
REGISTER
Base Address = IFC000
16
+ (Logical Address 64)
16 *
2,080,768 + (Logical Address 64)
10
or
Register Address = Base address + Register Offset
*
*
16
200000
IFCOOO
16
200000
16
IFOOOO
16
*
16
(2,080,768)
IFCOOO
FFFFFF
16
EOOOOO
16
200000
16
IF0000
16
000000
16
A16 Register Map
E1468/E1469A
Status/Control Register
Device Type Register
16
04
02
00
16
16
3C
16
3E
REGISTER
OFFSET
16
ID Register
16-BIT WORDS
Figure B-1. Register Address Locations Within VXI A16
Figure B-2. A16 Address Space in the E1406 Command Module
Register-Based Programming 71 Appendix B
A16 Address Space
Outside the Command
Module
When the E1406 Command Module is not part of your VXIbus system, the
E1468A/E1469A base address is computed as:
A16
base
= 1FC000
16
+ (LADDR
16
* 64
16
)
or (decimal)
A16
base
= 2,080,768 + (LADDR * 64)
where 1FC000
16
(2,080,768) is the starting location of the register
addresses, LADDR is the module’s logical address, and 64 is the number
of address bytes per VXI device.
For example, a Relay Matrix Switch module’s Status/Control Register has
an offset of 04
16
. When you write to or read from this register, the offset is
added to the base address to form the register address (using a logical
address of 112):
register address = base address + register offset
= 1FC000
16
+ (112 * 64)
16
+ 04
16
= 1FC000
16
+ 1C00
16
+ 04
16
= 1FDC04
16
or
= 2,080,768 + (112 * 64) + 4
= 2,080,768 + 7168 + 4 = 2,087,940
A16 Address Space
Inside the Command
Module or Mainframe
When the A16 address space is inside the E1406 Command Module,
the E1468A/E1469A base address is computed as:
1FC000
16
+ (LADDR
16
* 64
16
)
or (decimal)
2,080,768 + (LADDR * 64)
where 1FC000
h
(2,080,768) is the starting location of the VXI A16
addresses, LADDR is the module’s logical address, and 64 is the number
of address bytes per register-based device. The E1468A/E1469A
factory-set logical address is 112. If this address is not changed, the
module will have a base address of:
1FC000
16
+ (70
16
* 40
16
) = 1FC000
16
+ 1C00
16
= 1FDC00
16
or (decimal)
2,080,768 + (112 * 64) = 2,080,768 + 7168 = 2,087,936
72 Register-Based Programming Appendix B
Register Definitions You can program the E1468A/E1469A modules using their hardware
registers. The procedures for reading or writing to a register depend on your
operating system and programming language. Whatever the access
method, you will need to identify each register with its address.
Reading the Registers
Figures 1-1 and 1-2 (see Chapter 1) show the channels grouped by banks.
You can read these Relay Matrix Switch registers:
• Manufacturer ID Register (base + 00
16
)
• Device Type Register (base + 02
16
)
• Status/Control Register (base + 04
16
)
• Bank 0 Relay Control Register (base + 20
16
)
• Bank 1 Relay Control Register (base + 22
16
)
• Bank 2 Relay Control Register (base + 24
16
)
• Bank 3 Relay Control Register (base + 26
16
)
• Bank 4 Relay Control Register (base + 28
16
)
• Bank 5 Relay Control Register (base + 2A
16
)
• Bank 6 Relay Control Register (base + 2C
16
)
• Bank 7 Relay Control Register (base + 2E
16
)
• Channels 0990 - 0996 Relay Control Register (base + 30
16
)
Manufacturer
Identification
Register
The Manufacturer Identification Register is a read-only register at address
00
h
(Most Significant Byte (MSB)) and 01
h
(Least Significant Byte (LSB)).
Reading this register returns the Hewlett-Packard identification, FFFF
16
.
E1468A/E1469A Register Map
Register Name Type Address
Manufacturer ID Read Only base + 00
16
Device Type Read Only base + 02
16
Status/Control Read/Write base + 04
16
Bank 0 Relay Control Register Read/Write base + 20
16
Bank 1 Relay Control Register Read/Write base + 22
16
Bank 2 Relay Control Register Read/Write base + 24
16
Bank 3 Relay Control Register Read/Write base + 26
16
Bank 4 Relay Control Register Read/Write base + 28
16
Bank 5 Relay Control Register Read/Write base + 2A
16
Bank 6 Relay Control Register Read/Write base + 2C
16
Bank 7 Relay Control Register Read/Write base + 2E
16
Channels 0990 - 0996 Relay Control Read/Write base + 30
16
Register-Based Programming 73 Appendix B
Device
Identification
Register
The Device Identification Register is a read-only register accessed at
address 02
16
. Reading this register returns module identification of 256
(0100
16
) for an E1468A/E1469A module.
Status/Control
Register
The Status/Control Register informs the user about the module’s status and
configuration. Each relay requires about 12 msec execution time during
which time the modules are "busy". Bit 7 of this register is used to inform the
user of a "busy" condition. The interrupt generated after a channel has been
closed can be disabled. Bit 6 of this register is used to inform the user of the
interrupt status.
In addition, if a terminal module is connected to the switch module, the
present configuration of the terminal module’s status bit can be read. Bits
10, 11, 12, and 13 of this register are used to determine the configuration of
the terminal module. For example, if the Relay Matrix Switch module is not
busy (bit 7), the interrupt is enabled (bit 6), then a read of the Status/Control
Register (base + 04
16
) returns DBBF.
Relay Control
Registers
Reading these registers always returns FFFF
16
.
Writing to the Registers
You can write to these Relay Matrix Switch module registers:
• Status/Control Register (base + 04
16
)
• Bank 0 Relay Control Register (base + 20
16
)
• Bank 1 Relay Control Register (base + 22
16
)
• Bank 2 Relay Control Register (base + 24
16
)
• Bank 3 Relay Control Register (base + 26
16
)
• Bank 4 Relay Control Register (base + 28
16
)
• Bank 5 Relay Control Register (base + 2A
16
)
• Bank 6 Relay Control Register (base + 2C
16
)
• Bank 7 Relay Control Register (base + 2E
16
)
• Channels 0990 - 0996 Relay Control Register (base + 30
16
)
Status/Control
Register
Writes to the Status/Control Register (base + 04
16
) enable you to
disable/enable the interrupt generated when channels are closed. Writing a
1 to bit 0 of the Status/Control Register (base + 04
16
) does not change the
state of the latching relays (individual channel relays). Writing a 1 to this bit
has the same effect as removing power from the cardcage. Since the relays
are latching relays, they do not change state.
NOTE It is necessary to write a 0 to bit 0 after the reset has been performed
before any other commands can be programmed and executed. SCPI
commands take care of this automatically.
74 Register-Based Programming Appendix B
To disable the interrupt generated when channels are closed, write a 1 to
bit 6 of the Status/Control Register (base + 04
16
).
NOTE Typically, interrupts are only disabled to "peek-poke" a module. Refer to
the operating manual of the command module before disabling the
interrupt.
Relay Control
Registers
Writes to the Relay Control Registers (base + 20
16
to base + 30
16
) enable
you to switch desired channels. Figures 1-1 and 1-2 (see Chapter 1) show
the schematics for the modules and the bank, row, and column information.
Any number of relays per bank can be closed at a time.
Manufacturer ID Register
base + 00
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write Undefined
Read* Manufacturer ID
*Returns FFFF
16
= Hewlett-Packard A16 only register based.
Device Type Register
base + 02
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write Undefined
Read 0100
16
Status/Control Register
base + 04
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write* Undefined D Undefined R
Read** Undefined S4 S3 S2 S1 Undefined B D Undefined
*R = Latching relays stay in their current state.
*D = Disable interrupt by writing 1 in bit #6.
**B = Status "busy" is 0 in bit #7.
**D = Status "Interrupt disable" is 1 in bit #6.
**S4 -S1 = Status "Configuration Status bits" hardwired onto the terminal modules.
S4 S3 S2 S1
0 1 1 0 = E1469A 4x16 Matrix
0 1 0 1 = E1468A 8x8 Matrix
Register-Based Programming 75 Appendix B
Bank 0 Relay Control Register
base + 20
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write* Undefined CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0
Read Always Returns FFFF
16
*Writes a 1 to close channel.
Bank 1 Relay Control Register
base + 22
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write* Undefined CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0
Read Always Returns FFFF
16
*Writes a 1 to close channel.
Bank 2 Relay Control Register
base + 24
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write* Undefined CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0
Read Always Returns FFFF
16
*Writes a 1 to close channel.
Bank 3 Relay Control Register
base + 26
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write* Undefined CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0
Read Always Returns FFFF
16
*Writes a 1 to close channel.
Bank 4 Relay Control Register
base + 28
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write* Undefined CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0
Read Always Returns FFFF
16
*Writes a 1 to close channel.
76 Register-Based Programming Appendix B
Bank 6 Relay Control Register
base + 2C
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write* Undefined CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0
Read Always Returns FFFF
16
*Writes a 1 to close channel.
Bank 7 Relay Control Register
base + 2E
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write* Undefined CH7 CH6 CH5 CH4 CH3 CH2 CH1 CH0
Read Always Returns FFFF
16
*Writes a 1 to close channel.
Channels 0990 - 0996 Relay Control Register
base + 30
16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Write* Undefined CH6 CH5 CH4 CH3 CH2 CH1 CH0
Read Always Returns FFFF
16
*Writes a 1 to close channel.
Relay Matrix Switch Error Messages 77 Appendix C
Appendix C
Relay Matrix Switch Error Messages
This table lists the error messages associated with the Relay Matrix Switch
modules when programmed with SCPI. See the appropriate command
module user’s manual for complete information on error messages.
Number Title Potential Cause(s)
-211 Trigger ignored Trigger received when scan not enabled. Trigger received after scan
complete. Trigger too fast.
-213 Init Ignored Attempting to execute an INIT command when a scan is already in
progress.
-224 Illegal parameter value Attempting to execute a command with a parameter not applicable to the
command.
-350 Too many errors. The queue holds a maximum of 30 error numbers/messages for each
switchbox. The queue has overflowed.
1500 External trigger source
already allocated
Assigning an external trigger source to a switchbox when the trigger
source has already been assigned to another switchbox.
2000 Invalid card number Addressing a module (card) in a switchbox that is not part of the
switchbox.
2001 Invalid channel number Attempting to address a channel of a module in a switchbox that is not
supported by the module (e.g.,, channel 99 of a multiplexer module).
2006 Command not supported
on this card
Sending a command to a module (card) in a switchbox that is
unsupported by the module.
2008 Scan list not initialized Executing a scan without the INIT command.
2009 Too many channels in
channel list
Attempting to address more channels than available in the switchbox.
2012 Invalid Channel Range Invalid channel(s) specified in SCAN <channel_list> command.
Attempting to begin scanning when no valid channel list is defined.
2600 Function not supported on
this card
Sending a command to a module (card) in a switchbox that is not
supported by the module or switchbox.
2601 Channel list required Sending a command requiring a channel list without the channel list.
78 Relay Matrix Switch Error Messages Appendix C
Notes:
Relay Life 79 Appendix D
Appendix D
Relay Life
Replacement Strategy
Electromechanical relays are subject to normal wear-out. Relay life depends
on several factors. The replacement strategy depends on the application. If
some relays are used more often or at a higher load than other relays, the
relays can be individually replaced as needed.
If all relays see similar loads and switching frequencies, the entire circuit
board can be replaced when the end of relay life approaches. The sensitivity
of the application should be weighed against the cost of replacing relays with
some useful life remaining.
NOTE Relays that wear out normally or fail due to misuse should not be
considered defective and are not covered by the product's warranty.
Relay Life Factors
Some effects of loading and switching frequency on relay life follow.
• Relay Load. In general, higher power switching reduces relay life.
In addition, capacitive/inductive loads and high inrush currents
(for example, turning on a lamp or starting a motor) reduces relay
life. Exceeding specified maximum inputs can cause catastrophic
failure.
• Switching Frequency. Relay contacts heat up when switched. As
the switching frequency increases, the contacts have less time to
dissipate heat. The resulting increase in contact temperature also
reduces relay life.
End-of-Life Determination
A preventive maintenance routine can prevent problems caused by
unexpected relay failure. The end of life of a relay can be determined by
using one or more of three methods: contact resistance maximum value,
contact resistance variance, and/or number of relay operations. The best
method (or combination of methods), as well as the failure criteria, depends
on the application in which the relay is used.
80 Relay Life Appendix D
• Contact Resistance Maximum Value. As the relay begins to wear
out, its contact resistance increases. When the resistance
exceeds a predetermined value, the relay should be replaced.
• Contact Resistance Variance. The stability of the contact resistance
decreases with age. Using this method, the contact resistance is
measured several (5-10) times, and the variance of the
measurements is determined. An increase in the variance
indicates deteriorating performance.
• Number of Relay Operations. Relays can be replaced after a
predetermined number of contact closures. However, this method
requires knowledge of the applied load and life specifications for
the applied load.
Index 81
Index
E1468A/E1469A Relay Matrix Switch User’s Manual
A
ABORt subsystem, 40
addressing registers, 69
ARM subsystem, 41
ARM:COUNt, 41
ARM:COUNt?, 42
B
base address, register, 70
C
cautions, 15
checking module identification, 33
command reference, 39
common commands
*CLS, 65
*ESE, 65
*ESE?, 65
*ESR?, 65
*IDN?, 65
*OPC, 65
*OPC?, 65
*RCL, 65
*RST, 65
*SAV, 65
*SRE, 65
*SRE?, 65
*STB?, 65
*TRG, 65
*TST?, 65
*WAI, 65
format, 37
quick reference, 65
configuring the switches, 15
connector pinouts, 11
D
declaration of conformity, 9
detecting error conditions, 35
Device Identification register, 73
documentation history, 8
E
error messages, 77
examples
Advancing Scan Using TRIGger, 62
Closing Switch Channels, 51
E (continued)
examples (cont’d)
Enabling a Single Scan, 44
Enabling Continuous Scanning, 44
Enabling ECL Trigger Bus Line 0, 46
Enabling Operation Status Register Bit 8, 57
Enabling Trig Out Port, 47
Enabling TTL Trigger Bus Line 7, 48
Identifying Relay Matrix Switch Modules, 33
Illegal Channel Closure Error, 35
initial operation, 29
Opening Channels, 52
Opening/Closing Rows/Columns, 34
Querying Channel Closures, 51
Querying Channel Open State, 53
Querying Continuous Scanning State, 44
Querying ECL Trigger Bus Enable State, 46
Querying Number of Scans, 42
Querying Operation Status Enable Register, 57
Querying Trig Out Port Enable State, 47
Querying Trigger Source, 64
Querying TTL Trigger Bus Enable State, 49
Querying the Error Queue, 61
Reading Card #1 Model Number, 60
Reading Card#1 Description, 59
Reading the Operation Status Register, 58
Saving and Recalling States, 35
Scanning Channels, 54
Scanning Using Bus Triggers, 64
Scanning Using External Triggers, 64
Sequencing Channels (E1468A), 34
Sequencing Channels (E1469A), 34
Setting Card #1 Module to Power-On State, 60
Setting Ten Scanning Cycles, 41
Stopping a Scan with ABORt, 40
Synchronizing a Relay Matrix Switch, 36
Using Interrupts to Signal Errors, 35
I
initial operation, 29
INITiate subsystem
INITiate:CONTinuous, 43
INITiate:CONTinuous?, 44
INITiate[:IMMediate], 44
installing switches, 18
interrupt priority, setting, 17
82 Index
L
linking commands, 39
logical address switch, setting, 16
M
Manufacturer ID register, 72
matrixes,creating larger, 23
O
OUTPut subsystem
OUTPut:ECLTrg[:STATe], 45
OUTPut:ECLTrg[:STATe]?, 46
OUTPut[:EXTernal][:STATe], 46
OUTPut[:EXTernal][:STATe]?, 47
OUTPut:TTLTrg[:STATe], 48
OUTPut:TTLTrg[:STATe]?, 49
P
power-on/reset conditions, 32
programming
addressing switches, 28
register-based, 69
using SCPI, 28
Q
querying switches, 32
R
recalling/saving states, 34
register-based programming, 69
registers
addressing, 69
base address, 70
Device Identification, 73
Manufacturer ID, 72
Relay Control, 74
Status/Control, 73
relay control registers, 74
relay life, 79
relay matrix switches
addressing, 28
checking module identification, 33
commands, 31
configuring, 15
connector pinouts, 11
description, 11
detecting error conditions, 35
error messages, 77
initial operation, 29
installing, 18
power-on/reset conditions, 32
programming, 28
querying, 32
specifications, 67
switching channels, 33
synchronizing, 36
relays
end-of-life determination, 79
life factors, 79
replacement strategy, 79
restricted rights statement, 7
[ROUTe:] subsystem
[ROUTe:]CLOSe, 50
[ROUTe:]CLOSe?, 51
[ROUTe:]OPEN, 52
[ROUTe:]OPEN?, 53
[ROUTe:]SCAN, 53
S
safety symbols, 8
SCPI commands
command reference, 39
quick reference, 66
SCPI, using, 28
setting logical address switch, 16
specifications, 67
Status register switch, setting, 16
status/control register, 73
STATus subsystem
STATus:OPERation:CONDition?, 56
STATus:OPERation:ENABle, 57
STATus:OPERation:ENABle?, 57
STATus:OPERation[:EVENt]?, 58
STATus:PRESet, 58
switch descriptions, 11
switching channels, 33
synchronizing switches, 36
SYSTem subsystem
SYSTem:CDEScription?, 59
SYSTem:CPON, 59
SYSTem:CTYPe?, 60
SYSTem:ERRor?, 60
T
terminal modules
attaching to relay switch module, 27
configuring/wiring, 20
TRIGger subsystem
TRIGger:SOURce, 63
TRIGger:SOURce?, 64
TRIGger[:IMMediate], 62
W
WARNINGS, 8, 15
warranty statement, 7