Agilent E1463A User’s Manual and SCPI Programming Guide

Agilent 75000 Series C
Agilent E1463A 32-Channel, 5 Amp, Form C Switch
User’s Manual and SCPI Programming Guide
Where to Find it - Online and Printed Information:
System installation (hardware/software) ............VXIbus Configuration Guide*
Module co n figurat io n an d wi ri ng ...... ... ..............This Manual
SCPI programming.............................................This Manual
SCPI example programs .....................................This Manual, VXIplug&play Driver CD
SCPI command reference ..................................This Manual
VXIplug&play programming ............................VXIplug&play Online Help
VXIplug&play example programs .....................VXIplug&play Online Help
VXIplug&play function reference......................VXIplug&play Onl in e Help
VISA lang u ag e inf or mation . ......... .. ... .................Ag ile n t V IS A User ' s G ui d e
Agilen t V EE pr o gr amming informatio n.............A g ile n t V EE U se r' s Man ua l
*Supplied with Agilent Command Modules, Embedded Cont rollers, and VXLink.
*E1463-90004*
Manual Pa rt Number: E1463-90004
Printed in Malay sia E0606
Contents
E1463A 32-Channel Form C Switch User’s Manual
Front Matter.......................................................................................................................7
Agilent Technologies Warranty Sta te men t............. ......................................................7
Safety Symbol s................................ ......................................................... ...................8
Warnings...................................................................................................................... 8
Declaration Of Conformity............................................................................................9
Chapter 1 - Getting Started ...........................................................................................11
Using This Chapter....................................................................................................11
Form C Switch Descript ion...... ...................................................................................11
Basic Operat ion ........................................... .......................................................11
Typical Configurations ........................................................................................13
Configuring the Form C Switch..................................................................................14
Warnings and Cautions ......................................................................................14
Setting the Logical Address Switch ....................................................................15
Setting the Inte r r u p t Priority ..................... ...........................................................16
Insta ll i n g the For m C Switc h in a Mainfr a me ............. .........................................17
Configuring a Term inal Module ..................................................................................18
Standard Terminal Module Description ...............................................................18
Terminal Module Option A3G Description ..........................................................18
Connecting User Inputs ......................................................................................19
Wiring a Terminal Module ...................................................................................20
Attaching a Terminal Module to the Form C Switch ............................................22
Protecting Relays and Circuits.... ...............................................................................23
Relay Life Factors ............................................................................................... 23
Extending Relay Life ...........................................................................................24
Adding Relay and Circuit Protection ...................................................................25
Maximum Allowable Module Switch Current ......................................................26
Programmi ng the For m C Switch..................................................... ..........................27
Using SCPI Commands ......................................................................................27
Addressing the Form C Switch ...........................................................................27
Initial Operation ..................................................................................................29
Chapter 2 - Using the Form C Switch ..........................................................................31
Using This Chapter....................................................................................................31
Form C Switch Commands ..................... ..... ..... .. ..... .. ..... .. ..... ..... .. ... .. .. ..... .. ..... ..... .. ...31
Power-on and Reset Conditions . ...............................................................................32
Module Identification..................................................................................................32
Example: Module Identification (BASIC) ............................................................32
Example: Module Identification (TURBO C) .......................................................33
Switching Channels ................................................................................................... 34
Example: Opening/Closing Channels (BASIC) ...................................................34
Example: Voltage Switching (BASIC) .................................................................34
Example: Controlling RF Switches/Step Attenuators (BASIC) ...........................35
Example: Digital Output Configuration (BASIC) ................................................. 37
Example: Matrix Switching (BASIC) ................................................................... 37
3
Scanning Channels ....................................................................................................39
Example: Scanning Using Trig In and Trig Out Ports (BASIC) ...........................39
Example: Scanning Using the TTL Trigger Bus (BASIC) ...................................40
Querying the Form C Switch...................................................................................... 42
Example: Querying Channel Closures (BASIC) .................................................42
Using the Scan Complete Bit..................................................................................... 42
Example: Using the Scan Complete Bit (BASIC) ............................................... 43
Saving and Recalling States......................................................................................44
Example: Saving and Recalling State (BASIC) ..................................................44
Detecting Erro r Conditions...... ....................................................................... ............45
Example: Detecting Error Conditions (BASIC) ...................................................45
Example: Detecting Error Conditions (Turbo C) .................................................45
Synchroniz i n g the Form C Swit ch....... .......................................... .............................46
Example: Synchronizing the Form C Switch (BASIC) ........................................46
Chapter 3 - E1463A Command Reference ...................................................................47
ABORt........................................................................................................................50
ARM...........................................................................................................................51
ARM:COUNt .......................................................................................................51
ARM:COUNt? .....................................................................................................52
DISPlay...................................................................................................................... 53
DISPlay:MONitor:CARD .....................................................................................53
DISPlay:MONitor[:STATe] ...................................................................................54
INITiate.......................................................................................................................55
INITiate:CONTinuous .........................................................................................55
INITiate:CONTinuous? .......................................................................................56
INITiate[:IMMediate] ...........................................................................................56
OUTPut...................................................................................................................... 57
OUTPut:EXTernal[:STATe] .................................................................................. 57
OUTPut:EXTernal[:STATe]? ................................................................................58
OUTPut[:STATe] .................................................................................................58
OUTPut[:STATe]? ...............................................................................................59
OUTPut:TTLTrgn[:STATe] ...................................................................................59
OUTPut:TTLTrgn[:STATe]? ................................................................................. 60
[ROUTe:] ....................................................................................................................61
[ROUTe:]CLOSe .................................................................................................61
[ROUTe:]CLOSe? ...............................................................................................62
[ROUTe:]OPEN ................................................................................................... 62
[ROUTe:]OPEN? .................................................................................................63
[ROUTe:]SCAN ...................................................................................................64
STATus.......................................................................................................................65
STATus:OPERation:CONDition? ........................................................................ 67
STATus:OPERation:ENABle ............................................................................... 67
STATus:OPERation:ENABle? ............................................................................. 67
STATus:OPERation[:EVENt]? ............................................................................68
STATus:PRESet .................................................................................................68
SYSTem.....................................................................................................................69
SYSTem:CDEScription? .....................................................................................69
SYSTem:CPON ..................................................................................................69
SYSTem:CTYPe? ...............................................................................................70
SYSTem:ERRor? ................................................................................................ 70
4
TRIGger.....................................................................................................................72
TRIGger[:IMMediate] ..........................................................................................72
TRIGger:SOURce ............................................................................................... 73
TRIGger:SOURce? ............................................................................................. 74
Appendix A - Form C Switch Specifications ...............................................................77
Appendix B - Register-Based Programming ................................ ..... .... ..... .. ..... ..... .. ...79
About This Appendix..................................................................................................79
Register Programming vs. SCPI Programming.......................................................... 79
Addressing the Registers...........................................................................................79
The Base Address ........................................................................... ...................80
Register Offset ............ .............. ..........................................................................81
Register Descr iptions......... ..................... ...................................................................82
Reading and Writing to the Registers .......... ....... ....... ............ ....... ..... ....... ....... ...82
Manufacturer Identification Register ...................................................................82
Device Type Register .........................................................................................82
Status/Control Register .......................................................................................82
Relay Control Register .......................................................................................84
Programmi ng Examp l e s....... .................................................. ....................................85
Example: Reading the Registers (BASIC) .......................................................... 85
Example: Reading the Registers (C/HP-UX) . .....................................................86
Example: Making Measurements (BASIC) .........................................................87
Example: Making Measurements (C/HP-UX) .....................................................88
Example: Scanning Channels (BASIC) ..............................................................90
Example: Scanning Channels (C/HP-UX) ..........................................................91
Appendix C - E1463A Error Messages . .. ....... ....... ....... ....... .......... ....... ....... ....... ....... ...93
Error Types ................................................................................................................93
Error Messages..........................................................................................................94
Index ...............................................................................................................................95
5
Notes:
6
Certification
Agilent Technologie s, Inc. certifies that this product met its published specifications at the time of shipment from the factory. Agile nt Technol ogies furthe r certifie s that its calibration measurements are traceable to the United St ates National Institute of Standards and Technology (formerly National Bureau of Standards), to the extent allowed by that organization's calibration facility, and to the calibration facilities of other Internati onal Standards Organization members.
AGILENT TECHNOLOGIES WARRANTY STATEMENT
PRODUCT: E1463A DURATION OF WARRANTY: 1 year
1. Agilent warrants Agilen t hardware, accessories and supplies against defects in materials and workmanship for the period spec ified above ( one year). If Aglent receives notice of such defects during the w arranty period, Agilent wi ll, at its option, either repair or replace product s wh ich prove to be defectiv e. Replacement products may be either new or like-new.
2. Agile nt warrants that Agilent software wi ll not fail to execute its pr ogramming instruct ions, for the period spec ified above, due to defect s in material and workmans hip when properly installed and used. If Agilent receives notice of such defects during the warranty period , Ag ilent will replace software media w hich does not execute its programming i n structions due to such defects.
3. Agile nt does not warran t that th e opera tion of A gilent pr oducts w ill be i nterrup ted or e rror fre e. If Agi lent is unable , with in a rea sonabl e time, to rep ai r or repla ce an y pro duct to a cond iti on as warr anted , cu st omer will be en ti tled to a r efund of the purc hase pr ic e upo n prompt return of the product.
4. Agilen t products may contain remanufactur ed parts equivalent to ne w in performance or may have been subject to incidental use.
5. The war ranty per iod be gin s on the dat e of de li very o r on the dat e of inst al lati on if ins tall ed by Agile nt . If c ust omer sc hedule s or de la ys Agilent installation more tha n 30 days after delivery, wa rranty begins on the 31st da y from delivery.
6. Warran ty does not apply t o defec ts resul ting fr om (a) imp roper or inad equate ma intenan ce or ca librat ion, (b) s oftwar e, inte rfacing, pa rts or suppl ies not suppli ed by Agilent Technologies, (c) unauthorized modificatio n or m isuse, (d) operation outside of the published enviro nm ental specifications for the product, or (e) improper site preparation or maintenance.
7. TO THE EXTENT ALLOWED BY LOCAL LAW, THE ABOVE WARRANTIES ARE EXCLUSIVE AND NO OTHER WARRANTY OR CONDITION, WHETHER WRITTEN OR ORAL, IS EXPRESSED OR IMPLIED AND AGILENT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OR CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, AND FITNESS FOR A PARTICULAR PURPOSE.
8. Agil ent will b e liabl e for da mage to tangibl e prope rty per i ncident u p to th e grea ter of $30 0,000 o r the act ual amou nt paid for t he pro duct that is the subject of the claim, and for damages for bodily inj ury or death, to the extent that all such damages are determined by a court of competent jurisdiction to hav e been directly caused by a defective Agilent product.
9. TO THE EXTENT ALLOWED BY LOCAL LAW, THE REMEDIES IN THIS WARRANTY STATEMENT ARE CUSTOMER’S SOLE AND EXLUSIVE REMEDIES. EXCEPT AS INDICATED ABOVE, IN NO EVENT WILL AGILENT OR ITS SUPPLIERS BE LIABLE FOR LOSS OF DATA OR FOR DIRECT, SPE CIAL, I NCIDENTAL, CONSEQUE NTIAL (INCL UDING LOST PROFI T OR DATA), OR OTHER DAMAGE, WHETHER BASED IN CONTRACT, TORT, OR OTHERWISE.
FOR CONSUMER TRANSACTIONS IN AUS TRALIA AND NEW ZEALAND: THE WARRANTY T ERMS CONTAINED I N THIS STATEMENT, EXCEPT TO THE EXTENT LAWFULLY PERMITTED, DO NOT EXCLUDE, RESTRICT OR MODIFY AND ARE IN ADDITION TO THE MANDATORY STATUTORY RIGHTS APPLICABLE TO THE SALE OF THIS PRODUCT TO YOU.
U.S. Government Restricted Rights
The Software and Docume ntation have been deve loped entirely at private expense. They are del ivered and licensed as "commercial computer software" as defined in DF A R S 252.227- 7013 (Oct 1988), DFARS 252. 211-7015 (May 1991) or DFAR S 252.227-7014 (Jun
1995), as a "commercial item" as defined in FAR 2.101(a ), or as "Restr icted computer softwar e" as defined in FA R 52.227-19 (Jun
1987)(o r any equivalent agency regulation or contract cl ause), whichever is appl icable. You have only those rights provi ded for such Software and Documentation by the applicable FAR or DFARS clause or the Agilent standard software agreement for the product involved.
This is a mea surement Category II product designe d for measurements at voltages up to 300V from earth, including measurements o f voltages at typical mains socket outlets. The product should not be used to make voltage measurements on a fixed electrical installation includ ing building wiring, ci rcuit breakers, or ser vice panels.
IEC Measurement Category II Overvoltage Protection
E1463A 32-Channel, 5 Amp, Form C Switch Module User's Manual
Edition 4 Rev 2
Copyrig ht © 1996-2006 Agilent Technologies, Inc . All Rights Reserved.
7
Documentation History
All Ed ition s and Upd ates o f this m a nual and their crea tion date are listed bel o w. The first Edition of the manual is E dition 1. The Edi tion number increments by 1 whenever the manual is revised. Updates, which are issued betw een Editions, contain replacemen t pages to correc t or add additional information to the cu rrent Editi on of the manual. Whenever a new Edition is created, it will contain all of the Update in formatio n for the previous Edi tion. Eac h new Editi on or Update al so incl udes a revi sed copy of this docum entati on histor y page.
Edition 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . July 1991
Edition 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . January 1994
Edition 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . January 1996
Edition 4 (Part Number E1463- 90004) . . . . . . . February 2001
Edition 4 Rev 2 (Part Number E1463-90004). . . . . .June 2006
Safety Symbols
Instruction manual symbol affixed to
Instruction manual symbol affixed to product . Ind ica te s t hat t he u ser must r efer t o
product . Ind ica te s t hat t he u ser must r efer t o the manu a l fo r sp ec ific WAR N IN G or
the manu a l fo r sp ec ific WAR N IN G or CAUTION information to avoid personal
CAUTION information to avoid personal injury or dam age to the product.
injury or dam age to the product.
Indicates the field wiring terminal that mu st be connect ed to earth ground befo re operating the equipment—protects against electrical shock in case of fault.
WARNING
Alternating current (AC)
Direct current (DC).
Indicates hazardous voltages .
Calls attention to a procedure, pra ctice, or condition that could cause bodily inju ry or death.
or
Frame or c hassis grou nd termina l—typicall y connect s to the equipment's metal frame.
CAUTION
Calls attention to a procedure, pra ctice, or condition that could po ssibly c ause damage to equipment or permanent loss of data.
WARNINGS
The follo w ing general safety precautions must be observed during al l phases of operation, se rvice, and repair of thi s product. Failure to comply with these precautions or with specific warnings elsewhere in this manual violates safety standards of design, manufacture, and intended use of the product. Agil ent Technologies, Inc. assumes no liability for the customer's failure to comply w ith these requirements.
Ground the equipm ent: For Safety Class 1 equipment (equipment having a protective earth terminal), an uninterruptible safety earth ground must be provided from the mains pow er source to th e product input wiring term inals or supplied power cable.
DO NOT operate the produc t in an explosive atmosphere or in the presence of fl ammable gases or fumes. For cont inued protection a gainst fir e, replace the line fuse(s) only with fuse(s) of the same voltage and curre nt rating and type. DO NOT
use repaired fuse s or short-circuited fuse holder s. Keep away from live circuits: Operating personnel must not remove equipment covers or shiel ds. Procedures involving the removal of
covers or shields are f o r use by service-trai ned personnel only. Under certain conditions , dangerous voltages may exist even with the equipmen t sw itch ed off. To a void d ang er ous elect r ical sho ck, DO NOT per form proc edu re s invo lv ing co ver or shie ld rem oval u nl ess you are qualified to do so.
DO NOT operate damaged equipment: Whenever it is possible that the safety protection features built into this product have been impaired, either t hrough physical damage, excessive moisture, or any other re ason, REMOVE POWER and do not use th e product until safe operat i on ca n be veri fi ed by servi ce- trai ne d person nel . If ne ces sa ry, re tu rn the pr odu ct to an Agi lent Tech nologi es Sales and Servi ce Office for service and rep air to ensure that safety features are maintain ed.
DO NOT serv ice or adj ust al one : Do not at t empt in te rnal ser vi ce or adj us tmen t u nl ess an oth er per son , cap abl e o f rend er in g fi rst ai d an d resuscitation, is present.
DO NOT substitut e parts or modify e quipm ent: Be cause of the da nger of intr od ucing a ddi tion al hazar ds, do not in st all s ubsti t ute pa rt s or perform any unauthorized modification to the product. Ret urn the product to an Agilen t Technologies Sales and Service Office for service and repair to ensu re that safety features are mai n tained.
8
DECLARATION OF CONFORMITY
According to ISO/IEC Guide 22 and CEN/CENELEC EN 45014
Manufacturer’s Name:
Agilent Technologies, Incorporated
Manufacturer’s Address: Measurement Product Generation Unit
815 14th ST. S.W. Loveland, CO 80537 USA
Declares, that the product
Product Name: Model Number:
32 Channel Form C VXI Switch E1463A
Product Options: This declaration covers all options of the above product(s).
Conforms with the following European Directives:
The product herewith complies with the requirements of the Low Voltage Directive 73/23/EEC and the EMC Directive 89/336/EEC and carries the CE Marking accordingly
Conforms with the following product standards: EMC Standard
IEC 61326-1:1997+A1:1998 / EN 61326-1:1997+A1:1998 CISPR 11:1997 +A1:1997 / EN 55011:1998 IEC 61000-4-2:1995+A1:1998 / EN 61000-4-2:1995 IEC 61000-4-3:1995 / EN 61000-4-3:1995 IEC 61000-4-4:1995 / EN 61000-4-4:1995 IEC 61000-4-5:1995 / EN 61000-4-5:1995 IEC 61000-4-6:1996 / EN 61000-4-6:1996 IEC 61000-4-11:1994 / EN 61000-4-11:1994
Limit
Group 1 Class A 4kV CD, 8kV AD 3 V/m, 80-1000 MHz
0.5kV signal lines, 1kV power lines
0.5 kV line-line, 1 kV line-ground 3V, 0.15-80 MHz I cycle, 100%
[1]
Canada: ICES-001:1998 Australia/New Zealand: AS/NZS 2064.1
Safety
IEC 61010-1:1990+A1:1992+A2:1995 / EN 61010-1:1993+A2:1995 Canada: CSA C22.2 No. 1010.1:1992 UL 3111-1:1994
Supplemental Information:
[1]
The product was tested in a typical configuration with Agilent Technologies test systems.
September 5, 2000
Date Name
Quality Manager
Title
Authorized EU-representative: Agilent Technologies Deutschland GmbH, Herrenberger Straβe 130, D 71034 Böblingen, Germany
For further information, please contact your local Agilent Technologies sales office, agent or distributor.
9
Notes:
10
Using This Chapter
This chapter gives guidelines to get started using the E1463A 32-Channel, 5 Amp Form C Switch module (Form C switch), including:
Form C Switch Description. . . . . . . . . . . . . . . . . . . . . . . . . . . .11
Configuring the Form C Switch. . . . . . . . . . . . . . . . . . . . . . . . .14
Configuring a Term inal Module. . . . . . . . . . . . . . . . . . . . . . . . .18
Protecting Relays and Circuits . . . . . . . . . . . . . . . . . . . . . . . . .23
Prog r a mmin g th e Fo rm C Switch . . . . . . . . . . . . . . . . . . . . . . . 2 7
Form C Switch Description
The E1463A 32-Channel, 5 Amp, Form C Switch module (Form C switch) is defined as a VXIbus instrument. VXIbus plug-in modules installed in a mainframe or used with a command module are treated as independent instruments each having a unique secondary address.
Chapter 1
Getting Started
Each instrument is also assigned a dedicated error queue, input and output buffers, status registers and, if applicable, dedicated mainframe/command module memory space for readings or data. An instrument may be composed of a single plug-in module (such as a counter) or multiple plug-in modules (for a switchbox or scanning multimeter instrument).
Basic Operation The Form C switch is a C-Size VXIbus and VMEbus register-based product
that can be used for switching, scanning, and control. The switch can operate in a C-Size VXIbus or VMEbus mainframe. The switch has 32 channels of Form C relays. Each channel includes a relay with common (C), normally open (NO), and normally closed (NC) contacts.
For the Form C switch, switching consists of opening or closing a channel relay to provide alternate connections to user devices. Scanning consists of closing a set of relays, one at a time.
As shown in Figure 1-1, the Form C switch module consists of 32 channels (channels 00 through 31). Each channel uses a nonlatching relay. Varistors (MOVs) can be added for relay protection and resistors or fuses can be added for circuit protection. See "Adding Relay and Circuit Protection" for more information on protecting relays.
External pull-up resistors can also be added for digital output applications. See "Digital Output Configuration" for additional information about these applications.
Chapter 1
Getting Started 11
Channel 0
E1463A MO DULE
NCNO
C0N0
C0C
C0NC
TERMINAL MODULE
C0NO
C0C
C0NC
Channel 15
Channel 16
Channel 31
NO NC
NO
NC
NO
NC
C15N0
C15C
C15C
C16N0
C16C
C16C
C31N0
C31C
C31C
Pads
for MOVS
Pads
for MOVS
Jumper
C15NO
C15C
C15NC
C16NO
C16C
C16NC
C31NO
C31C
C31NC
12 Getting Started
Figure 1-1. Form C Switch Simplified Schematic
Each channel is switched by opening or closing the appropriate channel relay. Since the relays are nonlatching, the relays are all open during power-up or power-down.
When a reset occurs, all channel commons (C) are connected to the corresponding normally closed (NC) contacts. When a channel is closed, the common contact (C) is connected to the normally open contact (NO). User inputs and outputs to each channel are via the NO, NC, and C terminal connectors on the terminal module.
Chapter 1
Typical
Configurations
The Form C switch accepts user inputs up to 125 Vdc or 250 Vrms. Maximum rated power capacity (external load) is 150 Wdc or 1250 VA per channel. Per module, you can switch 1500 Wdc or 12500 VA.
As noted, the switch may be configured for general purpose switching/scanning or digital output applications. For general purpose switching or scanning, no additional configuration is required. To configure the switch for digital output applications, install external pull-up resistors as required.
Multiple Form C switch modules can be configured as a switchbox instrument. When using a switchbox instrument, multiple Form C switch modules within the switchbox instrument can be addressed using a single interface address. This configuration, however, requires the use of Standard Commands for Programmable Instruments (SCPI).
General Purpose Relay
Configuration
As factory-configured, the Form C switch module is set for general purpose relay configuration. For this configuration, you can switch channels by opening or closing channel relays or you can scan a set of channels.
Figure 1-2 shows a typical general purpose relay configuration for channel
00. When the relay is open (NC terminal is connected to the C terminal), load 1 is connected. When the relay is closed (NO terminal is connected to the C terminal), load 2 is connected.
TERMINAL
Channel
00
C
NO NC
Relay Load
Open 1
Closed 2
MODULE
C0NO C0NC
C0C
+V
2 1
Chapter 1
Digital Output Configuration
Figure 1-2. General Purpose Relay Configuration
By installing external pull-up resistors, the Form C switch can be configured as a digital output device. Figure 1-3 shows channel 00 configured for digital output operation. When the channel 00 relay is open (NC connected to C), point 1 is at +V. When the channel 00 relay is closed (NO connected to C), point 1 is at 0V.
Getting Started 13
E1463A
MODULE
Channel
00
C
NO NC
TERMINAL
MODULE
C0NO C0NC
C0C
+V
1 2
Relay
Open
Closed
Figure 1-3. Digi tal Out put Configuration
Configuring the Form C Swit ch
This section gives guidelines to configure the Form C switch, including the following topics. See "Configuring a Terminal Module" for guidelines to configure the terminal modules. Section topics include:
Warnings and Cautions
Setting the Logical Address Switch
Setting the Interrupt Priority
Installing the Form C Switch in a Mainframe
War nings a nd
Cautions
+V
OV
1
2
0V
OV
14 Getting Started
WARNING SHOC K HAZAR D. Only qu a li f ied, servic e - train e d perso nne l who are
aware of the hazards involved should install, configure, or remove the Form C switch module. Use only wire rated for the highest input voltage and remove all power sources from the mainframe and installed modules before installing or removing a module.
CAUTION MAXIMUM VOLTAGE/CURRENT. Maximum allowable voltage per channel for
the Form C switch is 125 Vdc or 250 Vrms. Maximum current per channel is 5 Adc or ac rms (non-inductive). Maximum power of an external load is 150 W or 1250 VA per channel or 1500 W or 12500 VA per module. Exceeding any limit may damage the Form C switch.
Chapter 1
CAUTION STATIC ELECTRICITY. Static electricity is a major cause of component
failure. To prevent dama ge to the electrical components in the Form C switch, observe anti-static techniques whenever removing a module from the mainframe or whenever working on a module. The Form C switch is susceptible to static discharges. Do not install the Form C switch without its metal shield attached.
Setting the Logical
Address Switch
NOTE The address switch selected value mus t be a multiple of 8 if the module is
The logical address switch (LADDR) factory setting is 120. Valid addresses are from 1 to 255. The Form C switch can be configured as a single instrument or as a switchbox. See Figure 1-4 for switch position information.
the first module in a switchbox used with a VXIbus command module and is being instructed by SCPI commands.
8+16+32+64=120
Logical Ad dres s = 120
128 64 32 16 8 4 2
1
D
N
E
E
S
P
O
O
L C
CLOSED = Switch Set To 1 (ON ) OPEN = Switch Set To 0 (OFF)
Logical Address Switch Location
Chapter 1
Figure 1-4. Setting the Logical Address Switch
Getting Started 15
Setting the Interrupt
Priority
NOTE The interrupt priority jumper MUST be installed in position 1 when using the
The Form C switch generates an interrupt after a channel has been closed. These interrupts are sent to, and acknowledgments are received from, the command module (E1406, for example) via the VXIbus backplane interrupt lines.
For most applications where the Form C switch is installed in a C-Size mainframe, the interrupt priority jumper does not have to be moved. This is because the VXIbus interrupt lines have the same priority and interrupt priority is established by installing modules in slots numerically c losest to the command module. Thus, slot 1 has a higher priority than slot 2, slot 2 has a higher priority than slot 3, etc.
See Figure 1-5 to change the interrupt priority. You can select eight different interrupt priority levels. Level 1 is the lowest priority and Level 7 is the highest priority. Level X disables the interrupt. The Form C switch factory setting is Level 1. To change the interrupt priority, remove the 4-pin jumper from the old priority location and reinstall in the new priority location. If the 4-pin jumper is not used, the two jumper locations must have the same interrup t priority level s ele c t e d.
E1406 Command Module. Level X interrupt priority should not be used under normal operating conditions. Changing the priority level jumper is not recommended. Do not change unless specifically instructed to do so.
Using 2-Pin
Jumper
Logical Address
Switch Location
Using 4-Pin
Jumper
IRQ
7 6 5 4 3 2 1
X
IRQ
7 6 5 4 3 2 1 X
Interrupt
Priority
Location
Figure 1-5. Setting the Interrupt Priority
16 Getting Started
Chapter 1
Installing the Form
C Switch in a
Mainframe
Set the extraction levers out.1
The E1463A may be installed in any slot, except slot 0, in a C-size VXIbus mainframe. See Figure 1-6 to install the Form C switch in a mainframe.
Slide the E1463A into any slot
2
(exc ept slot 0) until the backplane connectors touch.
4 Tighten the top and bottom screws
to secure the module to the mainframe.
NOTE: The extraction levers will not seat the backplane connectors on older VXIbus mainframes. You must manually seat the connectors by pushing i n the module until the module's front panel is flush with the front of the mainframe. The extraction levers may be used to guide or remove the Form C switch.
To remove the module from the mainframe, reverse the procedure.
Seat the E1463A into
3
the mainframe by pushing in the extraction levers.
Chapter 1
Figure 1-6. Installing the Form C Switch in a VXIbus Mainframe
Getting Started 17
Configuring a Terminal Module
The E1463A 32-Channel, 5 Amp, Form C Switch consists of a relay switch card and a screw type standard terminal module. In addition, a solder eye terminal module (Option A3G) is available. User inputs to the Form C switch are to the normally open (NO), normally closed (NC), and common (C) terminal connectors on the terminal module. This section shows how to configure the terminal modules, including:
Standard Terminal Module Description
Terminal Module Option A3G Description
Connecting User Inputs
Wiring a Terminal Module
Attaching a Terminal Module to the Form C Switch
Standard Terminal
Module Description
Terminal Module
Option A3G
Description
Figure 1-7 shows the standard screw type terminal module connectors and associated channel numbers.
Figure 1-7. Standard Screw- type Terminal Modul e
Option A3G provides a plastic terminal module housing with solder eye connectors (see Figure 1-8) that allows you to solder wires onto connectors which are then inserted directly into the mating connector of the Form C switch. See Figure 1-9 for pin-outs.
18 Getting Started
Figure 1-8. Option A3G Terminal Module
Chapter 1
Connecting User
Inputs
Figure 1-9 shows the front panel of the E1463A and the Form C switch connector pin-out that mates to the terminal module. Actual user inputs are connected to the applicable terminal module.
Pin
A32
Pin
A2
Pin
A32
Pin
A2
00NO 01NO 02NO 03NO 04NO 05NO 06NO 07NO 08NO 09NO 10NO 11NO 12NO 13NO 14NO 15NO
16NO 17NO 18NO 19NO 20NO 21NO 22NO 23NO 24NO 25NO 26NO 27NO 28NO 29NO 30NO 31NO
Pin
C32
Pin
C2
Pin
C32
Pin
C2
00C 01C 02C 03C 04C 05C 06C 07C 08C 09C 10C 11C 12C 13C 14C 15C
16C 17C 18C 19C 20C 21C 22C 23C 24C 25C 26C 27C 28C 29C 30C 31C
Pin
E32
Pin
E2
Pin
E32
Pin
E2
00NC 01NC 02NC 03NC 04NC 05NC 06NC 07NC 08NC 09NC 10NC 11NC 12NC 13NC 14NC 15NC
16NC 17NC 18NC 19NC 20NC 21NC 22NC 23NC 24NC 25NC 26NC 27NC 28NC 29NC 30NC 31NC
Chapter 1
Figure 1-9. Form C Switch Pin-outs
Getting Started 19
Wiring a Terminal
Module
Remove Cl ear Cover1 Remove and Retain Wiring Exit Panel2
Figures 1-10 and 1-11 show how to connect field wiring to the terminal module. When making wiring connections, be sure the wires make good connections on screw terminals. Maximum terminal wire size is No. 16 AWG. When wiring all channels, a smaller gauge wire (No. 20 - 22 AWG) is recommended. Wire ends should be stripped 6 mm (0.25 inch) and tinned to prevent single strands from shorting to adjacent terminals.
A. Release Screw s
B. Press Tab F orward
and Release
Tab
Make Conn ect i ons3
Screw Type Solder Eye Type
Insert wire into terminal. Tighten screw.
Use wire
Size 16-26
AWG
5mm
0.2"
VW1 Flammab ility
Rating
Remov e 1 of the 3
wire exit panels
20 Getting Started
Route WiringInstall Connectors (So lder Eye Only)45
Tighten wraps to
secure wires
Figure 1-10 . Wir in g a Terminal Module (contin ued on next page)
Chapter 1
Replace Wiring Exit Panel
6
Replace Clear Cover
7
A. Hook in the top cover tabs
onto the fixture
B. Press down and
tighten screws
Cut required
holes in panels
for wire exit
8
Install the Terminal Module
Keep wiring exit panel hole as small as possible
Push in the Extraction Levers to Lock the
9
Terminal Module onto the E1463A
Extraction
Levers
Chapter 1
E1463A
Module
Figure 1-11. Wiring a Terminal Module
Getting Started 21
Attaching a
Terminal Module to
the Form C Switch
Extend the extraction levers on the1 terminal module.
Extraction Le ver
Use small screwdriver
to release the two
extraction levers
Figure 1-12 gives guidelines to attach a terminal module to the Form C switch.
E1463A
Module
Extraction Lever
Align the terminal mo dule c onnectors
2
to the E1463A module connectors.
Apply ge ntle press u r e to attach
3
the terminal module to the E1463A module.
Push in the extraction levers
4
to lock the terminal module onto the E1463A m odule.
Extraction
Levers
To remove the terminal module from the E1463A, use a small screwdriver to release the two extraction levers and push both levers out simultaneo usly to free it from the Form C switch module.
22 Getting Started
Figure 1-12. Attaching a Terminal Module to the Form C Switch
Chapter 1
Protecting Relays and Circuits
This section gives guidelines to protect relays and circuits in the Form C switch, including:
Relay Life Factors
Extending Relay Life
Adding Relay and Circuit Protection
Maximu m Allowab le Module Sw itch C ur r en t
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 Relays have a shorter life span than other electronic parts, such as ICs.
Because of their mechanical nature, relays usua lly hav e about 10 million operations (at 30 operations per second) which is not quite 100 hours. Therefore, to get the full life out of a relay in a switching module, you must protect the relay.
Loading and Switching
Frequency
Electromechanical relays are subject to normal wear-out. Relay life depends on several factors. The effects of loading and switching frequency are:
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.
CAUTION 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 Detection A preventive maintenance routine can prevent problems caused by
unexpected relay failure. The end of the life of the relay can be determined by using one or more of the following three methods. The best method (or combination of methods), as well as the failure criteria, depends on the application in which the relay is used.
Contact Resistance. As the relay begins to wear out, its contact resistance
increases. When the resistance exceeds a predetermined value, the relay should be replaced.
Chapter 1
Stability of Contact Resistance. 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 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.
Getting Started 23
Replacement Strategy The replacement strategy depends on the application. If some relays are
used more often, or at a higher load, than the others, the relays can be individually replaced as needed. If all the 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.
Extending Relay
Life
To help ensure full life for the relays, you should consider the following items.
Be aware of non-resistive loads. When switching inductive loads, high
voltages (thousands of volts) are produced across the relay contacts. This causes arcing and transfer of material between contacts. Oxides and carbides from components of the atmosphere coat the contacts and cause high contact resistance.
The transfer of material creates hills and valleys that lock together to "weld" contacts. Motor loads, for example, produce large inrush currents that can be 5 to 10 times greater than the steady state current. Table 1-1 summarizes inrush current magnitudes for different types of loads.
Table 1-1. Inrush Currents
T ype of
Load
Inrush Curr ent
Times
Steady State
T ype of
Load
Inrush Current
Times
Stea dy State
Resistive 1 Incandescent Lamp 10 - 15 Capacitive 20 - 40 Mercury Lamp 3 Solenoid 10 - 20 Sodium Vapor Lamp 1 - 3 Motor 5 - 10 Transformer 5 - 15
24 Getting Started
Be aware of heavy current appl ications. When a relay is used in heavy current
applications, the thin layer of gold plating on the contact may be destroyed. This will not affect the heavy current application. However, if you go back to a low current application, a high contact resistance may be present and the relay cannot be used for low current applications.
Use protective circui ts with relay connections. The relay manufacturer
(Aromat) recommends some protective circuits that can be used with your relay connections. See the Aromat Technical Data Book (AGC-C0064-A-1) for additional information. Contact Aromat at (408) 433-0466 for more information.
Do not use capacitors. Capacitors are not to be placed across the load or
relay contacts. Capacitors may suppress arcs, but the energy stored in the capacitors will flow through the relay contacts, welding them.
Chapter 1
Adding Relay and Circuit Protection
The Form C switch has space for adding relay and circuit protection. Relay protection can be added by placing a protective device across the specified pads. This is done by adding metal oxide varistors (MOVs) between the common (C) and normally open (NO) or normally closed (NC) terminals. As the voltage goes up, the varistor draws current to protect the relay.
Circuit protection can be added by placing a protective device in series with the common lead. This is done by adding a resistor between the common (C) terminal and your circuit. When inst allin g circuit prote ction, a jump er must be removed first.
To install these protective devices it is necessary to remove the sheet metal covers from the module. The locations for installing the devices are labeled as shown in Table 1-2, where xx = the channel number. Do not install a capacitor in any of these locations. Figure 1-13 shows locations where these protective devices can be added.
Table 1-2. Protective Devices Board Locations
Relay Pro tection Circuit Protection
VxxO Varistor location across common (C) and normally
open (NO).
VxxC Varistor location across common (C) and normally
closed (NC). Circuit Protection JMxx Resistor or fuse locati on in series with common (C).
C
VxxC VxxO
x
x M
J
xx = Channel Number
Figure 1-13. Adding Relay and Circuit Protection
NCNO
Relay
Chapter 1
Getting Started 25
Maximum Allowable
Module Switch
Current
5
4
S P
M A
­h
c
3
t
i w S r
e P t
2
n e
r
r u
C
1
The Form C switch has an individual channel current specification of 5A. However, if you apply 5A to all the channels with a relay contact resistance of .25 Ohms, the power dissipation is 200 W. Since, for example, the E1401B mainframe can only provide cooling for 55W per slot (to keep the temperature rise to 10
o
C), this cannot be allowed to happen.
A reasonable maximum current for the entire mainframe is 50A. That is, 10 channels each carrying 5A or some combination of channels and currents that total 50A. This will produce about 67.5 W of internal dissipation, leading to an approximate 15
o
C temperature rise.
Figure 1-14 shows a typical way to derate the channels, in terms of current throughout the channels, to keep internal power dissipation under 45 W and
67.5 W or 10
o
C and 15oC temperature rise, respectively.
E1401B Mainframe and .25 Relay Contact Resistance
0
1230 4 5 6 7 8 9 10111213141516171819202122232425262728293031
No. of Switches Carrying C urrent
=45 Watt MF Diss =67.5 Wat t MF Diss
Figure 1-14. Typical Form C Switch Allowable Switch Curre nt
26 Getting Started
Chapter 1
Programming the Form C Switch
This section gives guidelines to program the Form C switch, including:
Using SCPI Commands
Addressing the Form C Switch
Initial Oper at io n
Using SCPI Commands
NOTE Most examples in this manual use SCPI commands . See Appendi x B for
There are several ways you can program the Form C switch. One way is to write directly to the registers. This method can provide better throughput speed. However, it requires more knowledge of the Form C switch design.
Another way to program the Form C switch is to use an E1406 Command Module and SCPI commands. With SCPI commands, the command module parses the commands and writes to the appropriate Form C switch register.
You can use different controllers and different programming languages. However, most examples in this manual use SCPI commands and an HP 9000 Series 200/300 (or equivalent) computer running BASIC or a PC with an 82350A (or equivalent) Interface Card (with command library) running Borland
information on writing directly to the registers.
To address specific channels (relays) within a Form C switch, you must specify the SCPI command and switch channel list. Table 1-3 lists the most commonly used commands.
SCPI Command Description
Turbo C.
Table 1-3. Typical SCPI Commands
Addressing the
Chapter 1
Form C Switc h
CLOSe <
OPEN <
SCAN <
Relays (channels) within the Form C switch are addressed using the channel_list statement. The channel_list is a combination of the switch card number and the channel numbers. The channel_list takes the form @ccnn where cc = switch card number (01-99) and nn = channel number (00-31).
channel_list
channel_list
channel_list
> Connects the normally open (NO) terminal to the
common (C) terminal for the channels specified.
> Connects the normally closed (NC) terminal to the
common (C) terminal for the channels specified.
> Closes the set of Form C relays, one at a time.
Getting Started 27
Card Numbers The card number (cc of the channel_list) identifies the module within a
switchbox. The card number assigned depends on the switch configuration used. Leading zeroes can be ignored for the card number.
In a single-module switchbo x configuration, the card num ber is always 01. In a multiple-module switchbox logical addresses.
The module with the lowest logical address is always card number 01. The module with the next successive logical address is card number 02, etc. Figure 1-15 illustrates card numbers and logical addresses of a typical multiple-module switchbox configuration.
configuration, modules are set to successive
6
4
8
1
6 1
6 1
4
8
Card Number 01
1
2
Logical Address = 120
Secondary Address = 15
Card Number 02
2
Logical Address = 121
Card Number 03
1
2
Logical Address = 122
Switc h Modu l e
Switc h Modu l e
Switc h Modu l e
Command
Module
8
2
4
2
3
6
1
8 2
641
32841
8
2
2
641
3
Note: Physical placement of the Module in the Logical Address
order is not required, but is recommended.
Figure 1-15. Typical Card Numbers in a Multiple-module Switchbox
Channel Addresses The channel address (nn of the channel list) determines which relay on the
selected card will be addressed. Form C switch channel numbers are 00 through 31. The channels can be addressed using channel numbers or channel ranges:
28 Getting Started
single channels (@ccnn);
multiple channels (@ccnn,ccnn,...);
sequential channels (@ccnn:ccnn);
groups of sequential channels (@ccnn:ccnn,ccnn:ccnn);
or any combination of the above.
Use a comma (,) to form a channel list or a colon (:) to form a channel range. Only valid channels can be accessed in a channel list or channel range. Also, the channel range must be from a lower channel number to a higher channel number. For example, CLOS(@100:215) is acceptable, but CLOS(@215:100) generates an error.
Chapter 1
Initial Op e ra t ion Two example programs follow to help get you started using the Form C
switch. The first example assumes an HP 9000 Series 200/300 controller running BASIC and a GPIB interface. The second example assumes a PC running Borland Turbo C and an 82350A (or equivalent) Interface Card (with command library)
Examp le: Closing a
Channel (BASIC)
Examp le: Closing a
Channel (TURBO C)
This program closes channel 02 of a Form C switch at logical address 120 (secondary address = 120/8 = 15) and queries the channel closure state. The result is returned to the computer and displayed (1 = channel closed, 0 = channel open). See Chapter 3 for information on the SCPI commands.
10 OUTPUT 70915;"*RST" 20 OUTPUT 70915;"CLOS(@102)" 30 OUTPUT 70915;"CLOS?(@102)" 40 ENTER 70915;Value 50 PRINT Value 60 END
This program closes channel 02 of a Form C switch at logical address 120 (secondary address = 120/8 = 15) and queries the channel closure state. The result is returned to the computer and displayed (1 = channel closed, 0 = channel open). See Chapter 3 for information on the SCPI commands.
#include <stdio.h> #include <chpib.h> /*Include file for GPIB*/
#define ISC 7L #define FORMC 70915L /*Form C default address*/ #define TASK1 "*RST" /*Command for a reset*/ #define TASK2 "CLOSE (@102)" /*Command to close channel 02*/ #define TASK3 "CLOS? (@102)" /*Command to query channel 02*/
! Reset the module ! Close channel 02 ! Query channel 02 state ! Enter result into Value ! Display result
Chapter 1
main() { char into[257]; int length = 256;
/*Output commands to Form C switch*/
error_handler (IOTIMEOUT (7L,5.0), "TIMEOUT"); error_handler (IOOUTPUTS (FORMC, TASK1, 4), "OUTPUT command"); error_handler (IOOUTPUTS (FORMC, TASK2, 12), "OUTPUT command"); error_handler (IOOUTPUTS (FORMC, TASK3, 12), "OUTPUT command");
/*Enter from Form C switch*/
error_handler (IOENTERS (FORMC, into, &length), "ENTER command"); printf("Now let's see if the switch is closed: %s",into); return;
}
int error_handler (int error, char *routine) {
Getting Started 29
char ch; if (error != NOERR) {
printf ("\n Error %d %s \n", error, errstr(error)); printf (" in call to function %s \n\n", routine); printf ("Press 'Enter' to exit: "); scanf ("%c", &ch);
exit(0); } return 0;
}
30 Getting Started
Chapter 1
Using This Chapter
Chapter 2
Using the Form C Switch
This chapter uses typical examples to show ways to use the E1463A Form C switch module for switching channels and scanning channels. See Chapter 3 for command information. Chapter contents are:
Form C Switch Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . .31
Power-on and Reset Conditions. . . . . . . . . . . . . . . . . . . . . . . .32
Module Identification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
Switching Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34
Scanning Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
Querying the Form C Switch. . . . . . . . . . . . . . . . . . . . . . . . . . .42
Using the Scan Complete Bit . . . . . . . . . . . . . . . . . . . . . . . . . .42
Saving and Recalling States. . . . . . . . . . . . . . . . . . . . . . . . . . .44
Detecting Error Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . .45
Synchron izing the For m C Swi tc h. . . . . . . . . . . . . . . . . . . . . . .46
NOTE All examples in this chapter use GPIB select code 7, primary address 09,
and secondary address 15 (LADDR = 120).
Form C Switch Commands
Table 2-1 explains some of the SCPI commands used in this chapter. See Chapter 3 for more information on these commands.
Table 2-1. E1463A Form C Switch Commands Used in Chapter 2
SCPI Command Command Description
[ROUTe:]CLOSe <
[ROUTe:]CLOSe? <
[ROUTe:]OPEN <
[ROUTe:]OPEN? <
[ROUTe:]SCAN <
INITiate[:IMMediate] Starts scan sequence and closes first channel in the <channel_list>
TRIGger:SOURce BUS | EXT | HOLD | IMM | TTLT
channel_list>
channel_list>
channel_list>
channel_list>
channel_list>
Closes the channels in the <channel_list>
Queries the state of the channels in the <channel_list>
Opens the channels in the <channel_list>
Queries the state of the channels in the <channel_list>
Closes the channels in the <chann el_list>, one at a time
Selects the trigger source to advance the scan
Chapter 2
Using the Form C Switch 31
Power-on and Reset Conditions
Since the Form C switch module has nonlatching relays, all relays condition are in the normally closed (NC) position at power-down and power-up. The *RST command opens all channels, invalidates the current channel list for scanning and sets the conditions shown in Table 2-2.
Table 2-2. Reset Conditions
Parameter Default Description
ARM:COUNt
TRIGger:SOURce IMM Will advanc e s canning cycles automatically
INITiate:CONTinuous
OUTPut[:STATe]
Module Identification
The following example programs use the *RST, *CLS, *IDN?, SYST:CTYP?, and SYST:CDES commands to reset and identify the E1463A Form C switch module. A typical print for the E1463A Form C switch is:
Example: Module
Identification
(BASIC)
10 DIM A$[50], B$[50], C$[50]
20 OUTPUT 70915;"*RST; *CLS"
30 OUTPUT 70915; "*IDN?" 40 ENTER 70915; A$ 50 OUTPUT 70915; "SYST:CDES? 1"
60 ENTER 70915; B$ 70 OUTPUT 70915; "SYST:CTYP? 1"
80 ENTER 70915; C$ 90 PRINT A$, B$, C$
100 END
1
OFF OFF
HEWLETT-PACKARD,SWITCHBOX,0,A.04.00
32 Channel General Purpose Relay
HEWLETT-PACKARD,E1463A,0,A.04.00
Number of scanning cycles is 1
Number of scanning cycles is set by ARM:COUNt Trigger output from EXT or TTL sources is disabled
IDimensions three string variables to fifty characters
!Outputs the commands to reset and clears the status register
!Queries for module identification IEnters the results into A$ !Outputs the command for a card
description !Enters the results into B$ !Outputs the command for the
card type !Enters the results into C$ !Prints the contents of variables
A$, B$, and C$
32 Using the Form C Switch
Chapter 2
Example: Module
Identification
(TURBO C)
#include stdio.h #include chpib.h /*Include file for GPIB*/
#define ISC 7L #define FORMC 70915L /*Form C default address*/ #define TASK1 "*RST;*CLS;*IDN?" /*Reset, clear, and query id*/ #define TASK2 "SYST:CDES? 1" /*Command for card description*/ #define TASK3 "SYST:CTYP? 1" /*Command for card type*/
main( ) { char into1[51], into2[51], into3[51]; int length = 50; /*Output and enter commands to Form C*/
error_handler (IOTIMEOUT (7L,5.0), "TIMEOUT");
error_handler (IOOUTPUTS (FORMC, TASK1, 15), "OUTPUT command"); error_handler (IOENTERS (FORMC, into1, &length), "ENTER command");
error_handler (IOOUTPUTS (FORMC, TASK2, 12), "OUTPUT command"); error_handler (IOENTERS (FORMC, into2, &length), "ENTER command");
error_handler (IOOUTPUTS (FORMC, TASK3, 12), "OUTPUT command"); error_handler (IOENTERS (FORMC, into3, &length), "ENTER command");
printf("IDENTIFICATION: %s",into1); printf("CARD DESCRIPTION: %s",into2); printf("CARD TYPE: %s",into3); 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; }
Chapter 2
Using the Form C Switch 33
Switching Channels
For general purpose relay operation, you can connect or disconnect a load by opening or closing specified channel relays. By adding exterminal pull-up resistors, the switch can be configured for digital output operations.
Use CLOS <channel_list> to connect a channel's normally open (NO) terminal to its common (C) terminal or use OPEN channel_list to connect a channel's normally closed (NC) contact to its common (C) terminal. The channel_list has the form (@ccnn) where cc = card number (01-99) and nn = channel number (00-31).
To OPEN or CLOSe multiple channels place a comma (,) between the channel numbers. For example, to close channels 101 and 103 execute CLOS (@101,103). To OPEN or CLOSe a continuous range of channels place a colon (:) between the first and last channel numbers.
Example:
Opening/Closing
Channels (BASIC)
NOTE Implied commands are those that appear in square brackets ([ ]) in the
Example: Voltage
Switching (BASIC)
This BASIC program shows one way to close and open channel 2 on an E1463A Form C module (card #1).
command syntax. The brackets are not part of the command and are not sent to the instrument. For example, in the following program, ROUTe can be eliminated and just the CLOSe command can be used.
10 DISP "TEST E1463A Module" 20 OUTPUT 70915; "ROUT:CLOS (@102)" 30 OUTPUT 70915; "ROUT:OPEN (@102)" 40 END
This example closes channel 00 of a Form C switch module to switch the load voltage (E) from load 1 to load 2. When the channel relay is open, the load voltage is applied to load 1. When the relay is closed, the voltage is applied to load 2. See Figure 2-1 for typical user connections. The program shows how to close channel 00 of the E463A Form C Switch. To open channel 00, use OPEN (@100).
10 DISP "Testing the E1463A" 20 OUTPUT 70915; "CLOS (@100)"
30 END
!Close channel 00 relay (connect NO to C). 1 is the card number and 00 is the channel number.
34 Using the Form C Switch
Chapter 2
E1463A
MODULE
Channel
00
NO
C
NC
Figure 2-1. Example: Voltage Switching
TERMINAL
MODULE
C0NO
2
C0NC
1
C0C
E
E
Example:
Controlling RF
Switches/Step
Attenuators
(BASIC)
Figure 2-2 shows one way to drive the 8761 SPDT RF Switches or 33300 Series Programmable Step Attenuators. (Figure 2-2 only shows control for the 33300 40 dB step. Additional drive relays are required for the 10 dB and 20 dB steps.)
The 8761A and 33300A/C operate from a 12V - 15V coil voltage, while the 8761B and 33300B/D operate from a 24V - 30V coil voltage. To close channel 00, execute the following. To open channel 00, use OPEN (@100).
10 DISP "Applying -12V" 20 OUTPUT 70915; "CLOS (@100)"
30 END
!Close channel 00 relay (connect NO to C). 1 is the card number and 00 is the channel number.
Chapter 2
Using the Form C Switch 35
E1463A
MODULE
Channel
00
C
NO NC
TERMINAL
MODULE
C0NO C0NC
C0C
6205C
EXTERNAL
DUAL PWR SUPPLY
-12V
+12V
8761A RF Switch or
33300A/C Step Attenuator
(12V Coil Voltage)
1
2
E1463A
MODULE
Channel
00
C
Channel
01
C
NO NC
NO NC
TERMINAL
MODULE
C0NO C0NC
C0C
C1NO C1NC
C1C
33300B/D Step Attenuator
+
EXTERNAL
24V PWR SUPPLY
6206B
8761
Port C
1
8761B RF Switch or
(24V Coil Voltage)
2
33300
1
2
1
Port 1
Port 2
2
Figure 2-2. Example: Controlling RF Switches/Step Attenuators
36 Using the Form C Switch
Chapter 2
Exam p le: Dig ital
Output
Configuration
(BASIC)
Figure 2-3 shows channel 00 configured for digital output operation. When the channel 00 relay is open (NC connected to C), point 1 is at +V and point 2 is at 0V. When the channel 00 relay is closed (NO connected to C), points 1 and 2 are both at 0V. To close channel 00, execute the following. To open channel 00, use OPEN (@100).
10 DISP "Closing channel 0" 20 OUTPUT 70915; "CLOS (@100)"
30 END
!Close channel 00 relay (connect NO to C). 1 is the card number and 00 is the channel number.
Example: Matrix
Switching (BASIC)
E1463A
MODULE
Channel
00
NO
C
NC
Relay 1
Open +V
Closed OV
Figure 2-3. Example: Digital Output Configuration
The Form C switch module can be configured as a 4 x 8 single-wire matrix to connect any combination of up to four user sources (S0, S1, S2, S3) to any combination of up to eight user instruments (I0, I1, I1...I7) at a time. To do this, make the connections shown in Table 2-3.
TERMINAL
MODULE
C0NO C0NC
C0C
2
0V
OV
+V
1
2
Chapter 2
Table 2-3. Matrix Switching Connections
Connect These Common (C)
Channel Numbers Together
0, 8, 16, and 24 0 - 7 1, 9, 17, and 25 8 - 15 2, 10, 18, and 26 16 - 23 3, 11, 19, and 27 24 - 31 4, 12, 20, and 28
Using the Form C Switch 37
Connect These Normally Open (NO)
Channel Numbers Together
Table 2-3. Matrix Switching Connections
S0
S1
S2
S3
I0
00
C
08
C
16
C
24 25
C
NO
NO
NO
NO
Connect These Common (C)
Channel Numbers Together
Connect These Normally Open (NO)
Channel Numbers Together
5, 13, 21, and 29 6, 14, 22, and 30 7, 15, 23, and 31
Close the channel number enclosed in the circle in Figure 2-4 to connect the corresponding row and column. This example closes channel 25 to connect S3 to I1 and closes channel 20 to connect S2 to I4. To close channels 20 and 25, execute the following. To open the channels, use OPEN (@120,125).
10 DISP "Testing Switch Matrix" 20 OUTPUT 70915; "CLOS (@120,125)"
!Close channels 20 and 25. 1 is the card number; 20 and 25 are channel numbers.
30 END
02
10
18
26
I3
NO
C
NO
C
NO
C
NO
C
I1
C
C
C
C
09
17
01
I2
NO
C
NO
C
NO
C
NO
C
03
11
19
27
NO
NO
NO
NO
I4
04
C
12
C
20
C
28 29
C
I5
NO
NO
NO
NO
I6
NO
05
C
NO
13
C
NO
21
C
NO
C C
I7
NO
06
C
NO
14
C
NO
22
C
NO
30
NO
07
C
NO
15
C
NO
23
C
NO
31
C
Close this channel to connect S to I.
38 Using the Form C Switch
Figure 2-4. Example: Matrix Switching
Chapter 2
Scanning Channels
For the Form C switch, scanning channels consists of closing a specified set of channels, one channel at a time. You can scan any combination of channels for a single-module or a multiple-module switchbox. Single, multiple, or continuous scanning modes are available. See Chapter 3 for additional information on scanning Form C switch channels.
Channel lists can extend across boundaries. For multiple-module switchbox instruments, the channels to be scanned can extend across switch modules. For example, for a two-module switchbox instrument, SCAN (@100:231 will scan all channels of both Form C switch modules.
Use ARM:COUNt <number> to set multiple/continuous scans (from 1 to 32,767 scans). Use INITiate:CONTinuous ON to set continuous scanning. See Chapter 3 for information about these SCPI commands.
Example: Scanning
Using Trig In and
Trig Out Ports
(BASIC)
3457A Multimeter (Rear View)
This example shows one way to synchronize instrument measurements of a device under test (DUT) with Form C switch channel closures. For measurement synchronization, the E1406A Command Module "Trig In" and "Trig Out" ports are connected to the instrument "Voltmeter Complete" and "External Trigger ports. See Figure 2-5 for typical user connections.
For this example, the normally closed (NC) contacts (channels 00-02) are connected to ground and the measurements are made on the common (C) contacts. The command module and instrument are connect ed via GPIB. The Form C switch module has a logical address 120 (secondary address
15) and the external instrument has an address of 722.
E1406A
Command
Module
+5V
Trig
Trig Out
In
+5V
0V
Voltmeter External Complete
0V
Trigger
Chapter 2
HILO
I
HI
LO
NC(00,01,02)
C(00,01,02)
E1463A
FORM-C
Terminal Module
Figure 2-5. Example: Scanning Using Trig In and Trig Out Ports
Using the Form C Switch 39
E1463A
Module
10 OUTPUT 70915; "*RST;*CLS" 20 OUTPUT 722;"TRIG EXT;DCV" 30 OUTPUT 722;"MEM FIFO" 40 OUTPUT 70915;"OUTP ON" 50 OUTPUT 70915;"TRIG:SOUR EXT" 60 OUTPUT 70915;"SCAN (@100:102)" 70 OUTPUT 70915;"INIT" 80 WAIT 2 90 FOR Channel=1 TO 3 100 ENTER 722;Result 110 PRINT Result 120 NEXT Channel 130 END
!Reset and clear the module !External trigger, dc volts !Mem o r y first i n , fi r s t out !Enable "Trig Out" !External triggering !Scan channels 00-02 !Enable scan !Wait for switch closures !Start loop !Enter result !Display result !Increment count
Example: Scanning
Using the TTL
Trigger Bus (BASIC)
E1406A
Command Module
This example uses the E1406A Command Modu le TTL trigger bus lines to synchronize Form C channel closures to an E1412A System Multimeter. For measurement synchronization, the E1406A TTL trigger bus line 0 is used by the Form C module to trigger the multimeter to perform a measurement and the E1406A TTL trigger bus line 1 is used by the multimeter to advance the Form C scan.
Figure 2-6 shows one way to connect the Form C module to the E1412A multimeter module. The connections shown with dotted lines are not actual hardware connections. These connections indicate how the firmware operates to accomplish the triggering.
Part of VXIbus
TTLTrg0
TTLTrg1
Multimeter Module
Trigger
VM
Complete
HI
E1412A
E1463A
Terminal Modul e
TTLTrg0
TTLTrg1
E1463A
Module
40 Using the Form C Switch
LO
Figure 2-6. Example: Scanning Using the TTL Trigger Bus
Chapter 2
The following BASIC program sets up the multimeter (GPIB address 70903) to scan making 2-wire resistance measurements. The common terminals for channels 0 through 2 are connected together for this example. When one of these switches is closed (C connected to NO), different DUTs are switched in for a measurement. Triggering is accomplished by the E1406A firmware. The measurement is taken from the common (C) terminal.
10 ALLOCATE REAL Rdgs(1:3) 20 OUTPUT 70915; "*RST;*CLS" 30 OUTPUT 70903; "*RST;*CLS" 40 OUTPUT 70903;"ABORT;:TRIG:SOUR TTLTRG0"
!Reset and clear Form C switch !Reset and clear multimeter
!Multimeter triggers on TTL trigger line 0
50 OUTPUT 70903; "OUTP:TTLT1:STAT ON"
!Multimeter pulses TTL trigger line 1 on measurement complete
60 OUTPUT 70903; "CONF:RES AUTO,DEF"
!Set multimeter function to resistance, range, NPLC
70 OUTPUT 70903; "TRIG:DEL 0; COUN 3;:CAL:ZERO:AUTO ON"
!Set multimeter trigger delay, counts, calibration state
80 OUTPUT 70903; "*OPC?"
! Check to see if multimeter is ready. When ready, initialize trigger 1.
90 ENTER 70903; Check 100 OUTPUT 70903; "INIT" 110 OUTPUT 70915; "OUTPUT:TTLT0:STATE ON"
!Set up the Form C. Form C pulses TTL Trigger line 0 on channel closed
120 OUTPUT 70915;"TRIG:SOUR TTLT1"
!Set Form C to be triggered by TTL Trigger line 1.
130 OUTPUT 70915; "SCAN (@100:102)" 140 OUTPUT 70915; "INIT" 150 OUTPUT 70903; "FETCH?" 160 ENTER 70903; Rdgs(*) 170 PRINT Rdgs(*)
!Enter and print readings
180 END
Chapter 2
Using the Form C Switch 41
Querying the Form C Switch
All query commands end with a "?". These commands are used to determine a specific state of the module. The data is sent to the output buffer where you can retrieve it into your computer. See Chapter 3 for more information on these commands.
Use CLOSe? <channel_list> or OPE N? <channel_list> to query the channel state (open/closed). CLOS? returns a "1" for channel(s) closed and a "0" for channel(s) open. OPEN? returns a "0" for channel(s) closed and a "1" for channel(s) open. (Commands are software queries and do not account for relay hardware failures.)
Example: Querying
Channel Closures
This example closes a range of channels and queries for the results.
10 DIM Channels$[32]
(BASIC)
20 OUTPUT 70915;"CLOS (@100:131)" 30 OUTPUT 70915;"CLOS? (@100:131)"
40 ENTER 70915; Channels$
50 PRINT "Channels Closed:";Channels$
60 END
Using the Scan Complete Bit
You can use the Scan Complete bit (bit 8) in the Operation Status Register (in the command module) of a switchbox to determine when a scanning cycle completes (no other bits in the register apply to the switchbox). Bit 8 has a decimal value of 256 and you can read it directly with the STAT:OPER? command. Refer to the STATus:OPE Ration[ :EVENt]? command in Chapter 3 for an example.
When enabled by the STAT:OPER:ENAB 256 co mmand, the Scan Complete bit will be reported as bit 7 of the Status Register. Use the GPIB Serial Poll or the IEEE 488.2 Common Command *STB? to read the Status Register.
!Dimensions a string variable to 32 characters
!Closes channels 00 through 31 !Queries to see if the channels
are closed !Enters the results from the switch
card into the variable Channels$ ! Prints the channels closed
(should print 1s)
42 Using the Form C Switch
When bit 7 of the Status Register is enabled by the *SRE 128 Common Command to assert a GPIB Service Request, you can interrupt the computer when the Scan Complete bit is set, after a scanning cycle completes. This allows the computer to do other operations while the scanning cycle is in progress.
Chapter 2
Example: Using the
Scan Complete Bit
(BASIC)
This example monitors bit 7 in the Status Register to determine when the scanning cycle is complete. The computer interfaces with an E1406A Command Module over GPIB. The GPIB select code is 7, the GPIB primary address is 09, and the GPIB secondary address is 15.
10 OUTPUT 70915;"*RST; *CLS" 20 OUTPUT 70915;"STAT:OPER:ENAB 256"
30 OUTPUT 70915; "TRIG:SOUR IMM"
50 OUTPUT 70915; "SCAN (@100:115)" 60 OUTPUT 70915; "*OPC?" 70 ENTER 70915; A$ 80 PRINT "*OPC? = ";A$ 90 OUTPUT 70915;"STAT:OPER:ENAB?"
100 ENTER 70915; A$ 110 PRINT "STAT:OPER:ENAB?=";A$
120 OUTPUT 70915; "*STB?"
130 ENTER 70915; A$ 140 PRINT "Switch Status = ";A$
150 OUTPUT 70915; "INIT" 160 I = 0 170 WHILE (I=0)
180 I = SPOLL(70915) 190 PRINT "Waiting for scan to complete: SPOLL = ";I 200 END WHILE 210 I = SPOLL(70915) 220 PRINT "Scan complete: SPOLL = ";I 230 END
!Reset and clear the module
!Enable Scan Complete Bit !Set the Form C switch for
continuous triggering !Select channels to scan !Wait for operation complete
!Query the contents in the operation status register
!Print the contents of the operation status register
!Query the contents of the status byte register
!Print the contents of the status byte register
!Start scan cycle !Initialize the value of the counter !Stay in loop until some value is
returned from the SPOLL (70915) command
Chapter 2
Using the Form C Switch 43
Saving and Recalling States
The *SAV <numeric_state> command saves the current instrument state. The state number (0-9) is specified by the <numeric_state> parameter. The settings saved by this command are:
Channel relay states (open or closed)
ARM:COUNt
TRIGger:SOURce
OUTPut:STATe
INITiate:CONTinuous
The *RCL <numeric_state > c om man d recalls the state when the last *SAV was executed for the specified <numeric_state> parameter (0-9). If no *SAV was executed for the <numeric_state>, *RST default settings are used. Refer to the *SAV settings list for the settings recalled by *RCL.
Example: Saving
and Recalling State
(BASIC)
This program shows how to save and recall Form C switch states.
10 DIM A$[150]
20 OUTPUT 70915; "CLOS (@100:131)"
30 OUTPUT 70915; "*SAV 5" 40 OUTPUT 70915 "*RST;*CLS"
50 OUTPUT 70915;"CLOS? (@100:131)" 60 ENTER 70915;A$ 70 PRINT "Channels Closed:";A$
80 OUTPUT 70915; "*RCL 5" 90 OUTPUT 70915 "CLOS? (100:131)"
100 ENTER 70915;A$ 110 PRINT "Channels Closed:";A$
120 END
!Dimension a string variable for 150 characters
!Close channels 00 - 31 on the Form C switch
!Save as numeric state 5 !Reset and clear the Form C
switch !Query the channels closed
!Print closed channels (should print 0s)
!Recall numeric state 5 !Query to see which channels
are closed
!Print closed channels (should print 1s)
44 Using the Form C Switch
Chapter 2
Detecting Error Conditions
The SYSTem:ERRor? query requests a value from an instrument's error register. This register contains an integer in the range [-32,768 to 32,767]. The response takes the form <err_num ber>,<err_message> where <err_number> is the value of the instrument's error and <err_message> is a short description of the error.
Example: Detecti ng
Error Conditions
(BASIC)
Example: Detecti ng
Error Conditions
(Turbo C)
This BASIC program attempts an illegal channel closure and polls for an error message.
10 DIM Err_num$[256]
20 OUTPUT 70915; "CLOS (@135)" 30 OUTPUT 70915; "SYST:ERR?" 40 ENTER 70915; Err_num$ 50 PRINT Err_num$
60 END
This Turbo C program attempts an illegal channel closure and polls for an error message. 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. Subsequent queries continue to read the error queue until it is empty. The maximum <err_message> string length is 255 characters.
#include stdio.h #include chpib.h /*Include file for GPIB*/
#define ISC 7L #define FORMC 70915L /*Form C default address*/ #define TASK1 "CLOSE (@135)"/*Command for illegal switch closure*/ #define TASK2 "SYST:ERR?" /*Command for system error*/
!Dimension a string variable for 256 characters
!Try to close an illegal channel !Query for a system error
!Print error +2001, "Invalid channel number"
Chapter 2
main( ) {
char into[257]; int length = 256;
/*Output commands to Form C*/
error_handler (IOTIMEOUT (7L,5.0), "TIMEOUT"); error_handler (IOOUTPUTS (FORMC, TASK1, 12), "OUTPUT command"); error_handler (IOOUTPUTS (FORMC, TASK2, 9), "OUTPUT command");
/*Enter from Form C*/
error_handler (IOENTERS (FORMC, into, &length), "ENTER command"); printf("Print the errors: %s",into); return;
}
Using the Form C Switch 45
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 the Form C Switch
This section gives g uideli nes to synch ronize a Form C swi tch module with a measurement instrument.
Example:
Synchronizing the
Form C Switc h
(BASIC)
This BASIC program shows one way to synchronize a Form C switch module with a measurement instrument. In this example, the Form C switch module switches a signal to a multimeter. The program then verifies the channel is closed before the multimeter begins its measurement.
10 OUTPUT 70915; "CLOS (@105)" 20 OUTPUT 70915; "*OPC?" 30 ENTER 70915; Opc_value 40 OUTPUT 70915; "CLOS? (@105)" 50 ENTER 70915;A 60 IF A=1 THEN 70 OUTPUT 70903;"MEAS:VOLT:DC?"
80 ENTER 70903; Meas_value 90 PRINT Meas_value 100 ELSE 110 PRINT "Channel did not close" 120 END IF 130 END
!Close channel 5 !Wait for operation complete
!Check to see if channel closed
!When channel is closed,
measure the voltage
!Print the measured voltage
46 Using the Form C Switch
Chapter 2
E1463A Command Reference
Using This Chapter
Command Types
Chapter 3
This chapter describes Standard Commands for Programmable Instruments (SCPI) and summarizes IEEE 488.2 Common (*) commands applicable to the E1463A Form C Switch Module. This chapter contains the following sections:
Command Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
SCPI Command Reference . . . . . . . . . . . . . . . . . . . . . . . . . . .49
SCPI Commands Quick Reference . . . . . . . . . . . . . . . . . . . . .75
IEEE 488.2 Common Commands Reference. . . . . . . . . . . . . .76
Commands are separated into two types: IEEE 488.2 Common commands and SCPI commands.
Common Command
Format
SCPI Comma nd
Format
The IEEE 488.2 standard defines the Common commands that perform functions like reset, self-test, status byte query, etc. Common commands are four or five characters in length, always begin with the asterisk character (*), and may include one or more parameters. The command keyword is separated from the first parameter by a space character. Some examples of Common commands are shown below:
*RST *ESE <unmask> *STB? The SCPI commands perform functions like closing switches, opening
switches, scanning channels, querying instrument states or retrieving data. A subsystem command structu re is a hierarchical structure that usually consists of a top level (or root) command, one or more lower-level commands, and their parameters. The following example shows part of a typical subsyste m :
[ROUTe:]
CLOSe<channel_list> SCAN <channel_list>
:MODE?
[ROUTe:] is the root command, CLOSe and SCAN are second-level commands with parameters, and :MODE? is a third-level command. There must be a space between the second-level command (such as CLOSe) and the parameter (<channel_list>).
Chapter 3
E1463A Command Reference 47
Command Separator A colon (:) always separates one command from the next lower-level
command as shown below: [ROUTe:]SCAN:MODE? Colons separate the root command from the second-level command
([ROUTe:]SCAN) and the second level from the third level (SCAN:MODE?).
Abbreviated Commands The command syntax shows mos t comman ds 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. The instrument will accept either the abbreviated form or the entire command.
For example, if the command syntax shows TRIGger, then TRIG and TRIGGER are both acceptable forms. Other forms of TRIGger, such as TRIGG or TRIGGE will generate an error. You may use uppercase or lowercase letters. Therefore, TRIGGER, trigger, and TrigGeR are all acceptable.
Implied Commands Implied commands are those that appear in square brackets ([ ]) in the
command syntax. (The brackets are not part of the command and are not sent to the instrument.) Suppose you send a second-level command but do
not send the preceding implied command. In this case, the instrument assumes you intend to use the implied command and it responds as if you had sent it. Examine the portion of the [ROUTe:] subsystem shown below:
Varia ble Co mm an d
Syntax
[ROUTe:]
CLOSe<channel_list>
The root command [ROUTe:] is an implied command (indicated by square brackets ([ ])). To make a query about a channel’s present status, you can send either of the following command statements:
ROUT:CLOSe? <channel_list> or CLOSe? <chan nel_list>
Some commands have what appears to be a variable syntax, such as OUTPut:TTLTrgn. In this command, the "n" is replaced by a number. No space is left between the command and the number because the number is not a parameter.
48 E1463A Command Reference
Chapter 3
Parameters ParameterTypes. 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. An example is the TRIGger:SOURce <source> command where <source> can be BUS, EXTernal, HOLD, IMMediate, or TTLTrgn.
Numeric Commonly used decimal representations of numbers
including optional signs, decimal points, and scientific notation. Examples are 123, 123E2, -123, -1.23E2, .123,
1.23E-2, 1.23000E-01. Special cases include MINimum, MAXimum, DEFault and INFinity.
Optional
Linking Commands Linking IEEE 488.2 Common Commands with SCPI Commands. Use a
semicolon (;) between the commands. For example, *RST;*RCL 1 or CLOS (@101);*SAV 1
Linking Multiple SCPI Commands. Use both a semicolon (;) and a colon (:)
between the commands, such as CLOS (@101);:CLOS? (@101).
Linking Subsyste m Commands. SCPI also allows several commands within
the same subsystem to be linked with a semicolon, such as ROUT:CLOS (@101);:ROUT:CLOS? (@101) or ROUT:CLOS (@101);CLOS? (@101).
Parameters shown within square brackets ([ ]) are optional parameters. (The brackets are not part of the command and are not sent to the instrument.) I f yo u do not spe cify a value for an optional parameter, the instrument chooses a default value.
For example, consider the ARM:COUNt? [<MIN | MAX>] command. 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.
SCPI Command Reference
This section describes the Standard Commands for Programmable Instruments (SCPI) commands for the E1463A. Commands are listed alphabetically by subsystem and within each subsystem.
Chapter 3
E1463A Command Reference 49
ABORt
Subsystem Syntax 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.
Comments ABORt Actions: The ABORt command terminates the scan and invalidates
the current channel list.
Stopping Scan Enabled Via Inter face: When a scan is enabled via an
interface, an interface CLEAR command 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.
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
INIT:CONT ON SCAN(@100:107)
INIT . . ABOR
!Trigger command will be via backplane (bus) interface (*TRG command generates trigger)
!Set continuous scanning !Scan channels 00 to 07
!Start scan, close channel 00
!Abort scan in progress
50 E1463A Command Reference
Chapter 3
ARM
Subsystem Syntax ARM
ARM:COUNt
Parameters
The ARM subsystem selects the number of scanning cycles (1 to 32,767) for each INITiate command.
:COUNt <number> MIN | MAX
:COUNt? [<MIN | MAX>]
ARM:COUNt <number> 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.
Name Type Range of Val ues Default Value
<number> numeric
1 - 32,767 | MIN | MAX
1
Comments Number of Scans: Use only numeric values between 1 and 32767, MIN, or
MAX for the number of scanning cycles.
Related Commands: ABORt, INITia te [:IMMediate] *RST Condition: ARM:COUNt 1
Example Setting Ten Scann ing Cycl es
This example sets a Form C switch for 10 scans of channels 00 through 03. When the scan sequence completes, channels 00 through 03 (relays 00 through 03) are closed.
ARM:COUN 10 SCAN(@100:103) INIT
!Set 10 scans per INIT command !Scan channels 00 to 03 !Start scan, close channel 00
Chapter 3
E1463A Command Reference 51
ARM:COUNt?
Parameters
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 specified. With MIN or MAX as a parameter, MIN returns "1" and MAX returns "32,767".
Name Type Range of Values Default Value
MIN | MAX
numeric
MIN = 1, MAX = 32,767
Comments Related Commands: INITiate [:IMMediate]
Example Querying 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 ARM:COUN?
current cycle
!Set 10 scans per INIT command !Query number of scans
52 E1463A Command Reference
Chapter 3
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
DISPlay:MONitor:CARD
DISPlay:MONitor:CARD <number> | AUTO se l e cts the modul e i n a switchbox
to be monitored.
Parameters
:MONitor
:CARD <number> | AUTO [:STATe] <mode>
Name Type Range of Values Default Va lue
<number> | AUTO numeric
1 - 99
AUTO
Comments Selecting a Specific Module to be Monitored: Use DISPlay:MONitor:CARD
to send the card number for the switchbox to be monitored.
Selecting the Present Module to be Monitored: Use DISPlay:MONitor:CARD
AUTO to select the last module addressed by a switching command (for example, [ROUTe:]CLOSe).
*RST Conditions: DISPlay: MONit or:CARD AUTO
Example Select Module #2 i n a Switchbox for Monitoring
DISP:MON:CARD 2
!Selects module #2 in a switchbox
Chapter 3
E1463A Command Reference 53
DISPlay:MONitor[:STATe]
DISPlay:MONitor[:STATe] <mode> turns the monitor mode ON or OFF.
Parameters
Name Type Range of Val ues Default Value
<mode> boolean
ON | OFF | 1 | 0 OFF | 0
Comments 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.
Selecting the Module to be Monitored: Use DISPlay:MONitor:CARD
<number> AUTO to select the module .
Monitor Mode with a Form C Switch: When monitoring mode is turned ON,
decimal numbers representing the channels closed will be displayed at the bottom of the display terminal. For example, if channels 3, 7, and 12 are closed, the bottom of the display will read as foll ows , where the chan nel numbers represent channels that are closed.
Chan , , ,3, , , , 7, , , , ,12, , , , ... etc.
*RST Condition: DISPlay:MONitor[:STATe]OFF | 0
Example Enabling Monitor Mode
DISP:MON:CARD 2 DISP:MON 1
!Select module #2 in a switchbox !Turn monitor mode ON
54 E1463A Command Reference
Chapter 3
INITiate
Subsystem Syntax INITiate
INITiate:CONTinuous
Parameters
The INITiate command subsystem selects continuous scanning cycles and starts the scanning cycle.
:CONTinuous <m ode>
:CONTinuous?
[:IMMediate]
INITiate:CONTinuous <mode> enables or disables continuous scanning
cycles for the switchbox.
Name Type Range of Val ues Default Value
<mode> boolean
ON | OFF | 1 | 0 OFF | 0
Comments Continuous Scanning Opera tion: Continuous scanning is enabled with
INITiate:CONTinuous ON or INITiate:CONTi nuous 1. Sendin g INITiate:IMMediate closes the first channel in the channel list. Each trigger from the source specified by TRIGger:SOURce 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.
Noncontinuous Scanning Operation: Noncontinuous scanning is enabled
with INITiate:CONTinuous OFF or INITiate:CONTinuo us 0. Sending INITiate:IMMediate closes the first channel in the channel list. Each trigger from the source specified by TRIGger:SOURce advances the scan through the channel list. At the end of the scanning cycle, the last channel in the channel list is opened.
Stopping Continuous Scan: See the ABORt command. Related Commands: ABORt, ARM:COUNt, TRIGge r:SO URce *RST Condition: INITiate:CONTinuous OFF | 0
Chapter 3
E1463A Command Reference 55
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.
INITiate:CONTinuous?
Example Querying Continuous Scanning State
INITiate[:IMMediate]
INIT:CONT ON SCAN(@100:103) INIT
INITiate:CONTinuous? queries the scanning state. With continuous scanning
enabled, the command returns "1" (ON). With continuous scanning disabled, the command returns "0" (OFF).
This example enables continuous scanning of a switchbox and queries the state. Since continuous scanning is enabled, INIT:CONT? returns "1".
INIT:CONT ON INIT:CONT?
INITiate[:IMMediate] starts the scanning process and closes the first channel
in the channel list. Successive triggers from the source specified by the TRIGger:SOURce command advance the scan through the channel list.
!Enable continuous scanning !Define channel list !Start scan cycle, close channel 00
!Enable continuous scanning !Query continuous scanning state
Comments Starting the Scanni ng Cycle: INITiate:IMMediate starts scanning by closing
Example Enabling a Single Scan
56 E1463A Command Reference
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 the ABORt command.
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:SOURceIMMediate (default).
SCAN(@100:103) INIT
!Scan channels 00 - 03 !Begin scan, close channel 00
(use immediate triggering)
Chapter 3
OUTPut
The OUTPut command subsystem enables or disables the different trigger lines of the E1406A Command Module.
Subsystem Syntax OUTPut
OUTPut:EXTernal[:STATe]
OUTPut:EXTernal[:STATe] <mode> enables or disables the "Trig Out" port on
the E1406A Command Module.
:EXTernal
[:STATe] <mode>
[:STATe]? [:STATe] <mode> [:STATe]? :TTLTrgn (:TTLTrg0 through :TTLTrg7)
[:STATe] <mode>
[:STATe]?
Parameters
Name Type Range of Val ues Default Value
<mode> boolean
ON | OFF | 1 | 0 OFF | 0
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 pulse is a +5V negative-going pulse.
"Trig Out" Port Shared b y Switchboxe s: When enabled, the "Trig Out" port is
pulsed by any switchbox each time a scanned channel is closed. To disable the output for a specific module send OUTPut:EXTernal[:STATe] OFF or OUTPut:EXTernal[:STATe] 0 for that module.
One Output Select ed at a T ime: Only one output (TTLTrg or EXTernal) can be
enabled at one time. Enabling a different output source will automatically disable the active output.
Related Commands: [ROUTe:]SCAN, TRIGger :SOURce *RST Condition: OUTPut:EXTernal[:STATe] OFF (port disabled)
Chapter 3
Example Enabling "Trig Out" Port
OUTP:EXT ON
!Enable "Trig Out" port to output pulse after each scanned channel is closed
E1463A Command Reference 57
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 Ou t" Por t Enable State
This example enables the "Trig Out" port and queries the enable state. OUTPut:EXTernal[:STATe]? returns "1" since the port is enabled.
OUTPut[:STATe]
Parameters
Comments *RST Condition: OUTPut[:STATe] OFF (port disabled)
Example Enabling "Trig Out" Port
OUTP:EXT ON OUTP:EXT?
OUTPut[:STATe] <mode> enables or disables the "Trig Out" port on the
E1406A Command Module. OUTPut[:STATe] ON | 1 enables the port and OUTPut[:STATe] OFF | 0 disables the port. This command functions the same as OUTPut:EXTernal[:STATe].
Name Type Range of Val ues Default Value
<mode> boolean
OUTP ON
!Enable E1406A "Trig Out" port !Query port enable state
ON | OFF | 1 | 0 OFF | 0
!Enable "Trig Out" port to output pulse after each scanned channel is closed
58 E1463A Command Reference
Chapter 3
OUTPut[:STATe]?
Example Query "Trig Ou t" Por t Enable 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]?.
This example enables the E1406A Command Modul e "Trig Out" port and queries the enable state. OUTPut[:STATe]? returns "1" since the port is enabled.
OUTP ON OUTP?
OUTPut:TTLTrgn[:STATe]
OUTPut:TTLTrgn[:STAT e ] <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 Tr igger 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.
!Enable "Trig Out" port !Query port enable state
Name Type Range of Val ues Default Value
n numeric 0 to 7 N/A
<mode> boolean
ON | OFF | 1 | 0 OFF | 0
Chapter 3
One Output Select ed at a T ime: Only one output (TTLTrg 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:TTLTrgn[:STATe]?
*RST Condition: OUTPut:TTLTrgn[ :STAT e] OFF (disabl ed)
E1463A Command Reference 59
Example Enabling TTL Trigger Bus Line 7
OUTP:TTLT7:STAT 1
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. OUTPut:TTLTrgn? returns "1" since the port is enabled.
OUTP:TTLT7:STAT 1 OUTP:TTLT 7?
!Enable TTL Trigger bus line 7 to output pulse after each scanned channel is closed
!Enable TTL Trigger bus line 7 !Query bus enable state
60 E1463A Command Reference
Chapter 3
[ROUTe:]
Subsystem Syntax [ROUTe:]
[ROUTe:]CLOSe
The [ROUTe:] command subsystem controls switching and scanning operations for Form C switch modules in a switchbox.
CLOSe <channel_list> CLOSe? <channel_list> OPEN <channel_list> OPEN? <channel_list> SCAN <channel_list>
NOTE There must be a space between the second level command (CLOS, for
example) and the parameter <channel_list>.
[ROUTe:]CLOSe <channel_list> closes the Form C switch channels specified
by <channel_list>. <channel_list> has the form (@ccnn) where cc = card number (01-99) and nn = channel number (00-31).
Parameters
Name Type Range of Values Default Value
<channel_list> numeric
Comments Closing Channels:
To close a single channel use ROUT :CLOS (@ccnn)
To close multiple channels use ROUT:CLOS (@ccnn,ccnn,...)
To close sequential channels use ROUT:CLOS (@ccnn:ccnn)
To close groups of sequential channels use ROUT :CLOS
(@ccnn:ccnn,ccnn:ccnn)
or any combination of the above
NOTE Closure order for multiple channels with a single command is not
guaranteed. Channel numbers can be in the <channel_list> in any random order.
Related Commands: [ROUTe:]OPEN, [ROUTe :]CLOSe? *RST Condition: All channels open.
cc00 - cc31 N/A
Chapter 3
E1463A Command Reference 61
Example Closing Form C Switch Channels
This example closes channels 100 and 213 of a two-module switchbox (card numbers 01 and 02).
[ROUTe:]CLOSe?
Comments Query is Software Readback: ROUTe:CLOSe? returns the current software
Example Querying Channel Closure
CLOS(@100,213)
[ROUTe:]CLOSe? <channel_list> returns the current state of the channel(s)
queried. <channel_list> has the form (@ccnn) where cc = card number (01-99) and nn = channel number (00-31). The command returns "1" if channel(s) are closed or returns "0" if channel(s) are open.
state of the channel(s) specified. It does not account for relay hardware failures.
A maximum of 128 channels can be queried at one time. If you want to query
more than 128 channels, you must enter the query data in two separate commands.
This example closes channels 100 and 213 of a two-module switchbox and queries channel closure. Since the channels are programmed to be closed "1,1" is returned as a string.
!Close channels 100 and 213. 100 closes channel 00 of card #1 and 213 closes channel 13 of card #2.
[ROUTe:]OPEN
Parameters
CLOS(@100,213) CLOS?(@100,213)
[ROUTe:]OPEN <channel_list> opens the Form C switch channels specified
by <channel_list>. <channel_list> has the form (@ccnn) where cc = card number (01-99) and nn = channel number (00-31).
Name Type Range of Values Default Value
<channel_list> numeric
!Close channels 100 and 213 !Query channels 100 and 213
state
cc00 - cc31 N/A
62 E1463A Command Reference
Chapter 3
Comments Opening Channels:
To open a single channel use ROUT:OPEN (@ccnn)
To open multiple channels use ROUT:OPEN (@ccnn,ccnn,...)
To open sequential channels use ROUT:OPE N (@ccnn:ccnn)
To open groups of sequential channels use ROUT:OPEN
(@ccnn:ccnn,ccnn:ccnn)
or any combination of the above
Opening Order: Opening order for multiple channels with a single command
is not guaranteed.
Related Commands: [ROUTe:]CLOSe, [ROUTe: ]O PEN? *RST Condition: All channels open.
Example Opening Form C Switch Channels
This example opens channels 100 and 213 of a two-module switchbox (card numbers 01 and 02).
[ROUTe:]OPEN?
Comments Query is Software Readback: ROUTe:OPEN? returns the current software
Example Querying Channel Open State
OPEN(@100,213)
[ROUTe:]OPEN? <channel_list> returns the current state of the channel(s)
queried. <channel_list> has the form (@ccnn) where cc = card number (01-99) and nn = channel number (00-31). The command returns "1" if channel(s) are open or returns "0" if channel(s) are closed.
state of the channel(s) specified. It does not account for relay hardware failures.
A maximum of 128 channels can be queried at one time: If you want to query
more than 128 channels, you must enter the query data in two separate commands.
This example opens channels 100 and 213 of a two-module switchbox and queries channel 213 state. Since channel 213 is programmed to be open, "1" is returned.
!Open channels 100 and 213. 100 opens channel 00 of card #1 and 213 opens channel 13 of card #2.
Chapter 3
OPEN(@100,213) OPEN?(@213)
!Open channels 100 and 213 !Query channel 213 state
E1463A Command Reference 63
[ROUTe:]SCAN
Parameters
[ROUTe:]SCAN <channel_list> defines the channels to be scanned.
<channel_list> has the form (@ccnn) where cc = card number 01-99) and nn = channel number (00-31).
Name Type Range of Values Default Value
Comments
NOTE Channel numbers can be in the <channel_list> in any random order.
<channel_list> numeric
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.
Scanning Channels:
cc00 - cc31 N/A
To scan a single channel use ROUT:SCAN (@ccnn)
To scan multiple channels use ROUT:SCAN (@ccnn,ccnn,...)
To scan sequential channels use ROUT:SCAN (@ccnn:ccnn)
To scan groups of sequential channels use ROUT:SCAN
(@ccnn:ccnn,ccnn:ccnn)
or any combination of the above
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.
Example Scanning Using Ext ernal Device
64 E1463A Command Reference
Stopping Scan: See ABORt Related Commands: TRIGger, TRIGger:SOURce *RST Condition: All channels open.
See "Scanning Channels" in Chapter 2 for examples of scanning programs using external instruments.
Chapter 3
STATus
Subsystem Syntax 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.
:OPERation
:CONDition?
:ENABle <unmask>
:ENABle?
[:EVENt?] :PRESet
As shown in Figure 3-1, the STATus subsystem for the E1463A Form C Switch includes the Status Byte Register, the Standard Event Status Register, OPERation Status Register, and Output Queue. The Standard Event Statu s Register (*ESE?) a n d the Sta tu s Byte Register (*ST B? ) are under IEEE 488.2 contro l.
Stat us Byte Register
In the Status Byte register, the Operation Status bit (OPR), Request Service bit (RQS), Standard Event bit (ESB), Message Available bit (MAV) and Questionable Data bit (QUE) (bits 7, 6, 5, 4 and 3 respectively) can be queried with the *STB? command.
Standard Event Status Regist er
In the Standard Event Status Register, you can use *ESE? to query the "unmask" value (the bits to be logically ORed into the Summary bit). The registers are queried using decimal-weighted bit values. Decimal equivalents for bits 0 through 15 are shown in Figure 3-1.
OPERation Status Register
Using STATus:OPERation:ENABle 256 allows only bit 8 to generate a Summary bit from the OPERation Status Register, since the decimal value for bit 8 is 256. The decimal values can also used in the inverse manner to determine the bits set from the value returned by STATus:OPERation:EVENt? or STATus:OPERation:CONDition?.
The Form C switch driver uses only bit 8 of OPERation Status Register. This bit is called the Scan Complete bit and 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 STATus:OPERation:CONDition? is queried. However, you can find bit 8 set by using STATus:OPERation:EVENt?.
Chapter 3
E1463A Command Reference 65
Automatically Set at
Power On Conditions
Automatically Set by
Related Commands
are *OPC? and *WAI
Parser
Set by *OPC
Scan Complete
Output Queue
Standard Event Status Register
Power On
User Request
Command Error
Execution Error
Device Dependent Error
Query Error
Request Control
Operation Complete
OPERation Sta tus Register
STATus:OPERation:CONDition?
STATus:OPERation:EVENt?
STATus:OPERation:ENABle STATus:OPERation:ENABle?
0
1 2 3
4 5 6 7 8 9
10 11 12 13 14 15
CEV EN
<1> <2> <4>
<8> <16> <32> <64>
<128> <256>
<512> <1024> <2048> <4096> <8192>
<16384> <32768>
STATus:PRESet
*ESR?
0 1 2 3 4
<16>
5
<32>
6
<64>
7
<128>
EV EN
"OR"
+
*ESE <unmask> *ESE?
<1> <2> <4> <8>
Summary
Summary
Bit
"OR"
NOTE:
QUE = Questionable Data MAV = Message Available ESB = Standard Event RQS = Request Service OPR = Operation Status C = Condition Register EV = Event Register EN = Enabl e Register SRQ = Interface Bus
Service Request
Status Byte Register
*STB? SPOLL
+
Bit
MAV ESB RQS OPR
0 1 2 3 4 5 6 7
Status
Byte
Summary Bit
<1> <2> <4>
<8> <16> <32>
<128>
EN
*SRE <unmask> *SRE?
"OR"
SRQ
+
System
Controller
Interface Bus SRQ Line
SRQ
Other
Instrument
SRQ
Other
Instrument
unmask examples:
Register
Operation Complete <128>7
*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:E NA B 256 unmasks the "Scan Complete"
bit.
unmask decimal
bit
weight
"OR"
+
ESB
66 E1463A Command Reference
Figure 3-1. E1463A Status System Register Diagram
Chapter 3
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 driver does not set bit 8 in the OPERation Status Register (see STATus:OPERation[:EV ENt]?).
STATus:OPERation:ENABle
STATus:OPERation:ENABle <unmask> sets an enable mask to allow events
recorded in the Event Register of the OPERation Status Register to send a Summary bit to the Status Byte Register (bit 7). For switch modules, when bit 8 in the OPERation Status Register is set to 1 and bit 8 is enabled by STATus:OPERation:EN ABle, bit 7 in the Status Byte Register is set to 1.
Parameters
Name Type Range of Values Default Value
<unmask> numeric
Comments Setting Bit 7 of the Status Byte Regis ter : STATus:OPERation:ENABle 256
sets bit 7 (OPR) of the Status Byte Register to 1 after bit 8 (Scan Complete) of the OPERation Status Register is set to 1.
Related Commands: [ROUTe:]SCAN
Example Enabling Operation Status Register Bit 8
STAT:OPER:ENAB 256
STATus:OPERation:ENABle?
STATus:OPERation:ENABle? returns the bit value of the Enable Register
within the OPERation Status Register.
Comments Output Format: STATus:OPERation:ENABle? returns a decimal-weighted
value from 0 to 65,535 indicating the bits set to true.
0 through 65,535 N/A
!Enable bit 8 of the OPERation Status Register to be reported to bit 7 (OPR ) in the Status Byte Register
Chapter 3
Maximum Value Returned: The value returned is the value set by
STATus:OPERation:ENABle <unmask>. However, the maximum decimal-weighted value used in this module is 256 (bit 8 in the Condition Register within the OPERation Status Register is set to true).
E1463A Command Reference 67
Example Querying the Enabl e Register in the OPERation Status Register
STAT:OPER:ENAB?
STATus:OPERation[:EVENt]?
STATus:OPERation[:EVENt]? returns which bits in the E vent 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 Regist er: Bit 8 (Scan Complete) is set
to 1 after a scanning cycle completes. Bit 8 returns t o 0 (zero) after s ending STATus:OPERation[:EVENt]?.
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 within the OPERation
Status Register with STATus:OPERation:EVENt? clears the Event Register.
Aborting a Scan: Aborting a scan will leave bit 8 set to 0.
!Query the Enable Register in the OPERation Status Register
Example Reading the OPERation Status Register After a Scanning Cycle
STATus:PRESet
Related Commands: [ROUTe:]SCAN
STAT:OPER?
read the register value
STATus:PRESet affects only the Enable Register within the OPERation
Status Register by setting all Enable Register bits to 0. It does not affect either the Status Byte Register or the Standard Event Status Register. STATus:PRESet does not clear any of the Event Registers.
!Return the bit values of the Event Register within the OPERation Status Register
+256 shows bit 8 is set to 1. +0 shows bit 8 is set to 0.
68 E1463A Command Reference
Chapter 3
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
SYSTem:CDEScription?
SYSTem:CDEScription? <number> returns the description of a selected
module (card) in a switchbox.
Parameters
:CDEScription? <numbe r> :CPON <number> | ALL :CTYPe? <number> :ERRor?
Name Type Range of Values Default Value
Comments Form C Switch Module Description: SYSTem:CDEScription? returns:
Example Reading the Description of a Module
SYSTem:CPON
Parameters
<number> numeric
"32 Channel General Purpose Relay"
SYST:CDES? 1
SYSTem:CPON <number> | ALL sets the selected module (card) in a
switchbox to its power-on state.
Name Type Range of Values Default Value
<number> numeric
1 through 99 N/A
!Return description of module card #1
1 through 99 N/A
Chapter 3
E1463A Command Reference 69
Comments Form C Switch Power-on State: The power-on state is all channels (relays)
open. SYSTem:CPON ALL and *RST open all channels of all modules in a switchbox, whi le SYST em:CPON <number> opens the channels in only the module (card) specified in the command.
Example Setting Modul e to Power-on State
SYSTem:CTYPe?
Parameters
Comments E1463A Form C Switch Model Number: SYSTem:CTYPe? <number> returns
Example Reading the Model Number of a Module
SYST:CPON 1
SYSTem:CTYPe? <number> returns the module (card) type of a selected
module in a switchbox.
Name Type Range of Values Default Value
<number> numeric
HEWLETT-PACKARD,El463A,0,A.04.00
where the 0 after E1463A is the module serial number (always 0) and A.04.00 is an example of the module revision code number.
!Set card #1 to power-on state
1 through 99 N/A
SYSTem:ERRor?
Comments Error Numbers/Messages in the Error Queue: Each error generated by a
SYST:CTYP? 1
SYSTem:ERRor? returns the error numbers and corresponding error
messages in the error queue of a switchbox. See Appendix C for a listing of switchbox error numbers and messages.
switchbox stores an error number and corresponding error message in the error queue. The error message can be up to 255 characters long.
Clearing the Error Queue: An error number/message is removed from the
queue each time SYSTem:ERRor? 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 *CLS.
!Return the model number
70 E1463A Command Reference
Chapter 3
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 errors are discarded.
Example Reading the Error Queue
SYST:ERR?
!Query the error queue
Chapter 3
E1463A Command Reference 71
TRIGger
Subsystem Syntax TRIGger
TRIGger[:IMMediate]
Comments Executing TRIGger[:I MMediate]: Before TRIGger[:IMMediate] will execute, a
The TRIGger command subsystem controls the triggering operation of Form C switch modules in a switchbox.
[:IMMediate] :SOURce <source> :SOURce?
TRIGger[:IMMediate] causes a trigger event to occur when the defined trigger
source is TRIGger:SOURce BUS or TRIGger:SOURce HOLD.
channel list must be defined with [ROUTe:]SCAN <channel_ list > and an INITiate[:IMMediate] must be executed
BUS or HOLD Source Remains: If selected, TRIGger:SOURce BUS or
TRIGger:SOURce HOLD remains in effect after triggering a switchbox with TRIGger[:IMMediate].
Related Commands: INITiate, [RO U Te:]SCAN
Example Advancing Scan Using TRIGger
This example uses TRIGger[:IMMediate] to advance the scan of 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 SCAN(@100:103) INIT loop statement TRIG increment loop
!Set trigger source to HOLD !Define channel list !Begin scan, close channel 00 !Start count loop !Advance scan to next channel !Increment loop count
72 E1463A Command Reference
Chapter 3
TRIGger:SOURce
Parameters
TRIGger:SOURce <source> specifies the trigger source to advance the
<channel_list> during scanning.
Parameter
Name
BUS discrete *TRG or GET command IMM EXTernal discrete "Trig In" por t IMM HOLD discrete Hold Triggering IMM IMMediate discrete Immediate Triggering IMM TTLTrgn numeric TTL Tri gger Bus Line 0 - 7 IMM
Parameter
Type
Parameter
Description
Default
Value
Comments Enabling the Trigger Source: TRIGger:SOURce only selects the trigger
source. INITiate[:IMMediate] enables the trigger source.
Using the TRIGger Command: You can use TRIGger[:IMMediate] to advance
the scan when TRIGger:SOURce BUS or TRIGger:SOURce HOLD is selected.
Using External Trigger Inputs: With TRIGger:SOURce EXTernal selected,
only one switchbox at a time can use the external trigger input at the E1406A "Trig In" port. The trigger input is assigned to the first switchbox requesting the external trigger source (with a TRIGger:SOURce EXTernal command).
Assigning External Tri gger: A switchbox assigned with TRIGger:SOURce
EXTernal remains assigned to that source until the switchbox trigger source is changed to BUS, HOLD, or IMMediate. When the source is changed, the external trigger source is available to the next switchbox requesting it (with a TRIGger:SOURce EXTernal command ). If a switchbox requests an external trigger input already assigned to another switchbox, an error is generated.
Chapter 3
Using Bus Triggers: To trigger the switchbox with bus triggers when
TRIGger:SOURce BUS selected, use the IEEE 488.2 common com ma nd *TRG or the GPIB Group Execute Trigger (GET) command.
"Trig Out" Port Shared by Switchboxes: When enabled, the E1406A
Command Module "Trig Out" port is pulsed by any switchbox each time a scanned channel is closed. To disable the output for a specific module send OUTPut:EXTernal[:STATe] OFF or OUTPut:EXT ernal[:ST ATe] 0 for that module.
One Output Select ed at a T ime: Only one output (TTLTrg or EXTernal) can be
enabled at one time. Enabling a different output source will automatically disable the active output.
E1463A Command Reference 73
Related Commands: ABORt, [ROUTe:]SCAN, OUTPut *RST Condition: TRIGger:SOURce IMMediate
Example Scanning Using Ext ernal Triggers
This example uses external triggering (TRIGger:SOURce EXTernal) to scan channels 00 through 03 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 00 is closed. Then, each trigger received at the "Trig In" port advances the scan to the next channel.
Example Scanning Using Bus Triggers
TRIGger:SOURce?
TRIG:SOUR EXT SCAN(@100:103) INIT trigger externally
This example uses bus triggering (TRIG:SOUR BUS) to scan channels 00 through 03 of a single-module switchbox. The trigger source to advance the scan is the *TRG command (as set with TRIGger:SOURce 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 SCAN(@100:103) INIT loop statement *TRG
increment loop
!Select external triggering !Scan channels 00 through 03 !Begin scan, close channel 00 !Advance scan to next channel
!Select interface (bus) triggering !Scan channels 00 through 03 !Begin scan, close channel 00 !Loop to scan all channels !Advance scan using bus
triggering !Increment loop count
Example Querying the Trigger Source
74 E1463A Command Reference
TRIGger:SOURce? returns the current trigger source for the switchbox. The
command returns BUS, EXT , HOLD, IMM, or TTLTfor sources BUS, EXTernal, HOLD, IMMediate, or TTLTrgn, respectively.
This example sets external triggering and queries the trigger source. Since external triggering is set, TRIG:SOUR? returns "EXT".
TRIG:SOUR EXT TRIG:SOUR?
!Set external trigger source !Query trigger source
Chapter 3
SCPI Commands Quick Reference
The following table summarizes the SCPI Commands for the E1463A Form C Switch module.
Command Description
ABORt ABORt Aborts a scan in pro gress
ARM :COUNt
:COUNt? [MIN|MAX]
DISPlay :MONitor:CARD
:MONitor[:STATe] <
INITiate :CONTinuous <
:CONTinuous? [:IMMediate]
OU T Pu t [:E X Ter n al ] [: S TATe ] <
[:E X Ter na l] [:S TATe ] ? [:STATe] < [:STATe]? :TTLTrg :TTLTrg
[ROUTe:] CLOSe
CLOSe? OPEN OPEN? SCAN
STATus :OPERation:CONDition?
:OPERation:ENABle <
:OPERation:ENABle? :OPERation[:EVENt]? :PRESet
<number>
<number>
mode
mode
mode
>
n
[:STATe] <
n
[:STATe]?
<channel _list>
<channel _list>
<channel_list>
<channel _list>
<channel_list>
MIN |MAX
mode
|AUTO
>
>
mode
>
unmask
Multiple scans per INIT command Queries number of scans
Selects module to be monitored Selects monitor mode
Enables/dis ables continuous scanning Queries continuous scan state Starts a scanning cycle
>
>
Enables/dis ables the Trig Out port on the E1406 Queries the exter nal state Enables/dis ables the Trig Out port on the E1406 Queries port enabl e state Enables/dis ables the specified TTL t rigger line Queries the specified TTL trigger li ne
Closes channel(s) Queries channel(s) closed Opens channel(s) Queries channel(s) opened Defines channels for scanning
Returns stat us of the Condition Register Enables the Operation Event Register to set a bit i n the St atus Register Query the contents in the Operation Status Register Returns stat us of the Operation Status Register Sets Enable R e gi st e r to 0
SYSTem :CDEScription?
:CTYPe? :CPON :ERRor?
TRIGger [:IMMediate]
:SOURce BUS :SOURce EXTernal :SOURce HOLD :SOURce IMMediate :SOURce?
<number>
<number>
Chapter 3
<number>
|ALL
Returns description of module in a switchbox Returns the module t ype Sets specified module to its power-on state Returns error number/message to error queue
Causes a trigger to occur Trigger source is *TRG Trigger source is Tri g In (on the E1406) Hold off triggering Continuous (internal) triggering Query scan trigger source
E1463A Command Reference 75
IEEE 488.2 Common Commands Reference
The following table lists the IEEE 488.2 Common (*) commands accepted by the E1463A Form C Switch module. The operation of some of these commands is described in Chapter 2 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 Regist er Clears all status registers (see STATus:OPERation[:EVENt]?) . *ESE Event Status Enable Enables Status Regis ter bits. *ESE? Event S tatus Enable Query Queries the curr ent contents in the Standard Event S tatus Register *ESR? Event Stat us Register Query Queries and clears the current contents in the Standa rd Event Status
Register
*IDN? Identification Query Returns identification string of the Switchbox. *OPC Operation Complete Sets the Request for OPC flag when all pending operations have
completed. Also, sets OPC bit in the S tandard Event Status Regi ster.
*OPC? Operation Complete Query Returns a "1" to the output queue when all pending operations have
completed. Used to synchronize between multiple instruments.
*RCL Recall Instrument State Recalls previously stored configuration. *RST Reset Opens all channels and sets the module to a known st ate. *SAV Save Instrument State Stores the current configuration in specified memory. *SRE Service Request Enable Sets the Service Request Enable Register bits and corr esponding
Serial Poll Status Register bits to generate a service request.
*SRE? Service Request Enable
Query
*STB? Read Status Byte Query Queries the current content s in the St atus Byte Register. *TRG Trigger Triggers the module to advance th e scan when scan is enabled and
*TST? Self-Test Query Returns +0 if self-test passes.
*WAI Wait to Continue Prevents an instrument from executing another command until the
Queries the current contents in the Ser vice Request Enable Regist er.
trigger source is TRIGge r: SOURce BUS.
Returns +cc01 for firmware error. Returns +cc02 for bus error. Returns +cc10 if an interrupt was expected but not received. Returns +cc11 if the busy bit was not held for 10 msec.
operation caused by the previous command is finished. Since all instruments normally perf orm sequential operati ons, executing thi s command causes no change.
76 E1463A Command Reference
Chapter 3
General
Appendix A
Form C Switch Specifications
Module Size / Device Type:
C-size VXIbus, Register based, A16/D16, Interrupter (levels 1-7 , ju mp er selectable
Power Requirements:
Voltage: +5 V Peak Module Current (A) 0.10 0.60** Dynamic Module Curren t (A) 0.10 0.01
Watts/slot: 10 W Cooling/slot: 0.08 mm H
Operating Temperature: 0 Operating Humidity: 65% RH, 0
Terminals:
Screw type, maximum wire size 16 AWG
0 @ 0.42 Liter/sec for 10oC rise
2
°
- 55°C
°
- 40°C
+12 V
Input Characteristics
Maximum Input Voltage:
220 Vdc or 250 Vac 220 Vdc or 250 Vac
Maximum Current per Channel (non-inductive):
5 Adc or ac
rms
Terminal to Terminal
rms
Terminal to Chassis
rms
DC Performa nce
Relay Life (Typical):*
Condition No Load 5 x 10 250 Vac, 2A, R e sistiv e 10 250 Vac, 5A, R e sistiv e 10 250 Vac, 2A, p.f. = 0.4 10 250 Vac, 5A, p.f. = 0.4 10
30 Vdc , 1A , R e sistive > 10 30 Vdc , 5A , R e sistive 10 30 Vdc , 1A, L/ R = 7 m sec >1 0 30 Vdc , 5A, L/ R = 7 m sec 10
Maximum Switchable Power per Channel:
150 W dc; 1250 VA per switch 1500 W dc; 12,500 VA per module
Number of Operations
6 5
6 5
6
5
6
5
7
Insulation Resistance (between any two points):
6
>5x10
at 40° C, 95% RH
8
>5x10
at 25° C, 40% RH
Maximum Thermal Offset per Channel:
µV (<3 µV typical)
<7
Closed Channel Resistance:
>100 mA: <0.250 <100 mA: <20
AC Performa nce
Capacitance:
<30 pF (Channel to Channel) <40 pF (Channel to Common) <25 pF (Common to Guard)
Bandwidth (-3 dB):
>10 MHz (typical) * Relays are subject to normal we arout based on the number of operat ions.
** Absolute wors t case when all relays are closed simultaneou sly.
Appendix A
Crosstalk (db) (for Z1 = Zs =50
Frequency Channel to Channel <-83 <-63 <-43 Common to NO or NC <-80 <-60 <-40 Module to Module <-100 <-100 <-90
Form C Switch Specifications 77
(<2 Ω at end of relay life)
Ω):
<10 kHz <100 kHz <1 MH z
Notes:
78 Form C Switch Specifications
Appendi x A
Register-Based Programming
About This Appendix
This appendix contains the information you can use for register-based programming of the E1463A Form C Switch. The contents include:
Register Programming vs. SCPI Programming . . . . . . . . . . . .79
Addr e s sing the Reg i s te rs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 9
Register Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
Prog r a mmin g Ex a mples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 5
Register Programming vs. SCPI Programming
The E1463A Form C Switch is a register-based module that does not support the VXIbus word serial protocol. When a SCPI command is sent to the Form C switch, the E1406 Command Module parses the command and programs the switch at the register level.
Appendix B
NOTE If SCPI is used to control this module, register programming is not
recommended. The SCPI driver maintains an image of the card state. The driver will be unaware of changes to the card state if you alter the card state by using register writes.
Register-based programming is a series of reads and writes directly to the Form C switch registers. This increases throughput speed since it eliminates command parsing and allows the use of an embedded controller. Also, if slot 0, the resource manager, and the computer GPIB interface are provided by other devices, a C-size system can be downsized by removing the command module.
Addressing the Registers
Register addresses for register-based devices are located in the upper 25% of VXI A16 address space. Every VXI device (up to 256 devices) is allocated a 32-word (64-byte) block of addresses. With five registers, the E1463A Form C Switch uses five of the 64 addresses allocated.
Appendix B
Register-Based Programming 79
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 programmin g 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.
A16 Address Space
Outside the Command
Module
A16 Address Space
Inside the Command
Module or Mainframe
When the E1406 Com mand Mo dul e i s n o t pa r t of your VXIbu s system (see Figure B-1), the switch’s base address is computed as:
C000
+ (LADDR * 64)
16
where C000
(49,152) is the starting location of the register addresses,
16
or 49,152 + (LADDR * 64)
16
LADDR is the switch’s logical address, and 64 is the number of address bytes per VXI device. For example, the switch’s factory-set logical address is 120 (78
). If this address is not changed, the switch will have a base
16
address of:
C000
+ (120 * 64)16 = C00016 + 1E0016 = DE00
16
16
or (decimal)
49,152 + (120 * 64) = 49,152 + 7680 = 56,832
When the A16 address space is inside the E1406 Command Module (see Figure B-2), the switch’s base address is computed as:
1FC000
where 1FC000
+ (LADDR * 64)16 or 2,080,768 + (LADDR * 64)
16
(2,080,768) is the starting location of the VXI A16
16
addresses, LADDR is the switch’s logical address, and 64 is the number of address bytes per register-based device. Again, the switch’s factory-set logical address is 120. If this address is not changed, the switch module will have a base address of:
80 Register-Based Programming
1FC000
+ (120 * 64)16 = 1FC00016 + 1E0016 = 1FDE00
16
or
2,080,768 + (120 * 64) = 2,080,768 + 7680 = 2,088,448
16
Appendi x B
Register Off set The register offset is the register’s location in the block of 64 address bytes.
For example, the switch’s Status Register has an offset of 04 write a command to this register, the offset is added to the base address to form the register address:
. When you
16
FFFFFF
FFFF
COOO
OOOO
16
16
16
ADDRESS
16
E1406
ADDRESS MAP
1FDE00
+ 0416 = 1FDE04
16
FFFF
16
or 2,088,448 + 4 = 2,088,452
16
REGISTER
ADDRESS
SPACE
A16
*
SPACE
C000
16
(49,152)
Base Address = COOO
*
16
+ (Logical Address 64)
49,152 + (Logical Address 64)
Register Addr es s = Bas e addr es s + Register Offset
Figure B-1. Registers Within A16 Address Space
REGISTER
OFFSET
08 06 04 02 00
16
or
10
16 16 16 16 16
Relay Control Register 2
Relay Control Register 1
Status/Control Register
Device Type Register
E1463A
A16 REGISTER MAP
*
*
DESCRIPTION
ID Register
EOOOOO
200000
IF0000
000000
200000
16
A24
ADDRESS
SPACE
IFCOOO
A16
ADDRESS
SPACE
16
16
200000
REGISTER
ADDRESS
SPACE
16
*
IFOOOO
16
16 16
16
Base Address = IFC000
Register Address = Base address + Register Offset
16
2,080,768 + (Logical Address 64)
IFCOOO
16
(2,080,768)
+ (Logical Address 64)
or
*
16
*
10
REGISTER
OFFSET
08
16
06
16
04
16
02
16
00
16
16-BIT WORDS
Relay Control Register 2 Relay Control Reg is te r 1
Status/Control Register
Device Type Register
ID Register
E1463A
A16 REGISTER MA P
Figure B-2. Registers Within the E1406 A16 Address Space
Appendix B
Register-Based Programming 81
Register Descriptions
The Form C switch module contains two read registers, one read/write register, and two write registers. This section describes each Form C module register.
Read in g and
Writing to the
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 Form C switch module registers.
Registers
Manufacturer Identification Register (base + 00
Device Type Register (base + 02
Status/Control Register (base + 04
Relay Control Register for Channels 00 - 15 (base + 06
Relay Control Register for Channels 16 - 31 (base + 08
Manufacturer
Identification
The Manufacturer Identification Register is at offset address 0016 and returns FFFF and the module is an A16 register-based module. This register is read only.
. This shows that Agilent Technologies is the manufacturer
16
Register
b+00
16
Write Undefined Read
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Manufacturer ID - Returns
FFFF
= Agilent Technologies A16 only register-based device.
16
) (read)
16
) (read or write)
16
) (read)
16
) (write)
16
) (write)
16
Devi ce Type
Register
b+02
16
Write Undefined Read 0121
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Status/Control
Register
b+04
16
Write Not Used E Not Used R Read
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MS Not Used BEXX11XX
X
The Device Type Register is at offset address 0216 and returns 012116 for an E1463A Form C Switch module. This register is read only.
16
The Status/Control Register is at offset address 0416 and informs the user about the module’s status and configuration. This register is read and write.
82 Register-Based Programming
Appendi x B
Reading the
Status/Control Register
For Status/Control register reads, three bits are defined as follows.
MODID Select (bit 14): 0 indicates the module has been selected
by MODID (module ID) and a 1 indicates the module has not been selected.
Busy (bit 7): 0 indicates the module is busy. Each relay requires
about 10 ms execution time during which the Form C switch is busy. Bit 7 of this register is used to inform the user of a busy condition.
Enable (bit 6): 0 indicates the interrupt is enabled. 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.
For example, if the Form C switch module is not busy (bit 7 = 1) and the interrupt is enabled (bit 6 = 0), a read of the Status/Control Register (base + 04
) returns FFBF.
16
Writing to the
Status/Control Register
NOTE When writing to the registers it is necessary to write "0" to bit 0 after the
You can only write to bits 0 and 6 of the Status/Control Register.
Enable (bit 6): Writing a "1" to this bi t disables the interrupt function
of the module.
Soft Reset (bit 0): Writing a "1" to this bit soft resets the module.
reset has been performed before any other commands can be programmed and executed. SCPI commands take care of this automatically.
Typically, interrupts are only disabled to "peek-poke" a module. See the appropriate command module operating manual before disabli ng the interrupt. Writing a "1" to bit 0 resets the switch (all channels open).
Appendix B
Register-Based Programming 83
Relay Control
Register
There are two relay control registers: Relay Control Register 1 (base + 0616) and Relay Control Register 2 (base + 08
). These registers are used to
16
connect the common (C) to the normally open (NO) terminal. Reading any Relay Control Register will always return FFFF
regardless of the channel
16
states. The numbers in the register maps indicate the channel number to be written
to. Writes to the Relay Control Registers enable you to open or close the desired channel. For example, write a "1" to bit 2 of Relay Control Register 1 to close channel 02.
Relay Control Register Channels 00 - 15
b+06 Write
Read
b+08 Write
Read
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
16
CH15 CH14 CH13 CH1 2 CH11 CH10 CH09 CH08 CH07 CH06 CH05 CH04 CH03 CH02 CH01 CH00
Always returns
FFFF
16
Relay Control Register Channels 16 - 31
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
16
CH31 CH30 CH29 CH2 8 CH27 CH26 CH25 CH24 CH23 CH22 CH21 CH20 CH19 CH18 CH17 CH16
Always returns
FFFF
16
84 Register-Based Programming
Appendi x B
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: Readi ng
the Registers
(BASIC)
This BASIC programming example reads the Manufacturer ID Register, Device Type Register and Status Register on the Form C switch.
10 !***************************************************** 20 ! ****** READREG ***** 30 !***************************************************** 40 OPTION BASE 1 50 ! 60 DIM Reg_name$(1:3)[32], Reg_addr(1:3) 70 ! 80 ! 90 READ Reg_name$(*) 100 READ Reg_addr(*) 110 ! 120 ! 130 Base_addr = DVAL("DE00",16) 140 ! 150 ! 160 ! 170 CONTROL 16,25;2 180 ! 190 Read_regs(Base_addr, Reg_name$(*), Reg_addr(*)) 200 ! 210 DATA Identification register, Device register, Status register 220 DATA 00, 02, 04 230 END
300 ! 310 ! 320 SUB Read_regs(Base_addr, Reg_name$(*), Reg_addr(*)) 330 ! 340 For Number = 1 to 3 350 Register = READIO(-16,Base_addr + Reg_addr(number)) 360 PRINT Reg_name$(number); " = "; IVAL$(Register,16) 370 Next Number 380 SUBEND
Set up arrays to store register names and addresses
Read register names and addresses into the arrays
Set base address variable
Map the A16 address space in the controller
Call the subprogram Read_regs
. . .
This subprogram steps through a loop that reads each register and prints its contents
Appendix B
Register-Based Programming 85
Example: Readi ng
the Registers
This C/HP-UX programming example reads the Manufacturer ID Register, Device Type Register and Status Register on the Form C switch.
(C/HP-UX)
/***************************************************/ /****** readreg.c ******/ /**************************************************/
#include <sys/vxi.h> /*source file for controller VXI drivers*/ #include <fcntl.h> #include <stdio.h>
#define logical_address 120 /*logical address of the Form C module*/
int fd; typedef unsigned short word; typedef struct dev_regs{ /*set up pointers*/
unsigned short id_reg;
unsigned short device_type;
unsigned short status_reg; unsigned short bank0_channels;
} DEV_REGS;
main( ) { /*open the controller VXI interface*/ fd=open("/dev/vxi/primary",O_RDWR); if (fd){
perror("open");
exit(1); } /*retrieve the A16 pointers*/ dev=(struct dev_regs *)vxi_get_a16_addr(fd,logical_address);
86 Register-Based Programming
/*sub to read the registers*/ read_reg(dev); /*END of main program*/ }
/*SUB READ_REG*/
int read_reg(reg_ptr) DEV_REGS *reg_ptr; { /*read the ID register*/ printf("\n ID Register = 0x%x\n",reg_ptr->id_reg); /*read the Device Type register*/ printf("\n Device Type Register = 0x%x\n",reg_ptr->device_type); /*read the Status register*/ printf("\n Status Register = 0x%x\n",reg_ptr->status_reg); return; }
Appendi x B
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.
10 !*************************************************** 20 !***** MAKEMEAS ***** 30 !*************************************************** 40 OPTION BASE 1 50 ! 60 DIM Reg_name$(1:1)[32], Reg_addr(1:1) 70 ! 80 ! 90 READ Reg_name$(*) 100 READ Reg_addr(*) 110 ! 120 ! 130 Base_addr = DVAL("DE00",16) 140 ! 150 ! 160 CONTROL 16,25;2 170 ! 180 Make_meas(Base_addr, Reg_addr(*)) 190 ! 200 DATA Bank0 channels register 210 DATA 06 220 END
280 ! 290 ! 300 ! 310 SUB Make_meas(Base_addr, Reg_addr(*)) 320 ! 330 WRITEIO -16, Base_addr + Reg_addr(1); 1 340 REPEAT 350 UNTIL BIT(READIO(-16,Base_addr+4),7)
380 WRITEIO -16, Base_addr + Reg_addr(1);0 390 SUBEND
Set up arrays to store register names and addresses
Read register names and address into the arrays
Set base address variable
Map the A16 address space in the controller
Call the subprogram Make_meas
. . .
This subprogram closes bit 1 of bank0 channels, waits for the channel to be closed, makes a measurement, and then opens the relay
.
.
.!
.
Make Measurements
Appendix B
Register-Based Programming 87
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 10 ms. If the time is less, you must change the value of j in the for loop. For example, instead of 10000, you might need to use 12000.
/******************************************************/ /*** makemeas.c ***/ /******************************************************/ #include <time.h> #include <sys/vxi.h> /*source file for controller VXI drivers*/ #include <fcntl.h> #include <stdio.h>
#define logical_address 120 /*logical address of Form C Switch*/
int fd; typedef unsigned short word; typedef struct dev_regs{ /*set up pointers*/
unsigned short id_reg;
unsigned short device_type;
unsigned short status_reg; unsigned short bank0_channels;
} DEV_REGS;
main( ) {
/*open the controller VXI interface*/ fd=open("/dev/vxi/primary",O_RDWR); if (fd){
perror("open");
exit(1);
} /*retrieve the A16 pointers*/ dev=(struct dev_regs *)vxi_get_a16_addr(fd,logical_address);
/*sub to verify the time to close the switch*/ ver_time( ); /*sub to close switch and make measurement*/ make_meas(dev); } /* *END of main program*/
Continued on next page
88 Register-Based Programming
Appendi x B
/*SUB VER_TIME*/
ver_time( ) { struct timeval first,
second, lapsed;
struct timezone tzp; gettimeofday(&first,&tzp); for (j=0; j<=10000; 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.tv_usec); }
/*SUB MAKE_MEAS*/
int make_meas(reg_ptr) DEV_REGS *reg_ptr; {
/*close bit 1 of bank0 */ reg_ptr->bank0_channels=0x0001; for (j=0; j<=10000; j ++); /*wait for switch to close*/ printf("\n Making Measurement");
. . /*make measurements*/
. /*open bit 1 of bank0*/ reg_ptr->bank0_channels=0x0000; return; }
Appendix B
Register-Based Programming 89
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.
10 !************************************************** 20 !***** SCANNING ***** 30 !************************************************** 40 OPTION BASE 1 50 ! 60 DIM Reg_name$(1:1)[32], Reg_addr(1:1) 70 ! 80 ! 90 READ Reg_name$(*) 100 READ Reg_addr(*) 110 ! 120 Base_addr = DVAL("DE00",16) 130 ! 140 ! 150 CONTROL 16,25;2 160 ! 170 Scan_meas(Base_addr, Reg_addr(*)) 180 ! 190 DATA Bank0 channels register 200 DATA 06 210 END
270 ! 280 ! 290 ! 300 SUB Scan_meas(Base_addr, Reg_addr(*)) 310 ! 320 WRITEIO -16, Base_addr + Reg_addr(1);0 330 FOR I= 0 to 15 340 WRITEIO -16, Base_addr + Reg_addr(1);2^I 350 REPEAT 360 UNTIL BIT(READIO(-16,Base_addr+4),7) 370 PRINT "Making Measurements"
420 NEXT I 430 WRITEIO -16,Base_addr + Reg_addr(1);0 440 SUBEND
Set up arrays to store register names and addresses
Read register names and addresses into the arrays
Set base address variable
Map the A16 address space in the controller
Call the subprogram Scan_meas
. . .
This subprogram sets all bits in bank0 open then scans through bank 0, closing one channel at a time (waits for the channel to be closed) so a measurement can be made.
. . ! .
Make Measurements
90 Register-Based Programming
Appendi x B
Example: Scanning
Channels (C/HP-UX)
NOTE The sub ver_time allows time for the switches to close. The program should
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.
print a time around 10 ms. If the time is less, you must change the value of j in the for loop. For example, instead of 10000, you might need to use
12000. The math.h include file requires a -lm option when compiling this program.
/******************************************************/ /*** scanning.c ***/ /******************************************************/ #include <time.h> #include <math.h> /*file to perform math functions*/ #include <sys/vxi.h> /*source file for controller VXI drivers*/ #include <fcntl.h> #include <stdio.h>
#define logical_address 120 /*logical address of Form C Switch*/ #define lastch15
int fd, i, reg; double y; typedef unsigned short word; typedef struct dev_regs{ /*set up pointers*/
unsigned short id_reg;
unsigned short device_type;
unsigned short status_reg; unsigned short bank0_channels;
} DEV_REGS; main( ) { /*open the controller VXI interface*/ fd=open("/dev/vxi/primary",O_RDWR); if (fd){
perror("open"); exit(1);
} /*retrieve the A16 pointers*/ dev=(struct dev_regs *)vxi_get_a16_addr(fd,logical_address);
Appendix B
Continued on next page
Register-Based Programming 91
/*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<=10000; 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.tv_usec); }
/*SUB SCAN_MEAS*/ int scan_meas(reg_ptr) DEV_REGS *reg_ptr; { /*set bank0 to 000 */
reg_ptr->bank0_channels=0x000; i=0; for (i=0;i=lastch;i ++)
{ y=i; reg=pow(2.0,y); reg_ptr-bank0_channels=reg; for (j=0; j<=10000; j ++); /*wait for switch to be closed*/ printf("\n Making Measurement");
.
. /*make measurements*/
.
} return; }
92 Register-Based Programming
Appendi x B
Error Types
Appendix C
E1463A Error Messages
Table C-2 lists the error messages generated by the E1463A Form C Switch module 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 Mod ule User’s Manual for further details on these errors.
Table C-1. Error Types
Range Error Types Description
-199 to -100 Command Errors (syntax and parameter errors).
-299 to -200 Execution Errors (instrument driver detected errors)
-399 to -300 Device Specific Errors (instrument driver errors that are not command nor execution errors).
-499 to -400 Query Errors (problem in querying an instrument)
Appendix C
E1463A Error Messages 93
Error Messages
Table C-2. Error Messages
Code
-109 Missing Parameter Sending a command requiring a channel list without the channel list.
-211 Trigger Ignored Trigger received when scan not enabled. Trigger r eceived after scan
-213 INIT Ignored Attempting to execute an INIT command when a scan is already in
-224 Illegal Parameter Value Attempting to execute a command with a paramete r not applicable to
-310 System Error, Internal Driver Error.
+1500 External Trig ger Source
Already Allocated
+2000 Invalid Card Number Addressing a module (card) in a switchbox that is not part of the
+2001 Invalid Channel Number Attempting to address a channel of a module in a swi tchbox t hat is not
+2006 Command Not Supported On
This C ard
+2008 Scan List Not Initialized Executing a scan wit hout the INIT command.
Error Message
Potential Cause(s)
complete. Trigger too fast.
progress.
the command. This error can result if an excessivel y long parameter lis t is entered.
Assigning an exte rnal trigger source to a switchbox when the trigger source has already been assigned to another switchbox.
switchbox.
supported by the module (e.g., channel 99 of a multiplexer module). Sending a command to a module (card) in a switchbox that is
unsupported by the module.
+2009 T oo Many Channels In Channel
List
+2011 Empty Channel List No valid channels are specified in t he <channel_list>. +2012 Invalid Channel Range Invalid channel(s) specified in SCAN <channel_list> command.
+2600 Function Not Supported On
This C ard
Attempting to address more channels than available in the switchbox.
Attempting to begin scanning when no valid <channel_list> is defined. Sending a command to a module (card) in a switchbox that is not
supported by the modul e or switchbox.
94 E1463A Error Messages
Appendi x C
Index
E1463A 32-Channel Form C Switch User’s Manual
A
abbreviated commands, 48 ABORt subsystem adding relay protection addressing registers addressing the switch ARM subsystem ARM:COUNt ARM:COUNt? attaching terminal modules
, 50
, 25
, 79
, 27
, 51
, 51
, 52
, 22
B
base address, 80 base address, registers
, 80
C
cautions, 14 command separator command types common commands
, 76
*CLS
, 76
*ESE
, 76
*ESE?
, 76
*ESR?
, 76
*IDN?
, 76
*OPC *OPC? *RCL *RST *SAV *SRE *SRE? *STB? *TRG *TST? *WAI
, 76
, 76 , 76 , 76
, 76
, 76
, 76
, 76
, 76
, 76
common commands reference common commands, format configuring terminal modules connecting user inputs connector pinouts
, 48
, 47
, 47
, 1920
, 19
, 76
, 18
D
declaration of conformity, 9 description, swi tch detecting error conditions Device Type register DISPlay subsystem DISPlay:MONitor:CARD DISPlay:MONitor[:STATe] documentation history
, 11
, 45
, 82
, 53
, 53
, 54
, 8
E
error conditions, detecting, 45 error messages error types examples
Advancing Scan Using TRIGger Closing a Channel (BASIC) Closing a Channel (TURBO C) Closing Form C Switch Channels Controlling RF Switches (BASIC) Detecting Error Conditions (BASIC) Detecting Error Conditions (Turbo C) Digital Output Configuration (BASIC) Enabling "Trig Out" Port Enabling a Single Scan Enabling Continuous Scanning Enabling Monitor Mode Enabling Operation Status Register Bit 8 Enabling TTL Trigger Bus Line 7 Making Measurements (BASIC) Making Measurements (C/HP-UX) Matrix Switching (BASIC) Module Identification (BASIC) Module Identification (TURBO C) Opening Form C Switch Channels Opening/Closing Channels (BASIC) Querying "Trig Out" Port Enable State Querying Channel Closure Querying Channel Closures (BASIC) Querying Channel Open State Querying Continuous Scanning State Queryi ng Num ber of S cans
, 9394
, 93
, 29
, 57–58
, 56
, 54
, 37
, 32
, 62
, 63
, 52
, 72
, 29
, 62 , 35
, 45
, 45 , 37
, 56
, 67
, 60
, 87
, 88
, 33
, 63
, 34
, 58–59
, 42
, 56
Index 95
E (continued)
examples (cont’d)
Querying the OPERation Status Register Querying the Trigger Source
, 74
Querying TTL Trigger Bus Enable State Reading the Description of a Module Reading the Error Queue
, 71
Reading the Model Number of a Module Reading the OPERation Status Register Reading the Registers (BASIC)
, 85
Reading the Registers (C/HP-UX) Saving and Recalling State (BASIC) Scanning Channels (BASIC) Scanning Channels (C/HP-UX) Scanning Using Bus Triggers Scanning Using External Device
, 90
, 91
, 74
, 64
Scanning Using External Triggers Scanning Using Trig In/Out Ports (BASIC) Scanning Using TTL Trigger Bus (BASIC) Select Module for Monitoring Setting Ten Scanning Cycles Stopping a Scan with ABORt
, 53
, 51 , 50
Synchronizing the Form C Switch (BASIC) Using the Scan Complete Bit (BASIC) Voltage Switching (BASIC)
extendin g r ela y lif e
, 24
, 34
I
IEEE 488.2 command s reference, 76 implied commands INITiate subsystem INITiate:CONTinuous INITiate:CONTinuous? INITiate[:IMMediate] installin g swit c h in ma i n fra m e ins trument , VXI bus interrupt p r i ority, setting
, 48
, 55
, 55
, 56
, 56
, 17
, 11
, 16
L
linking commands, 49 logical address switch, setting
, 15
M
Manufacturer ID register, 82 module identification
, 32
, 86
, 74
, 69
, 44
, 43
, 68
, 60
, 70 , 68
, 39
, 40
, 46
O
offset, register, 81 operation status register operation, switch
, 11
, 42
Option A3G terminal module OUTPut subsystem OUTPut:EXTernal[:STATe]
, 57
, 57
OUTPut:EXTernal[:STATe]? OUTPut[:STATe] OUTPut[:STATe]? OUTPut:TLTrgn[:STATe] OUTPut:TLTrgn[:STATe]?
, 58
, 59
, 59
, 60
P
parameters, 49 power-on conditions programming the switch
, 32
, 27
programming, register-based protecting relays
, 23
Q
querying the switch, 42
R
recalling states, 44 registers
addressing base address device type Manufacturer ID register offset Operation Status register Relay Control register register vs. SCPI programming StatusControl register
types register-based programming relay configurations Relay Control register relays
adding relay protection
extending relay life
life factors
protecting
replacement strategy reset conditions restricted rights statement
, 79
, 80
, 82
, 81
, 84
, 82
, 13
, 84
, 25
, 24
, 23
, 23
, 24
, 32
, 7
, 18
, 58
, 79
, 82
, 42
, 79
, 82
, 79
96 Index
R (continued)
[ROUTe:] subsyst em, 61 [ROUTe:]CLOSe [ROUTe:]CLOSe? [ROUTe:]OPEN [ROUTe:]OPEN? [ROUTe:]SCAN
, 61
, 62
, 62
, 63
, 64
S
safety symbols, 8 saving states scan complete bit scanning channels schematic diagram SCPI commands
abbreviated commands command reference command separator format implied commands linking commands parameters quick reference using
variable command syntax specifications standard terminal module, description STATus subsystem STATus:OPERation:CONDition? STATus:OPERation:ENABle STATus:OPERation:ENABle? STATus:OPERation[:EVENt]? STATus:PRESet StatusControl register switch
addressing
allowable current
card numbers
channel addresses
configuration
connector pinouts
current, maximum
description
error conditions
error messages
error types
installing in mainframe
, 44
, 42
, 39
, 12
, 48 , 49 , 48
, 47
, 48
, 49
, 49
, 75
, 27
, 48
, 77
, 65
, 67
, 67
, 67
, 68
, 68
, 82
, 27
, 26
, 28
, 28
, 1314
, 19
, 26
, 11
, 45
, 9394
, 93
, 17
, 18
S (continued)
switch (co n t ’d)
logical address module identification operation programming power-on conditions querying recalling states
, 12
relays reset conditions saving states scan complete bit scanning channels schematic SCPI commands switching channels
synchronizing SYSTem subsystem SYSTem:CDEScription? SYSTem:CPON SYSTem:CTYPe? SYSTem:ERRor?
, 15
, 32
, 11
, 27
, 32
, 42
, 44
, 32
, 44
, 42
, 39
, 12
, 31
, 34
, 46
, 69
, 69
, 69
, 70
, 70
T
terminal module Option A3G, description, 18 terminal modules
attaching
configuring
wiring TRIGger subsystem TRIGger[:IMMediate] TRIGger:SOURce TRIGger:SOURce?
, 22
, 18
, 20
, 72
, 72
, 73
, 74
U
user inputs, connecting, 19–20
V
variable command syntax, 48 VXIbus instrument
, 11
W
WARNINGS, 8, 14 warranty statement wiring a terminal module
, 7
, 20
Index 97
Notes:
98 Index
Loading...