Agilent Technologies E1465A/E1466A/E1467A Relay Matrix Switch Modules User’s Manual Manual Part Number: E1465-90013 Printed in U.S.A.
Contents E1465A/E1466A/E1467A Relay Matrix Switch Modules User’s Manual Front Matter....................................................................................................................... 7 Agilent Technologies Warranty Statement ................................................................... 7 U.S. Government Restricted Rights ............................................................................. 7 Safety Symbols ..................................................................
Scanning Channels .................................................................................................... 39 Example: Scanning Channels Using TTL Triggers (BASIC) ............................... 39 Example: Scanning Using Trig In/Out Ports (BASIC) ........................................ 41 Querying Matrix Modules ........................................................................................... 42 Example: Querying Channel Closure (BASIC) ..............................................
STATus:OPERation[:EVENt]? ............................................................................ 71 STATus:PRESet ................................................................................................. 71 SYSTem ..................................................................................................................... 72 SYSTem:CDEScription? ..................................................................................... 72 SYSTem:CPON .........................................
AGILENT TECHNOLOGIES WARRANTY STATEMENT AGILENT PRODUCT: E1465A/E1466A/E1467A Relay Matrix Switch Modules DURATION OF WARRANTY: 3 years 1. Agilent Technologies warrants Agilent hardware, accessories and supplies against defects in materials and workmanship for the period specified above. If Agilent receives notice of such defects during the warranty period, Agilent will, at its option, either repair or replace products which prove to be defective. Replacement products may be either new or like-new. 2.
Documentation History All Editions and Updates of this manual and their creation date are listed below. The first Edition of the manual is Edition 1. The Edition number increments by 1 whenever the manual is revised. Updates, which are issued between Editions, contain replacement pages to correct or add additional information to the current Edition of the manual. Whenever a new Edition is created, it will contain all of the Update information for the previous Edition.
DECLARATION OF CONFORMITY According to ISO/IEC Guide 22 and CEN/CENELEC EN 45014 Manufacturer’s Name: Manufacturer’s Address: Agilent Technologies, Inc. Basic, Emerging and Systems Technologies Product Generation Unit 815 14th Street S.W. Loveland, CO 80537 USA Declares, that the product Product Name: Model Number: Product Options: Relay Matrix Switch Modules E1465A/E1466A/E1467A This declaration includes all options of the above product(s).
Notes: 10
Chapter 1 Getting Started Using This Chapter This chapter gives guidelines to get started using the E1465A, E1466A, and E1467 Relay Matrix Switch Modules (matrix modules), including: • Matrix Modules Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 • Programming the Matrix Modules. . . . . . . . . . . . . . . . . . . . . . .
MATRIX MODULE TERMINAL MODULE A B C D Figure 1-1.
MATRIX MODULE TERMINAL MODULE A B C D Figure 1-2.
MATRIX MODULE TERMINAL MODULE A B C D Figure 1-3.
Programming the Matrix Modules There are several ways you can program the matrix modules. One way is to write directly to the registers. This method can provide better throughput speed, but requires more knowledge of the matrix design. See Appendix B for information on register-based programming. Another way to program the matrix module is to use a command module and Standard Commands for Programmable Instruments (SCPI).
Table 1-1.
Example: Closing Relays (Turbo C) This example assumes a PC with a GPIB Interface card (with command library) running Borland Turbo C. The program closes row 03, column 12 of an E1465A 16x16 matrix module at logical address 120 (secondary address = 120/8 = 15) and queries the result. The result is returned to the controller and displayed (1 = relay closed, 0 = relay open). See Chapter 4 for information on the SCPI commands. #include #include
Notes: 18 Getting Started Chapter 1
Chapter 2 Configuring the Matrix Modules Using This Chapter This chapter gives guidelines to connect external wiring to the E1465A, E1466A, and E1467A Relay Matrix Switch modules (matrix module) and shows how to connect multiple modules together to form larger matrixes. This chapter includes: • WARNINGS and CAUTIONS . . . . . . . . . . . . . . . . . . . . . . . . . .19 • Configuring the Switch Module . . . . . . . . . . . . . . . . . . . . . . . . .20 • Configuring the Terminal Modules . . . . . . . . . .
Configuring the Switch Module This section gives guidelines to configure the E1465A/E1466A/E1467A switch module, including: • Switch Module Connectors • Setting the Logical Address Switch • Setting the Interrupt Level • Installing the Switch Module in a Mainframe Switch Module Connectors Figure 2-1 shows the front panel of the E1465/66/67A switch module and the connector pin-out that mates to the terminal module.
Setting the Logical Address Switch The logical address switch (LADDR) factory setting is 120. Valid address values are from 1 to 255. The matrix module can be configured as a single instrument or as a switchbox. See Figure 2-2 for switch position information. NOTE The address switch selected value must be a multiple of 8 if the module is the first module in a switchbox used with a VXIbus command module and is being instructed by SCPI commands.
NOTE When the E1406A Command Module is the resource manager, the interrupt line jumper must be installed in position 1. However, if you are using an embedded computer with the E1406A Command Module, interrupt line 2 should be selected. The Level X interrupt line should not be used under normal operating conditions. Using 2-Pin Jumper Using 4-Pin Jumper IRQ IRQ 7 6 7 6 5 4 3 2 1 X 5 4 3 2 1 X Logical Address Switch Location Interrupt Priority Location Figure 2-3.
Installing the Switch Module in a Mainframe 1 E1465/66/67A Relay Matrix Switch modules may be installed in any slot (except slot 0) in a C-size VXIbus mainframe. See Figure 2-4 to install the module in a mainframe. Set the extraction levers out. 2 Slide the module into any slot (except slot 0) until the backplane connectors touch. Extraction Levers 3 4 Seat the module into the mainframe by pushing in the extraction levers. Tighten the top and bottom screws to secure the module to the mainframe.
Configuring the Terminal Modules This section gives guidelines to configure the E1465A/E1466A/E1467A terminal modules, including: • Terminal Module Connectors • Wiring Terminal Modules • Connecting Terminal Modules to the Switch Module Terminal Module Connectors Figure 2-5 shows the E1465A terminal module connectors and associated row/column designators. Figure 2-6 shows the E1466A terminal module connectors and associated row/column designators.
Columns (00-31) Rows (00-03) Daisy Chain Rows for Expansion Columns (32-63) Figure 2-6.
Rows (00-07) Columns (00-15) Columns (16-31) Daisy Chain Rows for Expansion Figure 2-7.
Wiring the Terminal Modules Figures 2-8 and 2-9 give guidelines to connect user wiring to the terminal module assembly. Expansion connectors allow you to create larger matrixes. See "Configuring Larger Matrixes" for details. User wiring to the matrix modules is to the High (H) and Low (L) terminal connections. Maximum terminal wire size is No. 16 AWG. Wire ends should be stripped 6 mm (0.25 in.) and tinned. When wiring all channels, use a smaller gauge wire (No. 20 - 22 AWG). 1 2 Remove clear cover.
5 6 Replace wiring exit panel. Replace clear cover. A. Hook in the top cover tabs onto the fixture. B. Press down and tighten screws. Cut required holes in panels. for wire exit Keep wiring exit panel hole as small as possible. Figure 2-9.
Attaching the Terminal Modules to the Switch Module Figure 2-10 shows how to attach the E1465A, E1466A, or E1467A terminal modules to the switch module. 1 Extend the extraction levers on the terminal module. 3 Apply gentle pressure to attach the terminal module to the Relay Matrix Switch Module. 2 Align the terminal module connectors to the Relay Marix Switch Module. 4 Push in the extraction levers to lock the terminal module onto the Relay Matrix Switch Module.
Configuring Larger Matrixes This section gives guidelines to create larger matrixes, including: • Creating Larger Matrixes • Creating a 32x32 Matrix • Creating a 4x256 Matrix • Creating an 8x96 Matrix • Creating Larger Matrixes with Multiple Mainframes Creating Larger Matrixes You can create larger matrixes with the matrix modules by using the E1466-80002 Daisy Chain Expansion cable. With larger matrixes, more crosspoints become available. A C-Size mainframe can have up to 3,072 two-wire crosspoints.
E1465A TERMINAL MODULES Daisy Chain Cable Daisy Chain Rows (00-07) Rows (00-07) MODULE 1 MODULE 2 Daisy Chain Columns (16-31) Daisy Chain Columns (00-15) Rows (08-15) Daisy Chain Rows (08-15) Daisy Chain Rows (16-23) Rows (16-23) MODULE 3 MODULE 4 Daisy Chain Columns (00-15) Daisy Chain Rows (24-31) Daisy Chain Columns (16-31) Rows (24-31) Figure 2-11.
Creating a 4x256 Matrix Figure 2-12 shows how to connect four E1466A 4x64 modules to create a 4-row by 256-column matrix. This configuration requires three E1466-80002 Daisy Chain Expansion cables. The daisy chain rows of the first module are connected to the rows of the next module. The daisy chain rows of the second module are then connected to the rows of the next module, etc.
Creating an 8x96 Matrix Figure 2-13 shows how to connect three E1467A 8x32 modules to create an 8-row by 96-column matrix. This configuration requires four E1466-80002 Daisy Chain Expansion cables. The daisy chain rows of the first module are connected to the rows of the next module. The daisy chain rows of the second module are then connected to the rows of the next module, etc. You can continue this pattern to create even larger matrixes. For example, to connect row 4 to column 32, use CLOSe (@20400).
Creating Larger Matrixes with Multiple Mainframes Figure 2-14 shows one way to connect C-Size mainframes together using GPIB. The matrix switch modules in each mainframe are then configured as switchboxes. The switchbox card numbers are 1, 2, 3, etc. in each mainframe and each mainframe has a different address.
Chapter 3 Using the Matrix Modules Using This Chapter This chapter uses typical examples to show ways to use the E1465A, E1466A, and E1467A Relay Matrix Switch modules (matrix modules). See Chapter 4 for command information. Chapter contents are: • Matrix Modules Commands . . . . . . . . . . . . . . . . . . . . . . . . . . .35 • Power-on and Reset Conditions . . . . . . . . . . . . . . . . . . . . . . . .36 • Matrix Modules Identification . . . . . . . . . . . . . . . . . . . . . . . . . .
Power-on and Reset Conditions The matrix modules use latching relays and the relay state remains unchanged during power-up and power-down. However, if an E1406A Command Module is used, the firmware opens all relays during power-up and a when *RST (reset) is executed. See Table 3-2 for default values. Table 3-2.
Example: Matrix Module Identification (TURBO C) #include #include #define #define #define #define #define /*Include file for GPIB*/ ISC 7L MATRIX 70915L /*Matrix default address*/ TASK1 "*RST;*CLS;*IDN?" /*Reset, clear, and query id*/ TASK2 "SYST:CDES? 1" /*Command for card description*/ TASK3 "SYST:CTYP? 1" /*Command for card type*/ main( ) { char into1[51], into2[51], into3[51]; int length = 50; /*Output and enter commands to matrix module*/ error_handler (IOTIMEOUT (7L,5.
Switching Channels Use CLOSe to close one or more matrix module channels and OPEN to open the channel(s). channel_list has the form @ssrrcc where ss = card number (01-99), rr is the row number, and cc = column number. See Table 3-3 for row and column definitions for the modules. To OPEN or CLOSe multiple channels, place a comma (,) between the channel numbers. For example, to close channels 10103 and 10201, execute CLOS (@10103,10201).
Scanning Channels Scanning matrix module channels consists of closing a sequence of channels one channel at a time. Single scan, multiple scans, or continuous scanning modes are available. TRIGger:SOURce specifies the source to advance the scan. OUTPut can be used to enable the E1406A Command Module Trig Out port or TTL Trigger bus lines (0-7).
This BASIC example program sets up the multimeter (GPIB address 70903) to scan making two-wire resistance measurements. The E1465A matrix module is set to scan row 00, columns 00 to 15.
Example: Scanning Using Trig In/Out Ports (BASIC) This example uses the E1406A Command Module Trig In and Trig Out ports to synchronize the matrix module channel closures to an external 3457A voltmeter at address 722. Figure 3-2 shows how to connect the voltmeter to the command module and to the matrix module. E1406A Command Module +5V Trig In 0V +5V 0V Voltmeter Complete Trig Out External Trigger 3457A Multimeter (Rear View) Row 00L E1466A Matrix Module Row 00H E1466A Terminal Module Figure 3-2.
Querying Matrix Modules All query commands end with a "?". These commands are used to determine a specific state of the matrix module. Data are sent to the output buffer where it can be retrieved into a computer. CLOSe? and OPEN? return the current state of the specified channel. These commands return "1" if the operation is true and return "0" if the operation is false. A maximum of 128 channels can be queried at one time.
When Bit 7 of the Status Byte Register is enabled by *SRE 128 to assert a GPIB Service Request (SRQ), the computer can be interrupted when the Scan Complete Bit is set, after the scanning cycle completes. This allows the controller to do other operations while the scanning cycle is in progress. Example: Using the Scan Complete Bit (BASIC) This example monitors bit 7 in the Status Byte Register to determine when the scanning cycle is complete.
Saving and Recalling States *SAV stores the current state of the matrix modules channels. Up to 10 states can be stored by specifying as an integer 0 through 9. The following states are stored: Channel relay states (open or closed), ARM:COUNt, TRIGger:SOURce, OUTPut[:STATe], and INITiate:CONTinuous. *RCL recalls the specified previously stored state.
Detecting Error Conditions SYSTem:ERRor? requests a value from instrument's error register. This register contains an integer in the range [-32768 to 32767]. The response takes the form ,, where is the value of the instrument's error and is a short description of the error. If no error occurs, the switchbox responds with 0,"No error". If there has been more than one error, the instrument will respond with the first error in its error queue.
/*Enter from matrix module*/ error_handler (IOENTERS (MATRIX, into, &length), "ENTER command"); printf("Print the errors: %s",into); return; } int error_handler (int error, char *routine) { char ch; if (error != NOERR) { printf ("\n Error %d %s \n", error, errstr(error)); printf (" in call to GPIB function %s \n\n", routine); printf ("Press 'Enter' to exit: "); scanf ("%c", &ch); exit(0); } return 0; } Synchronizing Matrix Modules This section gives guidelines to synchronize matrix modules with measuremen
Understanding Matrix Modules This section provides internal configuration details about the E1465, E1466A, and E1467A matrix modules, including advantages of latching relays and module operation. Advantages of Latching Relays There are several advantages to using the E1465A/E1466A/E1467A latching relays, as follows. The main disadvantage of latching relays is that the relay state is unchanged at power-on, power-off, or following a reset.
• The FIFO Interface PAL reads the Data Bus and Address Bus FIFO until the EMPTY* flag signals the FIFO Interface PAL the FIFO memory is empty. • When the FIFO is empty, the FIFO Interface PAL signals the VME Timing PAL which asserts IRQ*. This interrupts the command module CPU after the last relay has been activated. • Because the matrix module asserts IRQ* after the last relay is activated, the CPU is not continually interrupted. Thus, system throughput is enhanced.
Chapter 4 Matrix Modules Command Reference Using This Chapter This chapter describes Standard Commands for Programmable Instruments (SCPI) and summarizes IEEE 488.2 Common (*) commands applicable to the E1465A, E1466A, and E1467A Relay Matrix Switch modules. This chapter contains the following sections: • Command Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49 • SCPI Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . .51 • SCPI Commands Quick Reference . .
Command Separator A colon (:) always separates one command from the next lower-level command as shown below: [ROUTe:]SCAN Colons separate the root command from the second-level command ([ROUTe:]SCAN). Abbreviated Commands The command syntax shows most commands as a mixture of upper- and lowercase letters. The uppercase letters indicate the abbreviated spelling for the command. For shorter program lines, send the abbreviated form. For better program readability, you may send the entire command.
Parameters The following table contains explanations and examples of parameter types you might see later in this chapter. Type Explanations and Examples Boolean Represents a single binary condition that is either true or false (ON, OFF, 1.0). Any non-zero value is considered true. Discrete Selects from a finite number of values. These parameters use mnemonics to represent each valid setting.
ABORt The ABORt command 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 Comments ABORt ABORt Actions: The ABORt command terminates the scan and invalidates the current channel list. Stopping Scan Enabled Via Interface: When a scan is enabled via an interface, an interface CLEAR command can be used to stop the scan.
ARM The ARM subsystem selects the number of scanning cycles (1 to 32,767) for each INITiate command. Subsystem Syntax ARM :COUNt MIN | MAX :COUNt? [] ARM:COUNt ARM:COUNt MIN | MAX allows scanning 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.
ARM:COUNt? ARM:COUNt? [] 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 specified. With MIN or MAX as a parameter, MIN returns "1" and MAX returns "32,767".
DISPlay The DISPlay subsystem monitors the channel state of the selected module in a switchbox. This subsystem operates with an E1406A Command Module when a display terminal is connected. Subsystem Syntax DISPlay :MONitor :CARD | AUTO [:STATe] DISPlay:MONitor:CARD DISPlay:MONitor:CARD | AUTO selects the module in a switchbox to be monitored.
DISPlay:MONitor[:STATe] DISPlay:MONitor[:STATe] turns the monitor mode ON or OFF. Parameters Comments Name Type Range of Values Default Value boolean ON | OFF | 1 | 0 OFF | 0 Monitoring Switchbox Channels: DISPlay:MONitor:STATe ON or DISPlay:MONitor:STATe 1 turns the monitor mode ON to show the channel state of the selected module. DISPlay:MONitor:STATe OFF or DISPlay:MONitor:STATe 0 turns the channel monitor OFF.
INITiate The INITiate command subsystem selects continuous scanning cycles and starts the scanning cycle. Subsystem Syntax INITiate :CONTinuous :CONTinuous? [:IMMediate] INITiate:CONTinuous INITiate:CONTinuous enables or disables continuous scanning cycles for the matrix modules.
Example Enabling Continuous Scanning This example enables continuous scanning of channels 10000 through 10003 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) ! Define channel list INIT ! Start scan cycle, close channel 10000 INITiate:CONTinuous? INITiate:CONTinuous? queries the scanning state.
OUTPut The OUTPut command subsystem enables or disables the different trigger lines of the E1406A Command Module. Subsystem Syntax OUTPut :EXTernal [:STATe] [:STATe]? [:STATe] [:STATe]? :TTLTrgn (:TTLTrg0 through :TTLTrg7) [:STATe] [:STATe]? OUTPut:EXTernal[:STATe] OUTPut:EXTernal[:STATe] enables or disables the "Trig Out" port on the E1406A 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.
Example Enabling "Trig Out" Port OUTP:EXT ON ! 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 on the E1406A Command Module. The command returns "1" if the port is enabled or "0" if the port is disabled. Example Query "Trig Out" Port Enable State This example enables the "Trig Out" port and queries the enable state.
OUTPut[:STATe]? OUTPut[:STATe]? queries the present state of the E1406A Command Module "Trig Out" port. The command returns "1" if the port is enabled or "0" if the port is disabled. This command functions the same as OUTPut:EXTernal[:STATe]?. Example Query "Trig Out" Port Enable State This example enables the E1406A Command Module "Trig Out" port and queries the enable state. OUTPut[:STATe]? returns "1" since the port is enabled.
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 OUTPut:TTLTrgn[:STATe]? OUTPut:TTLTrgn[: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.
[ROUTe:] The [ROUTe:] command subsystem controls switching and scanning operations for relay matrix switch modules in a switchbox. Subsystem Syntax NOTE [ROUTe:] CLOSe CLOSe? OPEN OPEN? SCAN There must be a space between the second level command (CLOSe, for example) and the parameter . [ROUTe:]CLOSe [ROUTe:]CLOSe closes the relay matrix channels specified by .
NOTE Closure order for multiple channels with a single command is not guaranteed. Channel numbers can be in the in any random order. Related Commands: [ROUTe:]OPEN, [ROUTe:]CLOSe? *RST Condition: All channels open. Example Closing Matrix Modules Channels This example closes channels 10100 and 20013 of a two-module switchbox (card numbers 01 and 02). CLOS(@10100,20013) ! Closes row 1, column 00 of card #1 and row 00, column 13 of card #2.
[ROUTe:]OPEN [ROUTe:]OPEN opens the relay matrix channels specified by . has the form (@ssrrcc) where ss = matrix module card number (01-99), rr = matrix module row number, and cc = matrix module column number.
[ROUTe:]OPEN? [ROUTe:]OPEN? returns the current state of the channel(s) queried. has the form (@ssrrcc) where ss = matrix module card number (01-99), rr = matrix module row number, and cc = matrix module column number. The command returns "1" if channel(s) are open or returns "0" if channel(s) are closed. Comments Query is Software Readback: ROUTe:OPEN? returns the current software state of the channel(s) specified. It does not account for relay hardware failures.
Scanning Channels: • To scan a single channel use ROUT:SCAN (@ssrrcc) • To scan multiple channels use ROUT:SCAN (@ssrrcc,ssrrcc,...) • To scan sequential channels use ROUT:SCAN (@ssrrcc:ssrrcc) • To scan groups of sequential channels use ROUT:SCAN (@ssrrcc:ssrrcc,ssrrcc:ssrrcc) • or any combination of the above NOTE Channel numbers can be in the in any random order.
STATus The STATus subsystem reports the bit values of the OPERation Status Register. It also allows you to unmask the bits you want reported from the Standard Event Status Register and to read the summary bits from the Status Byte Register.
NOTE: Output Queue QUE = Questionable Data MAV = Message Available ESB = Standard Event RQS = Request Service OPR = Operation Status C = Condition Register EV = Event Register EN = Enable Register SRQ = Interface Bus Service Request Standard Event Status Register *ESR? *ESE *ESE? Automatically Set at Power On Conditions Power On User Request Command Error Execution Error Device Dependent Error Query Error Request Control Operation Complete Automatically Set by Parser Set by *OPC Related Comma
STATus:OPERation:CONDition? STATus:OPERation:CONDition? returns the state of the Condition Register in the OPERation Status Register. The state represents conditions that are part of the instrument's operation. The switch module driver does not set bit 8 in the OPERation Status Register (see STATus:OPERation[:EVENt]?).
Example Querying the Enable Register in the OPERation Status Register STAT:OPER:ENAB? ! Query the Enable Register in the OPERation Status Register STATus:OPERation[:EVENt]? STATus:OPERation[:EVENt]? returns which bits in the Event Register within the OPERation Status Register are set. The Event Register indicates that a time-related instrument event has occurred. Comments Setting Bit 8 of the OPERation Status Register: Bit 8 (Scan Complete) is set to 1 after a scanning cycle completes.
SYSTem The SYSTem subsystem returns the error numbers and error messages in the error queue of a switchbox. It can also return the types and descriptions of modules (cards) in a switchbox. Subsystem Syntax SYSTem :CDEScription? :CPON | ALL :CTYPe? :ERRor? SYSTem:CDEScription? SYSTem:CDEScription? returns the description of a selected module (card) in a switchbox.
SYSTem:CPON SYSTem:CPON | ALL sets the selected module (card) in a switchbox to its power-on state. Parameters Comments Name Type Range of Values Default Value numeric 1 through 99 | ALL N/A 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 opens the channels in only the module (card) specified in the command.
E1467A Matrix Module Model Number: SYSTem:CTYPe? returns: HEWLETT-PACKARD,E1467A,0,A.04.00 where the 0 after E1467A 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 Module SYST:CTYP? 1 ! Returns the model number SYSTem:ERRor? SYSTem:ERRor? returns the error numbers and corresponding error messages in the error queue of a matrix module.
TRIGger The TRIGger command subsystem controls the triggering operation of matrix modules in a switchbox. Subsystem Syntax TRIGger [:IMMediate] :SOURce
TRIGger:SOURce TRIGger:SOURce
Related Commands: ABORt, [ROUTe:]SCAN, OUTPut *RST Condition: TRIGger:SOURce IMMediate Example Scanning Using External Triggers This example uses external triggering (TRIGger:SOURce EXTernal) to scan channels 0000 through 0003 of a single-module switchbox. The trigger source to advance the scan is the input to the "Trig In" port on the E1406A Command Module. When INIT is executed, the scan is started and channel 0000 is closed.
SCPI Commands Quick Reference The following table summarizes the SCPI Commands for the E1465A, E1466A, and E1467A Relay Matrix Switch Modules.
IEEE 488.2 Common Commands Reference The following table lists the IEEE 488.2 Common (*) commands that apply to the E1465A, E1466A, and E1467A Relay Matrix Switch Modules. The operation of some of these commands is described in Chapter 3 of this manual. For more information on Common commands, refer to the user’s manual for your mainframe or to the ANSI/IEEE Standard 488.2-1987. Command Title Command Description *CLS Clear Status Register Clears all status registers (see STATus:OPERation[:EVENt]?).
Notes: 80 Matrix Modules Command Reference Chapter 4
Appendix A Matrix Modules Specifications General Module Size/Device Type: C-size VXIbus, Register based, A16/D16, Interrupter (levels 1-7, jumper selectable) Relay Life: @ No Load: 5 x 107 Operations @ Full Load: 105 Operations Power Requirements: Voltage: Peak Module Current (A) Watts/slot: 5 W Cooling/slot: 0.08 mm H20 @ 0.42 Liter/sec for 10oC rise +5 V 0.10 +12 V 0.
E1465A Crosstalk Between Channels Specifications are for 16 x 16 matrix, for Z(load) = Z(source) = 50 W. AC specifications apply with no more than one crosspoint closed per row or column. Typical is defined as the worst crosspoint test result from one or two matrix modules.
Appendix B Register-Based Programming About This Appendix This appendix contains information you can use for register-based programming of the E1465A, E1466A, and E1467A Relay Matrix Switch modules. The contents include: • Register Programming vs. SCPI Programming . . . . . . . . . . . .83 • Addressing the Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83 • Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86 • Programming Examples . . . . . . . . . .
The Base Address When reading or writing to a switch 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. Figure B-1 shows the register address location within A16 as it might be mapped by an embedded controller. Figure B-2 shows the location of A16 address space in the E1406 Command Module.
Register Offset 16-BIT WORDS 3E 16 3C 16 FFFF 16 FFFF 16 30 16 2E 16 2C 16 2A 16 28 16 26 16 24 16 22 16 20 16 REGISTER ADDRESS SPACE COOO 16 * A16 ADDRESS SPACE C000 16 (49,152) Bank 8 Control Register Bank 7 Control Register Bank 6 Control Register Bank 5 Control Register Bank 4 Control Register Bank 3 Control Register Bank 2 Control Register Bank 1 Control Register Bank 0 Control Register 06 16 1E 16 04 16 02 16 00 16 Not Used Status/Control Register Device Type Register ID Register E1465A/66A
Register Descriptions Each matrix module contains two read registers, one read/write register, and 16 write registers. This section describes each matrix module register. b+0016 Reading and Writing to the Registers Example programs are provided at the end of this appendix that show how to read and write to these registers. You can read or write to the following matrix module registers.
Reading the Status/Control Register For Status/Control register reads, three bits are defined as follows. • MODID (bit 14): 0 indicates the module has been selected by MODID (module ID) and a 1 indicates the module has not been selected. For example, if an E1466A matrix module is not busy (bit 7 = 1) and the interrupt is enabled (bit 6 = 0), a read of the Status/Control Register (base + 0416) returns DBBF.
Relay Control Register There are 16 relay control registers: Bank 0 Relay Control Register (base + 2016) through Bank 15 Relay Control Register 2 (base + 3E16). These registers are used to open and close the specified matrix relays. Reading any Relay Control Register will always return FFFF16 regardless of the channel states. The numbers in the register maps indicate the channel number to be written to. To close a relay, you must write a 1 to the bit.
Bank 7 Relay Control Register Address 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Base+2E16 715 714 713 712 711 710 709 708 707 706 705 704 703 702 701 700 Bank 8 Relay Control Register Address 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Base+3016 815 814 813 812 811 810 809 808 807 806 805 804 803 802 801 800 Bank 9 Relay Control Register Address 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Base+3216 915 914 913 912 911 910 909 908
Programming Examples This section provides example programs in BASIC and C/HP-UX, including: • Example: Reading the Registers (BASIC) • Example: Reading the Registers (C/HP-UX) • Example: Making Measurements (BASIC) • Example: Making Measurements (C/HP-UX) • Example: Scanning Channels (BASIC) • Example: Scanning Channels (C/HP-UX) Example: Reading the Registers (BASIC) This BASIC programming example reads the Manufacturer ID Register, Device Type Register and Status Register on the E1466A matrix module.
Example: Reading the Registers (C/HP-UX) This C/HP-UX programming example reads the Manufacturer ID Register, Device Type Register and Status Register on the E1466A matrix module. /***************************************************/ /****** readreg.c ******/ /**************************************************/ #include #include #include
Example: Making Measurements (BASIC) This BASIC programming example closes bit 1 on bank 0, waits for a measurement to be made, and then opens the channel. You must insert your own programming code for the measurement part of this program. For example, if you are using the E1411B, see the E1326B/E1411B Multimeter User's Manual for programming examples.
Example: Making Measurements (C/HP-UX) This C/HP-UX programming example closes bit 1 on bank 0, waits for a measurement to be made, and then opens the channel. You must insert your own programming code for the measurement part of this program. For example, if you are using the E1411B, see the E1326B/E1411B Multimeter User's Manual for programming examples. The sub ver_time allows time for switch closures. This sub should print a time around 7 ms.
/*SUB VER_TIME*/ ver_time( ) { struct timeval first, second, lapsed; struct timezone tzp; gettimeofday(&first,&tzp); for (j=0; j<=7000; j ++); gettimeofday ($second,&tzp); if (first.tv_usec > second.tv_usec) { second.tv_usec +=1000000; second.tv_sec--; } lapsed.tv_usec = second.tv_usec - first.tv_usec; lapsed.tv_sec = second.tv_sec - first.tv_sec; printf("Elapsed time for closing a channel is: %ld sec %ld usec \n", lapsed.tv_sec, lapsed.
Example: Scanning Channels (BASIC) This BASIC programming example scans through the bank 0 channels (closing one switch at a time) and makes measurements between switch closures. You must insert your own programming code for the measurement part of this program. For example, if you are using the E1411B, see the E1326B/E1411B Multimeter User's Manual for programming examples.
Example: Scanning Channels (C/HP-UX) This C/HP-UX programming example scans through the bank 0 channels (closing one switch at a time) and makes measurements between switch closures. You must insert your own programming code for the measurement part of this program. For example, if you are using the E1411B, see the E1326B/E1411B Multimeter User's Manual for programming examples. NOTE The sub ver_time allows time for the switches to close. The program should print a time around 7 ms.
/*sub to verify the time to close the switch*/ ver_time( ); /*sub to close a set of switches and make measurements*/ scan_meas(dev); } /*END of main program*/ /*SUB VER_TIME*/ ver_time( ) { struct timeval first, second, lapsed; struct timezone tzp; gettimeofday(&first,&tzp); for (j=0; j<=7000; j ++); gettimeofday ($second,&tzp); if (first.tv_usec > second.tv_usec) { second.tv_usec +=1000000; second.tv_sec--; } lapsed.tv_usec = second.tv_usec - first.tv_usec; lapsed.tv_sec = second.tv_sec - first.
Notes: 98 Register-Based Programming Appendix B
Appendix C Matrix Modules Error Messages Error Types Table C-2 lists the error messages generated by the E1465A, E1466A, or E1467A Relay Matrix Switch modules firmware when programmed by SCPI. Errors with negative values are governed by the SCPI standard and are categorized in Table C-1. Error numbers with positive values are not governed by the SCPI standard. See the E1406A Command Module User’s Manual for further details on these errors. Table C-1.
Error Messages Table C-2. Error Messages Code Error Message Potential Cause(s) -109 Missing Parameter Sending a command requiring a channel list without the channel list. -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.
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.
• 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.
Index E1465A/E1466A/E1467A Relay Matrix Modules User’s Manual A ABORt subsystem, 52 addressing matrix modules, 15 addressing registers, 83 ARM subsystem ARM:COUNt, 53 ARM:COUNt?, 54 attaching terminal modules to switch module, 29 B base address, 84 C cautions, 19 common commands *CLS, 79 *ESE, 79 *ESE?, 79 *ESR?, 79 *IDN?, 79 *OPC, 79 *OPC?, 79 *RCL, 79 *RST, 79 *SAV, 79 *SRE, 79 *SRE?, 79 *STB?, 79 *TRG, 79 *TST?, 79 *WAI, 79 format, 49 configuring larger matrixes, 30 matrix modules, 19 switch modules,
E (continued) examples (cont’d) Reading the Model Number of a Module, 74 Reading the OPERation Status Register, 71 Reading the Registers (BASIC), 90 Reading the Registers (C/HP-UX), 91 Saving and Recalling States (BASIC), 44 Scanning Channels (BASIC), 95 Scanning Channels (C¤HP-UX), 96 Scanning Channels Using TTL Trigs (BASIC), 39 Scanning Using Bus Triggers, 77 Scanning Using External Device, 67 Scanning Using External Triggers, 77 Scanning Using Trig In/Out Ports (BASIC), 41 Select Module for Monitoring,
R (continued) registers (cont’d) offset, 84 Relay Control, 88 Status¤Control, 86 types, 86 Relay Control register, 88 relay life, 101 relay matrixes commands, 35 detecting error conditions, 45 latching relays, 47 module block diagram, 48 module identification, 36 module operations, 47 power-on conditions, 36 reset conditions, 36 saving and recalling states, 44 scanning channels, 39 switching channels, 38 synchronizing modules, 46 understanding the modules, 47 using Scan Complete bit, 42 relays end-of-life d