Text preview for : HP 83711A_252C B_252C 12A_252C 83711B_252C 12B Programming.pdf part of Agilent HP 83711A 252C B 252C 12A 252C 83711B 252C 12B Programming Agilent HP 83711A_252C B_252C 12A_252C 83711B_252C 12B Programming.pdf
Back to : HP 83711A_252C B_252C 12A | Home
Notice
Hewlett-Packard to Agilent Technologies Transition
This documentation supports a product that previously shipped under the Hewlett-
Packard company brand name. The brand name has now been changed to Agilent
Technologies. The two products are functionally identical, only our name has changed. The
document still includes references to Hewlett-Packard products, some of which have been
transitioned to Agilent Technologies.
Printed in USA March 2000
Contacting Agilent
By internet, phone, or fax, get assistance with all your test and measurement needs.
Table 1-1 Contacting Agilent
Online assistance: www.agilent.com/find/assist
United States Latin America Canada Europe
(tel) 1 800 452 4844 (tel) (305) 269 7500 (tel) 1 877 894 4414 (tel) (+31) 20 547 2323
(fax) (305) 269 7599 (fax) (905) 282-6495 (fax) (+31) 20 547 2390
New Zealand Japan Australia
(tel) 0 800 738 378 (tel) (+81) 426 56 7832 (tel) 1 800 629 485
(fax) (+64) 4 495 8950 (fax) (+81) 426 56 7840 (fax) (+61) 3 9210 5947
Asia Call Center Numbers
Country Phone Number Fax Number
Singapore 1-800-375-8100 (65) 836-0252
Malaysia 1-800-828-848 1-800-801664
Philippines (632) 8426802 (632) 8426809
1-800-16510170 (PLDT 1-800-16510288 (PLDT
Subscriber Only) Subscriber Only)
Thailand (088) 226-008 (outside Bangkok) (66) 1-661-3714
(662) 661-3999 (within Bangkok)
Hong Kong 800-930-871 (852) 2506 9233
Taiwan 0800-047-866 (886) 2 25456723
People's Republic 800-810-0189 (preferred) 10800-650-0121
of China 10800-650-0021
India 1-600-11-2929 000-800-650-1101
Programming Guide
HP 83711A/12A and
HP 83711B/12B
Synthesized CW
Generators
HP part number: 83711-90132 Supersedes 5960-7089
Printed in USA April, 1995
Notice.
The information contained in this document is subject to change without
notice.
Hewlett-Packard makes no warranty of any kind with regard to this material,
including but not limited to, the implied warranties of merchantability and
tness for a particular purpose. Hewlett-Packard shall not be liable for errors
contained herein or for incidental or consequential damages in connection
with the furnishing, performance, or use of this material.
Copyright Hewlett-Packard Company 1995
c
All Rights Reserved. Reproduction, adaptation, or translation without prior
written permission is prohibited, except as allowed under the copyright laws.
1400 Fountaingrove Parkway, Santa Rosa, CA 95403-1799, USA
The HP 83711A/12A and HP 83711B/12B
Synthesized CW Generators
The HP 83711A/12A and HP 83711B/12B Synthesized CW Generators are
referred to as \synthesizers" throughout this manual. The HP 83711A/11B
has a carrier frequency range of 1 GHz to 20 GHz and the HP 83712A/12B
has a carrier frequency range of 10 MHz to 20 GHz. Complete specication
information can be found in Chapter 4 in the HP 83711A/12A and
HP 83711B/12B Synthesized CW Generators User's Guide.
This programming guide provides specic, detailed information about the
commands used to program the synthesizer.
Notes
1. This manual applies to instruments with rmware revision 10.0 or greater.
2. If you have an HP 83711A/12A instrument with rmware revision number < 10.0, refer to the
HP 83711A/12A Synthesized CW Generator Programmer's Reference (5960-7089).
3. To view rmware revision, press 4SPCL5, 415, 4HZ5 (ENTER).
iii
In This Book
This book provides information about the various commands used in
programming the synthesizer, error messages, and regulatory information.
Information is divided into chapters as follows:
Chapter 1, \Getting Started Programming," contains general HP-IB
information, introduces the Standard Commands for Programmable
Instruments (SCPI), and provides example programs.
Chapter 2, \Programming Commands," contains entries on all of the
programming commands used by the synthesizer. This chapter is
subdivided into sections that contain groupings of related commands. For
example, all commands related to automatic level control are grouped in
one tabbed section.
Chapter 3, \Error Messages," contains a list of all of the error messages
that might be generated during use of the instrument. Each entry in the
list contains a sequence that can be followed to recover from the error
condition.
Chapter 4, \HP 8673 Compatibility Guide," contains HP 8673 to SCPI
compatibility information.
Chapter 5, \Legal and Regulatory Information," contains SCPI conformance
information. The product warranty is also contained in this chapter.
iv
Contents
1. Getting Started Programming
HP-IB General Information . . . . . . . . . . . . . . 1-3
Interconnecting Cables . . . . . . . . . . . . . . . 1-3
Instrument Addresses . . . . . . . . . . . . . . . 1-5
HP-IB Instrument Nomenclature . . . . . . . . . . 1-6
Listener . . . . . . . . . . . . . . . . . . . . 1-6
Talker . . . . . . . . . . . . . . . . . . . . . 1-6
Controller . . . . . . . . . . . . . . . . . . . 1-6
Programming the Synthesizer . . . . . . . . . . . . 1-6
HP-IB Command Statements . . . . . . . . . . . . 1-7
Abort . . . . . . . . . . . . . . . . . . . . . . 1-8
Related statements used by some computers . . . . 1-8
Remote . . . . . . . . . . . . . . . . . . . . . 1-9
Some BASIC examples . . . . . . . . . . . . . . 1-9
Local Lockout . . . . . . . . . . . . . . . . . . . 1-10
A BASIC example . . . . . . . . . . . . . . . . 1-10
Local . . . . . . . . . . . . . . . . . . . . . . 1-10
Some BASIC examples . . . . . . . . . . . . . . 1-10
Clear . . . . . . . . . . . . . . . . . . . . . . 1-11
Some BASIC examples . . . . . . . . . . . . . . 1-11
Related statements used by some computers . . . . 1-11
Output . . . . . . . . . . . . . . . . . . . . . . 1-12
A BASIC example . . . . . . . . . . . . . . . . 1-13
Related statements used by some computers . . . . 1-13
Enter . . . . . . . . . . . . . . . . . . . . . . 1-14
Related statements used by some computers . . . . 1-15
Getting Started with SCPI . . . . . . . . . . . . . . 1-16
Denitions of Terms . . . . . . . . . . . . . . . . . 1-17
Standard Notation . . . . . . . . . . . . . . . . . 1-18
Command Mnemonics . . . . . . . . . . . . . . 1-18
Angle Brackets . . . . . . . . . . . . . . . . . 1-18
How to Use Examples . . . . . . . . . . . . . . . 1-18
Command Examples . . . . . . . . . . . . . . . 1-19
Response Examples . . . . . . . . . . . . . . . 1-19
Essentials for Beginners . . . . . . . . . . . . . . . 1-20
Program and Response Messages . . . . . . . . . . 1-21
Contents-1
Forgiving Listening and Precise Talking . . . . . . 1-21
Types of Commands . . . . . . . . . . . . . . . . 1-21
Subsystem Command Trees . . . . . . . . . . . . . 1-23
The Command Tree Structure . . . . . . . . . . 1-23
Paths Through the Command Tree . . . . . . . . 1-23
More About Commands . . . . . . . . . . . . . . 1-26
Query and Event Commands . . . . . . . . . . . 1-26
Implied Commands . . . . . . . . . . . . . . . 1-26
Optional Parameters . . . . . . . . . . . . . . . 1-26
Program Message Examples . . . . . . . . . . . . 1-27
Example 1 . . . . . . . . . . . . . . . . . . . 1-27
Example 2 . . . . . . . . . . . . . . . . . . . 1-27
Example 3 . . . . . . . . . . . . . . . . . . . 1-28
Example 4 . . . . . . . . . . . . . . . . . . . 1-28
Reading Instrument Errors . . . . . . . . . . . . . 1-29
Details of Commands and Responses . . . . . . . . . . 1-30
Program Message Syntax . . . . . . . . . . . . . . 1-31
SCPI Subsystem Command Syntax . . . . . . . . . 1-32
Common Command Syntax . . . . . . . . . . . . . 1-33
Response Message Syntax . . . . . . . . . . . . . 1-34
SCPI Data Types . . . . . . . . . . . . . . . . . 1-35
Parameter Types . . . . . . . . . . . . . . . . . 1-36
Numeric Parameters . . . . . . . . . . . . . . . 1-36
Extended Numeric Parameters . . . . . . . . . . 1-37
Discrete Parameters . . . . . . . . . . . . . . . 1-38
Boolean Parameters . . . . . . . . . . . . . . . 1-38
Response Data Types . . . . . . . . . . . . . . . 1-39
Real Response Data . . . . . . . . . . . . . . . 1-39
Integer Response Data . . . . . . . . . . . . . . 1-39
Discrete Response Data . . . . . . . . . . . . . 1-40
String Response Data . . . . . . . . . . . . . . 1-40
Programming Typical Measurements . . . . . . . . . . 1-41
Using the Example Programs . . . . . . . . . . . . 1-41
HP-IB Check, Example Program 1 . . . . . . . . . . 1-42
Program Comments . . . . . . . . . . . . . . . 1-42
Local Lockout Demonstration, Example Program 2 . . 1-43
Program Comments . . . . . . . . . . . . . . . 1-44
Internally Leveled CW Signal, Example Program 3 . . 1-45
Program Comments . . . . . . . . . . . . . . . 1-45
Level Correction Routine, Example Program 4 . . . . 1-46
Program Comments . . . . . . . . . . . . . . . 1-47
Contents-2
Saving and Recalling States, Example Program 5 . . . 1-50
Program Comments . . . . . . . . . . . . . . . . . 1-51
Related Documents . . . . . . . . . . . . . . . . . 1-52
2. Programming Commands
Command Syntax . . . . . . . . . . . . . . . . . . 2-3
2a. Automatic Level Control Commands
[SOURce[1]:]POWer:ALC:PMETer . . . . . . . . . . . 2a-3
Query Syntax . . . . . . . . . . . . . . . . . . . 2a-4
See Also . . . . . . . . . . . . . . . . . . . . . 2a-4
[SOURce[1]:]POWer:ALC:PMETer:STEP . . . . . . . . 2a-5
Query Syntax . . . . . . . . . . . . . . . . . . . 2a-6
See Also . . . . . . . . . . . . . . . . . . . . . 2a-6
[SOURce[1]:]POWer:ALC:SOURce . . . . . . . . . . . 2a-7
Query Syntax . . . . . . . . . . . . . . . . . . . 2a-7
See Also . . . . . . . . . . . . . . . . . . . . . 2a-8
2b. Carrier Commands
[SOURce[1]:]FREQuency[:CWj:FIXed] . . . . . . . . . 2b-3
Query Syntax . . . . . . . . . . . . . . . . . . . 2b-4
See Also . . . . . . . . . . . . . . . . . . . . . 2b-4
[SOURce[1]:]FREQuency[:CWj:FIXed]:STEP . . . . . . 2b-5
Query Syntax . . . . . . . . . . . . . . . . . . . 2b-6
See Also . . . . . . . . . . . . . . . . . . . . . 2b-6
[SOURce[1]:]FREQuency:MULTiplier . . . . . . . . . 2b-7
Query Syntax . . . . . . . . . . . . . . . . . . . 2b-8
See Also . . . . . . . . . . . . . . . . . . . . . 2b-9
[SOURce[1]:]FREQuency:MULTiplier:STEP . . . . . . 2b-10
Query Syntax . . . . . . . . . . . . . . . . . . . 2b-11
See Also . . . . . . . . . . . . . . . . . . . . . 2b-11
2c. Instrument Information Commands
*IDN? (Identication Query) . . . . . . . . . . . . . 2c-3
*OPT? (Option Identication Query) . . . . . . . . . 2c-4
OUTPut:IMPedance? . . . . . . . . . . . . . . . . 2c-5
[SOURce[1]:]ROSCillator:SOURce? . . . . . . . . . . 2c-6
See Also . . . . . . . . . . . . . . . . . . . . . 2c-6
SYSTem:ERRor? . . . . . . . . . . . . . . . . . . 2c-7
See Also . . . . . . . . . . . . . . . . . . . . . 2c-8
SYSTem:VERSion? . . . . . . . . . . . . . . . . . 2c-9
Contents-3
*TST? (Self-Test Query) . . . . . . . . . . . . . . . 2c-10
2d. Instrument State Commands
*LRN? (Learn Device Setup Query) . . . . . . . . . . 2d-3
See Also . . . . . . . . . . . . . . . . . . . . . 2d-4
MEMory:RAM:INITialize . . . . . . . . . . . . . . 2d-5
See Also . . . . . . . . . . . . . . . . . . . . . 2d-5
*RCL (Recall Command) . . . . . . . . . . . . . . . 2d-6
See Also . . . . . . . . . . . . . . . . . . . . . 2d-6
*RST (Reset Command) . . . . . . . . . . . . . . . 2d-7
See Also . . . . . . . . . . . . . . . . . . . . . 2d-7
*SAV (Save Command) . . . . . . . . . . . . . . . 2d-8
See Also . . . . . . . . . . . . . . . . . . . . . 2d-8
SYSTem:PRESet . . . . . . . . . . . . . . . . . . 2d-9
See Also . . . . . . . . . . . . . . . . . . . . . 2d-9
MEMory:CATalog[:ALL]? . . . . . . . . . . . . . . 2d-10
See Also . . . . . . . . . . . . . . . . . . . . . 2d-10
MEMory:CATalog:TABLe? . . . . . . . . . . . . . . 2d-11
See Also . . . . . . . . . . . . . . . . . . . . . 2d-11
2e. Level Correction Commands
MEMory:TABLe:FREQuency . . . . . . . . . . . . . 2e-3
Query Syntax . . . . . . . . . . . . . . . . . . . 2e-4
See Also . . . . . . . . . . . . . . . . . . . . . 2e-5
MEMory:TABLe:FREQuency:POINts? . . . . . . . . . 2e-6
See Also . . . . . . . . . . . . . . . . . . . . . 2e-6
MEMory:TABLe:LOSS[:MAGNitude] . . . . . . . . . 2e-7
Query Syntax . . . . . . . . . . . . . . . . . . . 2e-8
See Also . . . . . . . . . . . . . . . . . . . . . 2e-9
MEMory:TABLe:LOSS[:MAGNitude]:POINts? . . . . . 2e-10
See Also . . . . . . . . . . . . . . . . . . . . . 2e-10
MEMory:TABLe:SELect . . . . . . . . . . . . . . . 2e-11
Query Syntax . . . . . . . . . . . . . . . . . . . 2e-12
See Also . . . . . . . . . . . . . . . . . . . . . 2e-12
[SOURce[1]:]CORRection:CSET[:SELect] . . . . . . . . 2e-13
Query Syntax . . . . . . . . . . . . . . . . . . . 2e-14
See Also . . . . . . . . . . . . . . . . . . . . . 2e-14
[SOURce[1]:]CORRection:FLATness[:DATA] . . . . . . 2e-15
Query Syntax . . . . . . . . . . . . . . . . . . . 2e-16
See Also . . . . . . . . . . . . . . . . . . . . . 2e-16
[SOURce[1]:]CORRection:FLATness:POINts . . . . . . 2e-17
Contents-4
Query Syntax . . . . . . . . . . . . . . . . . . . 2e-17
See Also . . . . . . . . . . . . . . . . . . . . . . . 2e-18
[SOURce[1]:]CORRection:CSET:STATe . . . . . . . . 2e-19
Query Syntax . . . . . . . . . . . . . . . . . . . 2e-19
See Also . . . . . . . . . . . . . . . . . . . . . 2e-20
[SOURce[1]:]CORRection[:STATe] . . . . . . . . . . . 2e-21
Query Syntax . . . . . . . . . . . . . . . . . . . 2e-22
See Also . . . . . . . . . . . . . . . . . . . . . 2e-22
SYSTem:COMMunicate:PMETer:ADDRess . . . . . . . 2e-23
Query Syntax . . . . . . . . . . . . . . . . . . . 2e-24
See Also . . . . . . . . . . . . . . . . . . . . . 2e-24
2f. Macro Commands
*DMC (Dene Macro Command) . . . . . . . . . . . 2f-3
See Also . . . . . . . . . . . . . . . . . . . . . 2f-3
*EMC (Enable Macros) . . . . . . . . . . . . . . . 2f-4
Query Syntax . . . . . . . . . . . . . . . . . . . 2f-4
See Also . . . . . . . . . . . . . . . . . . . . . 2f-5
*GMC? (Get Macro Contents Query) . . . . . . . . . 2f-6
See Also . . . . . . . . . . . . . . . . . . . . . 2f-6
*LMC? (List Macro Query) . . . . . . . . . . . . . . 2f-7
See Also . . . . . . . . . . . . . . . . . . . . . 2f-7
MEMory:FREE:MACRo? . . . . . . . . . . . . . . 2f-8
See Also . . . . . . . . . . . . . . . . . . . . . 2f-8
*PMC (Purge Macros Command) . . . . . . . . . . . 2f-9
See Also . . . . . . . . . . . . . . . . . . . . . 2f-9
*RMC (Remove Macro Command) . . . . . . . . . . 2f-10
See Also . . . . . . . . . . . . . . . . . . . . . 2f-10
2g. Miscellaneous Commands
DISPlay[:WINDow][:STATe] . . . . . . . . . . . . . 2g-3
Query Syntax . . . . . . . . . . . . . . . . . . . 2g-4
SYSTem:KEY . . . . . . . . . . . . . . . . . . . 2g-5
Query Syntax . . . . . . . . . . . . . . . . . . . 2g-7
Contents-5
2h. Power Level Commands
[SOURce[1]:]POWer[:LEVel] . . . . . . . . . . . . . 2h-3
Query Syntax . . . . . . . . . . . . . . . . . . . 2h-5
See Also . . . . . . . . . . . . . . . . . . . . . 2h-5
[SOURce[1]:]POWer[:LEVel]:STEP . . . . . . . . . . 2h-6
Query Syntax . . . . . . . . . . . . . . . . . . . 2h-7
See Also . . . . . . . . . . . . . . . . . . . . . 2h-7
2i. Programmable Interface Commands
*OPC (Operation Complete) . . . . . . . . . . . . . 2i-3
Query Syntax . . . . . . . . . . . . . . . . . . . 2i-3
See Also . . . . . . . . . . . . . . . . . . . . . 2i-4
SYSTem:COMMunicate:GPIB:ADDRess . . . . . . . . 2i-5
Query Syntax . . . . . . . . . . . . . . . . . . . 2i-6
SYSTem:LANGuage . . . . . . . . . . . . . . . . . 2i-7
Query Syntax . . . . . . . . . . . . . . . . . . . 2i-8
UNIT:FREQuency . . . . . . . . . . . . . . . . . 2i-9
Query Syntax . . . . . . . . . . . . . . . . . . . 2i-11
UNIT:POWerj:VOLTage . . . . . . . . . . . . . . . 2i-12
Query Syntax . . . . . . . . . . . . . . . . . . . 2i-14
*WAI (Wait-to-Continue Command) . . . . . . . . . . 2i-15
See Also . . . . . . . . . . . . . . . . . . . . . 2i-15
2j. RF Output Control Commands
OUTPut:PROTection[:STATe] . . . . . . . . . . . . 2j-3
Query Syntax . . . . . . . . . . . . . . . . . . . 2j-4
See Also . . . . . . . . . . . . . . . . . . . . . 2j-4
OUTPut[:STATe] . . . . . . . . . . . . . . . . . . 2j-5
Query Syntax . . . . . . . . . . . . . . . . . . . 2j-5
See Also . . . . . . . . . . . . . . . . . . . . . 2j-6
[SOURce[1]:]POWer:ATTenuation:AUTO . . . . . . . . 2j-7
Advantages . . . . . . . . . . . . . . . . . . . . 2j-7
Disadvantages . . . . . . . . . . . . . . . . . . . 2j-8
Query Syntax . . . . . . . . . . . . . . . . . . . 2j-8
See Also . . . . . . . . . . . . . . . . . . . . . 2j-9
Contents-6
2k. Status Register Commands
The Status Register System . . . . . . . . . . . . . . 2k-3
General Status Group Model . . . . . . . . . . . . 2k-3
Condition Register . . . . . . . . . . . . . . . 2k-4
Negative Transition Register . . . . . . . . . . . 2k-4
Positive Transition Register . . . . . . . . . . . . 2k-4
Event Register . . . . . . . . . . . . . . . . . . . 2k-5
Enable Register . . . . . . . . . . . . . . . . . 2k-5
Synthesizer Status Groups . . . . . . . . . . . . . 2k-5
The Status Byte Group . . . . . . . . . . . . . 2k-5
The Standard Event Status Group . . . . . . . . . 2k-6
The Standard Operation Status Group . . . . . . . 2k-7
The Questionable Data Status Group . . . . . . . 2k-7
Status Register System Programming Example . . . . 2k-8
Program Comments . . . . . . . . . . . . . . . 2k-8
*CLS (Clear Status Command) . . . . . . . . . . . . 2k-10
See Also . . . . . . . . . . . . . . . . . . . . . 2k-10
*ESE (Standard Event Status Enable) . . . . . . . . . 2k-11
Query Syntax . . . . . . . . . . . . . . . . . . . 2k-12
See Also . . . . . . . . . . . . . . . . . . . . . 2k-12
*ESR? (Standard Event Status Register Query) . . . . . 2k-13
Status Reporting . . . . . . . . . . . . . . . . . 2k-14
See Also . . . . . . . . . . . . . . . . . . . . . 2k-14
*PSC (Power-On Status Clear) . . . . . . . . . . . . 2k-15
Query Syntax . . . . . . . . . . . . . . . . . . . 2k-16
See Also . . . . . . . . . . . . . . . . . . . . . 2k-16
*SRE (Service Request Enable) . . . . . . . . . . . . 2k-17
Query Syntax . . . . . . . . . . . . . . . . . . . 2k-18
See Also . . . . . . . . . . . . . . . . . . . . . 2k-18
STATus:OPERation:CONDition? . . . . . . . . . . . 2k-19
See Also . . . . . . . . . . . . . . . . . . . . . 2k-20
STATus:OPERation:ENABle . . . . . . . . . . . . . 2k-21
Query Syntax . . . . . . . . . . . . . . . . . . . 2k-22
See Also . . . . . . . . . . . . . . . . . . . . . 2k-23
STATus:OPERation[:EVENt]? . . . . . . . . . . . . 2k-24
See Also . . . . . . . . . . . . . . . . . . . . . 2k-26
STATus:OPERation:NTRansition . . . . . . . . . . . 2k-27
Query Syntax . . . . . . . . . . . . . . . . . . . 2k-29
See Also . . . . . . . . . . . . . . . . . . . . . 2k-29
STATus:OPERation:PTRansition . . . . . . . . . . . 2k-30
Query Syntax . . . . . . . . . . . . . . . . . . . 2k-32
Contents-7
See Also . . . . . . . . . . . . . . . . . . . . . 2k-32
STATus:PRESet . . . . . . . . . . . . . . . . . . . . . 2k-33
See Also . . . . . . . . . . . . . . . . . . . . . 2k-34
STATus:QUEStionable:CONDition? . . . . . . . . . . 2k-35
See Also . . . . . . . . . . . . . . . . . . . . . 2k-36
STATus:QUEStionable:ENABle . . . . . . . . . . . . 2k-37
Query Syntax . . . . . . . . . . . . . . . . . . . 2k-38
See Also . . . . . . . . . . . . . . . . . . . . . 2k-39
STATus:QUEStionable[:EVENt]? . . . . . . . . . . . 2k-40
See Also . . . . . . . . . . . . . . . . . . . . . 2k-42
STATus:QUEStionable:NTRansition . . . . . . . . . . 2k-43
Query Syntax . . . . . . . . . . . . . . . . . . . 2k-45
See Also . . . . . . . . . . . . . . . . . . . . . 2k-45
STATus:QUEStionable:PTRansition . . . . . . . . . . 2k-46
Query Syntax . . . . . . . . . . . . . . . . . . . 2k-48
See Also . . . . . . . . . . . . . . . . . . . . . 2k-48
*STB? (Read Status Byte Query) . . . . . . . . . . . 2k-49
See Also . . . . . . . . . . . . . . . . . . . . . 2k-50
3. Error Messages
Error Messages List . . . . . . . . . . . . . . . . . 3-3
Messages . . . . . . . . . . . . . . . . . . . . . . 3-5
4. HP 8673 Compatibility Guide
Command Mapping to SCPI . . . . . . . . . . . . . 4-3
Out of Range Personality Dierence . . . . . . . . . 4-12
Rounding Personality Dierence . . . . . . . . . . . 4-12
Out of Range . . . . . . . . . . . . . . . . . . . 4-12
Rounding . . . . . . . . . . . . . . . . . . . . 4-13
Power Suxes . . . . . . . . . . . . . . . . . . 4-13
Output Active Parameter . . . . . . . . . . . . . 4-13
System ALC Mode . . . . . . . . . . . . . . . . 4-13
Query Return Format . . . . . . . . . . . . . . . 4-14
HP 8673 Status Bits . . . . . . . . . . . . . . . . . 4-15
Images . . . . . . . . . . . . . . . . . . . . . . 4-16
Event Register Bits . . . . . . . . . . . . . . . . 4-17
Condition Register Bits . . . . . . . . . . . . . . 4-17
Source Settled Bit Personality Dierence . . . . . . . 4-17
ALC Unleveled and Frequency Error Bits . . . . . . . 4-17
Change in ESB Bit . . . . . . . . . . . . . . . . 4-18
Front Panel Entry Complete Bit . . . . . . . . . . . 4-18
Contents-8
5. Legal and Regulatory Information
SCPI Conformance . . . . . . . . . . . . . . . . . 5-3
Certication . . . . . . . . . . . . . . . . . . . . 5-7
Regulatory Information . . . . . . . . . . . . . . 5-7
Warranty . . . . . . . . . . . . . . . . . . . . . . 5-8
Limitation of Warranty . . . . . . . . . . . . . . 5-8
Exclusive Remedies . . . . . . . . . . . . . . . . 5-9
Assistance . . . . . . . . . . . . . . . . . . . . . 5-10
Index
Contents-9
Figures
1-1. HP-IB Connector and Cable . . . . . . . . . . . . . . . . 1-3
1-2. SCPI Command Types . . . . . . . . . . . . . . . . . . 1-22
1-3. A Simplied Command Tree . . . . . . . . . . . . . . . 1-23
1-4. Proper Use of the Colon and Semicolon . . . . . . . . . . 1-25
1-5. Simplied Program Message Syntax . . . . . . . . . . . . 1-31
1-6. SCPI Simplied Subsystem Command Syntax . . . . . . . . 1-32
1-7. Simplied Common Command Syntax . . . . . . . . . . . 1-33
1-8. Simplied Response Message Syntax . . . . . . . . . . . . 1-34
2k-1. Status Register System Hierarchy . . . . . . . . . . . . . 2k-3
2k-2. General Status Group Model . . . . . . . . . . . . . . . 2k-4
Tables
1-1. HP-IB Interface Cables Available . . . . . . . . . . . . . 1-4
1-2. SCPI Data Types . . . . . . . . . . . . . . . . . . . . 1-35
4-1. HP 8673 Command Mapping to SCPI Commands . . . . . . 4-4
4-2. HP 8673 Status and Extended Bytes . . . . . . . . . . . . 4-16
5-1. SCPI Conformance . . . . . . . . . . . . . . . . . . . . 5-4
5-2. Hewlett-Packard Sales and Service Oces . . . . . . . . . 5-11
Contents-10
1
Getting Started
Programming
Getting Started Programming
HP-IB, the Hewlett-Packard Interface Bus, is the instrument-to-instrument
communication system between the Synthesizer and up to 14 other
instruments. Any instrument having HP-IB capability can be interfaced to the
Synthesizer, including non-HP instruments that have \GP-IB," \IEEE-488,"
\ANSI MC1.1," or \IEC-625" capability (these are common generic terms
for HP-IB; all are electrically equivalent although IEC-625 uses a unique
connector). This portion of the manual specically describes interfacing the
synthesizer to a computer.
The rst part of this chapter provides general HP-IB information. Later,
the Standard Commands for Programmable Instruments language (SCPI) is
introduced, and example programs are given.
1-2
HP-IB General Information
Interconnecting Cables
The HP-IB connector allows the synthesizer to be connected to any other
instrument or device on the interface bus. All HP-IB instruments can be
connected with HP-IB cables and adapters. These cables are shown in
Figure 1-1. The adapters are principally extension devices for instruments
that have recessed or crowded HP-IB connectors.
Figure 1-1. HP-IB Connector and Cable
1-3
Getting Started Programming
HP-IB General Information
Table 1-1. HP-IB Interface Cables Available
HP-IB Cable Lengths
Part Numbers
HP 10833A 1m (3.3 ft)
HP 10833B 2m (6.6 ft)
HP 10833C 4m (13.2 ft)
HP 10833D 0.5m (1.6 ft)
As many as fourteen HP-IB instruments can be connected to the synthesizer
(fteen total instruments in the system). The cables can be interconnected
in a \star" pattern (one central instrument, with the HP-IB cables emanating
from that instrument like spokes on a wheel), or in a linear pattern
(like boxcars on a train), or any combination pattern. There are certain
restrictions:
Each instrument must have a unique HP-IB address, ranging from 0 to 30
(decimal). Refer to \Instrument Addresses" in this chapter for information
on setting the synthesizer's HP-IB address.
In a two-instrument system that uses just one HP-IB cable, the cable length
must not exceed 4 meters (13 ft).
When more than two instruments are connected on the bus, the cable
length to each instrument must not exceed 2 meters (6.5 ft) per unit.
The total cable length between all units must not exceed 20 meters (65 ft).
Hewlett-Packard manufactures HP-IB extender instruments (HP models
37201A, 37204A/B) that overcome the range limitations imposed by the
cabling rules. These extenders allow twin-pair cable operation up to 1 km
(3,280 ft), and telephone modem operation over any distance. HP sales and
service oces can provide additional information on the HP-IB extenders.
The codes next to the HP-IB connector, illustrated in Figure 1-1, describe
the HP-IB electrical capabilities of the synthesizer, using IEEE Std. 488-1978
mnemonics (HP-IB, GP-IB, IEEE-488, and IEC-625 are all electrically
equivalent). Brie
y, the mnemonics translate as follows:
SH1 Source Handshake, complete capability.
AH1 Acceptor Handshake, complete capability.
1-4
Getting Started Programming
HP-IB General Information
T5: Talker; capable of basic talker, serial poll, and unaddress if
MLA.
TE0 Talker, Extended address; no capability.
L3 Listener, capable of basic listener, and unaddress if MTA.
LE0 Listener, Extended address; no capability.
SR1 Service Request, complete capability.
RL1 Remote Local, complete capability.
PP0 Parallel Poll, no capability.
DC1 Device Clear, complete capability.
DT0 Device Trigger, complete capability.
C0, 1 Controller capability options; C0, no capabilities; C1,
system controller.
E2 Electrical specication indicating open collector outputs.
These codes are described completely in the IEEE Std. 488-1978 document,
published by the Institute of Electrical and Electronic Engineers, Inc., 345
East 47th Street, New York, New York 11017.
Instrument Addresses
Each instrument in an HP-IB network must have a unique address, an integer
ranging in value from 0 to 30. The default address for the synthesizer is 19,
but this can be changed using the 4SHIFT5 4LOCAL5 keys.
1-5
Getting Started Programming
HP-IB General Information
HP-IB Instrument Nomenclature
An HP-IB instrument is categorized as a \listener," \talker," or \controller,"
depending on its current function in the network.
Listener A listener is a device capable of receiving data or commands from other
instruments. Any number of instruments in the HP-IB network can be
listeners simultaneously.
Talker A talker is a device capable of transmitting data or commands to other
instruments. To avoid confusion, an HP-IB system allows only one device at a
time to be an active talker.
Controller A controller is an instrument, typically a computer, capable of managing the
various HP-IB activities. Only one device at a time can be an active controller.
Programming the Synthesizer
The synthesizer can be controlled entirely by a computer (although the
POWER or LINE switch must be operated manually). Several functions
are possible only by computer (remote) control. Computer programming
procedures for the synthesizer involve selecting an HP-IB command
statement, then adding the specic synthesizer (SCPI, HP 8673) programming
codes to that statement to achieve the desired operating conditions.
In the programming explanations that follow, specic examples are included
that are written in a generic dialect of the BASIC language. BASIC was
selected because the majority of HP-IB computers have BASIC language
capability. However, other programming languages can also be used.
1-6
Getting Started Programming
HP-IB General Information
HP-IB Command Statements
Command statements form the nucleus of HP-IB programming; they are
understood by all instruments in the network and, when combined with
the programming language codes, they provide all management and data
communication instructions for the system.
An explanation of the eight fundamental command statements follows.
However, some computers use a slightly dierent terminology, or support an
extended or enhanced version of these commands. Consider the following
explanations as a starting point, but for detailed information consult the
BASIC language reference manual, the I/O programming guide, and the HP-IB
manual for the particular computer used.
Syntax drawings accompany each statement: All items enclosed by a circle or
oval are computer specic terms that must be entered exactly as described;
items enclosed in a rectangular box are names of parameters used in the
statement; and the arrows indicate a path that generates a valid combination
of statement elements.
1-7
Getting Started Programming
HP-IB General Information
Abort
Abort abruptly terminates all listener/talker activity on the interface bus,
and prepares all instruments to receive a new command from the controller.
Typically, this is an initialization command used to place the bus in a known
starting condition. The syntax is:
where the interface select code is the computer's HP-IB I/O port, which is
typically port 7. Some BASIC examples:
10 ABORT 7
100 IF V>20 THEN ABORT 7
Related statements used ABORTIO (used by HP-80 series computers)
by some computers HALT
RESET
1-8
Getting Started Programming
HP-IB General Information
Remote
Remote causes an instrument to change from local control to remote control.
In remote control, the front panel keys are disabled (except for the 4LOCAL5
key and the POWER or LINE switch), and the REMOTE annunciator is lit.
The syntax is:
where the device selector is the address of the instrument appended to the
HP-IB port number. Typically, the HP-IB port number is 7, and the default
address for the synthesizer is 19, so the device selector is 719.
Some BASIC examples 10 REMOTE 7
which prepares all HP-IB instruments for remote operation (although
nothing appears to happen to the instruments until they are addressed to
talk), or
10 REMOTE 719
which aects the HP-IB instrument located at address 19, or
10 REMOTE 719, 721, 726, 715
which eects four instruments that have addresses 19, 21, 26, and 15.
1-9
Getting Started Programming
HP-IB General Information
Local Lockout
LOCAL LOCKOUT can be used in conjunction with REMOTE to disable the
front panel 4LOCAL5 key. With the 4LOCAL5 key disabled, only the controller (or
a hard reset by the POWER switch) can restore local control. The syntax is:
A BASIC example 10 REMOTE 719
20 LOCAL LOCKOUT 7
Local
LOCAL is the complement to REMOTE, causing an instrument to return to
local control with a fully enabled front panel. The syntax is:
Some BASIC examples 10 LOCAL 7
which eects all instruments in the network, or
10 LOCAL 719
for an addressed instrument (address 19).
1-10
Getting Started Programming
HP-IB General Information
Clear
CLEAR causes all HP-IB instruments, or addressed instruments, to assume a
\cleared" condition, with the denition of \cleared" being unique for each
device. For the synthesizer:
1. All pending output-parameter operations are halted.
2. The parser (the software that interprets the programming codes) is reset,
and now expects to receive the rst character of a programming code.
The syntax is:
Some BASIC examples 10 CLEAR 7
to clear all HP-IB instruments, or
10 CLEAR 719
to clear an addressed instrument.
Related statements used RESET
by some computers CONTROL
SEND
The preceding statements are primarily management commands that do not
incorporate programming codes. The following two statements do incorporate
programming codes, and are used for data communication.
1-11
Getting Started Programming
HP-IB General Information
Output
OUTPUT is used to send function commands and data commands from the
controller to the addressed instrument. The syntax is:
where USING is a secondary command that formats the output in a particular
way, such as a binary or ASCII representation of numbers. The USING
command is followed by \image items" that precisely dene the format of the
output; these image items can be a string of code characters, or a reference
to a statement line in the computer program. Image items are explained in
the programming codes where they are needed. Notice that this syntax is
virtually identical to the syntax for the ENTER statement that follows.
1-12
Getting Started Programming
HP-IB General Information
A BASIC example 100 OUTPUT 719; "programming codes"
Related statements used CONTROL
by some computers CONVERT
IMAGE
IOBUFFER
TRANSFER
1-13
Getting Started Programming
HP-IB General Information
Enter
ENTER is the complement of OUTPUT, and is used to transfer data from the
addressed instrument to the controller. The syntax is:
ENTER is always used in conjunction with OUTPUT, such as:
100 OUTPUT 719; " . . . programming codes . . . "
110 ENTER 719; " . . . response data . . . "
ENTER statements are commonly formatted, which requires the secondary
command USING and the appropriate image items. The most-used image
items involve end-of-line (end or identify) suppression, binary inputs, and
literal inputs.
Example
100 ENTER 719 USING "#, B"; A, B, C
suppresses the EOI sequence (#), and indicates that variables A, B, and C
are to be lled with binary (B) data. As another example,
100 ENTER 719 USING "#, 123A"; A$
suppresses EOI, and indicates that string variable A$ is to be lled with
123 bytes of literal data (123A).
1-14
Getting Started Programming
HP-IB General Information
NOTE
Be careful when using byte-counting image speciers. If the requested number of bytes does not
match the actual number available, data might be lost, or the program might enter an endless wait
state.
The suppression of the EOI sequence is frequently necessary to prevent a
premature termination of the data input. When not specied, the typical
EOI termination occurs when an ASCII LF (line feed) is received. However,
the LF bit pattern could coincidentally occur randomly in a long string of
binary data, where it might cause a false termination. Also, the bit patterns
for the ASCII CR (carriage return), comma, or semicolon might cause a false
termination. Suppression of the EOI causes the computer to accept all bit
patterns as data, not commands, and relies on the HP-IB EOI (end or identify)
line for correct end-of-data termination.
Related statements used CONVERT
by some computers IMAGE
IOBUFFER
ON TIMEOUT
SET TIMEOUT
TRANSFER
This completes the \HP-IB Command Statements" subsection. The following
material explains the SCPI programming codes, and shows how they are used
with the OUTPUT and ENTER HP-IB command statements.
1-15
Getting Started with SCPI
This section of Chapter 1 describes the use of the Standard Commands for
Programmable Instruments language (SCPI). This section explains how to use
SCPI commands in general. This section presents only the basics of SCPI.
If you want to explore the topic in greater depth, see the paragraph titled,
\Related Documents."
1-16
Denitions of Terms
You need a general understanding of the terms listed below before you
continue.
controller A controller is any computer used to communicate with a
SCPI instrument. A controller can be a personal computer,
a minicomputer, or a plug-in card in a card cage. Some
intelligent instruments can
also function as controllers.
instrument An instrument is any device that implements SCPI. Most
instruments are electronic measurement or stimulus devices,
but this is not a requirement. Similarly, most instruments
use an HP-IB interface for communication. The same
concepts apply regardless of the instrument function or the
type of interface used.
program A program message is a combination of one or more
message properly formatted SCPI commands. Program messages
always go from a controller to an instrument. Program
messages tell the instrument how to make measurements
and output signals.
response A response message is a collection of data in specic SCPI
message formats. Response messages always go from an instrument
to a controller or listening instrument. Response messages
tell the controller about the internal state of the instrument
and about measured values.
command A command is an instruction in SCPI. You combine
commands to form messages that control instruments. In
general, a command consists of mnemonics (keywords),
parameters, and punctuation.
query A query is a special type of command. Queries instruct the
instrument to make response data available to the controller.
Query mnemonics always end with a question mark.
1-17
Getting Started Programming
Denitions of Terms
Standard Notation
This section uses several forms of notation that have specic meaning.
Command Mnemonics Many commands have both a long and a short form, and you must use either
one or the other (SCPI does not accept a combination of the two). Consider
the FREQuency command,for example. The short form is FREQ and the long
form is FREQUENCY (this notation style is a shorthand to document both the
long and short form of commands). SCPI is not case sensitive, so fREquEnCy
is just as valid as FREQUENCY, but FREQ and FREQUENCY are the only valid
forms of the FREQuency command.
Angle Brackets Angle brackets indicate that the word or words enclosed represent something
other than themselves. For example, represents the ASCII
character with the decimal value 10. Similarly, <^END> means that EOI is
asserted on the HP-IB interface. Words in angle brackets have much more
rigidly dened meaning than words used in ordinary text. For example, this
section uses the word \message" to talk about messages generally. But the
bracketed words indicate a precisely dened element of
SCPI. If you need them, you can nd the exact denitions of words such as
in a syntax diagram.
How to Use Examples
It is important to understand that programming with SCPI actually requires
knowledge of two languages. You must know the programming language of
your controller (BASIC, C, Pascal) as well as the language of your instrument
(SCPI). The semantic requirements of your controller's language determine
how the SCPI commands and responses are handled in your application.
1-18
Getting Started Programming
Denitions of Terms
Command Examples Command examples look like this:
:FREQuency:CW?
This example tells you to put the string :FREQuency:CW? in the output
statement appropriate to your application programming language. If you
encounter problems, study the details of how the output statement handles
message terminators such as . If you are using simple OUTPUT
statements in HP BASIC, this is taken care of for you. In HP BASIC, you type:
OUTPUT 719;":FREQuency:CW?"
Command examples do not show message terminators because they are used
at the end of every program message. \Details of Commands and Responses,"
discusses message terminators in more detail.
Response Examples Response examples look like this:
3.000000000000E+009
These are the characters you would read from an instrument after
sending a query command. To actually pull them from the instrument into
the controller, use the input statement appropriate to your application
programming language. If you have problems, study the details of how the
input statement operates. In particular, investigate how the input statement
handles punctuation characters such as comma and semicolon, and how it
handles and EOI. To enter the previous response in HP BASIC,
you type:
ENTER 719;CW_frequency
Response examples do not show response message terminators because
they are always <^END>. These terminators are typically
automatically handled by the input statement. The paragraph titled \Details
of Commands and Responses," later in this chapter, discusses message
terminators in more detail.
1-19
Essentials for Beginners
This section discusses elementary concepts critical to rst-time users of SCPI.
Read and understand this section before continuing. This section includes the
following topics:
Program and Response These paragraphs introduce the basic types
Messages of messages sent between instruments and
controllers.
Subsystem Command Trees These paragraphs describe the tree structure
used in subsystem commands.
Reading Instrument Errors These paragraphs explain how to read
and print an instrument's internal error
messages.
Example Programs These paragraphs contain two simple
measurement programs that illustrate basic
SCPI programming principles.
1-20
Getting Started Programming
Essentials for Beginners
Program and Response Messages
To understand how your instrument and controller communicate using
SCPI, you must understand the concepts of program and response messages.
Program messages are the formatted data sent from the controller to the
instrument. Conversely, response messages are the formatted data sent from
the instrument to the controller. Program messages contain one or more
commands, and response messages contain one or more responses.
The controller may send commands at any time, but the instrument sends
responses only when specically instructed to do so. The special type of
command used to instruct the instrument to send a response message is the
query. All query mnemonics end with a question mark. Queries return either
measured values or internal instrument settings. Any internal setting that can
be programmed with SCPI can also be queried.
Forgiving Listening and SCPI uses the concept of forgiving listening and precise talking outlined in
Precise Talking IEEE 488.2.
Forgiving listening means that instruments are very
exible in accepting
various command and parameter formats. For example, the synthesizer
accepts either :POWer:STATe ON or :POWer:STATe 1 to turn RF output on.
Precise talking means that the response format for a particular query is
always the same. For example, if you query the power state when it is on
(using :POWer:STATe?), the response is always 1, regardless of whether you
previously sent :POWer:STATe 1 or :POWer:STATe ON.
Types of Commands Commands can be separated into two groups, common commands and
subsystem commands.
Common commands are generally not measurement related. They are
used to manage macros, status registers, synchronization, and data storage.
Common commands are easy to recognize because they all begin with an
asterisk, such as *IDN?, *OPC, and *RST. Common commands are dened by
IEEE 488.2.
Subsystem commands include all measurement functions and some general
purpose functions. Subsystem commands are distinguished by the colon used
between keywords, as in :FREQuency:CW?. Each command subsystem is a
1-21
Getting Started Programming
Essentials for Beginners
set of commands that roughly corresponds to a functional block inside the
instrument. For example, the POWer subsystem contains commands for power
generation, while the STATus subsystem contains commands for accessing
status registers.
Figure 1-2. SCPI Command Types
The remaining paragraphs in this subsection discuss subsystem commands in
more detail. Remember, some commands are implemented in one instrument
and not in another, depending on its measurement function.
1-22
Getting Started Programming
Essentials for Beginners
Subsystem Command Trees
The Command Tree Most programming tasks involve subsystem commands. SCPI uses a
Structure hierarchical structure for subsystem commands similar to the le systems on
most computers. In SCPI, this command structure is called a command tree.
Figure 1-3. A Simplied Command Tree
In the command tree shown in Figure 1-3, the command closest to the top
is the root command, or simply the root. Notice that you must follow a
particular path to reach lower level subcommands. For example, if you wish
to access the GG command, you must follow the path AA to BB to GG.
Paths Through the To access commands in dierent paths in the command tree, you must
Command Tree understand how an instrument interprets commands. A special part of the
instrument rmware, a parser, decodes each message sent to the instrument.
The parser breaks up the message into component commands using a set of
rules to determine the command tree path used. The parser keeps track of
the current path, the level in the command tree where it expects to nd the
next command you send. This is important because the same keyword may
appear in dierent paths. The particular path you use determines how the
keyword is interpreted. The following rules are used by the parser:
1-23
Getting Started Programming
Essentials for Beginners
Power On and Reset
After power is cycled or after *RST, the current path is set to the root.
Message Terminators
A message terminator, such as a character, sets the current
path to the root. Many programming languages have output statements
that send message terminators automatically. The paragraph titled, \Details
of Commands and Responses," later in this chapter, discusses message
terminators in more detail.
Colon
When it is between two command mnemonics, a colon moves the current
path down one level in the command tree. For example, the colon in
MEAS:VOLT species that VOLT is one level below MEAS. When the colon
is the rst character of a command, it species that the next command
mnemonic is a root level command. For example, the colon in :INIT
species that INIT is a root level command.
Semicolon
A semicolon separates two commands in the same message without
changing the current path.
Whitespace
Whitespace characters, such as and , are generally ignored.
There are two important exceptions. Whitespace inside a keyword, such
as :FREQ uency, is not allowed. You must use white space to separate
parameters from commands. For example, the between LEVel
and 6.2 in the command :POWer:LEVel 6.2 is mandatory. Whitespace
does not aect the current path.
Commas
If a command requires more than one parameter, you must separate
adjacent parameters using a comma. Commas do not aect the current
path.
Common Commands
Common commands, such as *RST, are not part of any subsystem. An
instrument interprets them in the same way, regardless of the current path
setting.
1-24