This programmer’s guide contains general
information, mainframe level commands,
logic analyzer commands, oscilloscope
module commands, and programming
examples for programming the
1660-series logic analyzers. This guide
focuses on how to program the
instrument over the GPIB and the
RS-232C interfaces.
Instruments covered by the
1660-Series Programmer’s Guide
The 1660-series logic analyzers are
available with or without oscilloscope
measurement capabilities. The
1660A-series logic analyzers contain only
a logic analyzer. The 1660AS-series logic
analyzers contain both a logic analyzer
and a digitizing oscilloscope.
What is in the 1660-Series
Programmer’s Guide?
The 1660-Series Programmer’s Guide
is organized in five parts.
2
3
4
5
6
7
8
9
10
11
Programming Over GPIB
Programming Over RS-232C
Programming and
Documentation Conventions
Message Communication
and System Functions
Status Reporting
Error Message
Common Commands
Mainframe Commands
SYSTem Subsystem
MMEMory Subsystem
Part 1 Part 1 consists of chapters 1
through 7 and contains general
information about programming basics,
GPIB and RS-232C interface
requirements, documentation
conventions, status reporting , and error
messages.
12
13
14
INTermodule Subsystem
MACHine Subsystem
WLISt Subsystem
iii
If you are already familiar with IEEE 488.2 programming and GPIB or
RS-232C, you may want to just scan these chapters. If you are new to
programmiung the system, you should read part 1.
Chapter 1 is divided into two sections. The first section, "Talking to the
Instrument," concentrates on program syntax, and the second section,
"Receiving Information from the Instrument," discusses how to send queries
and how to retrieve query results from the instrument.
Read either chapter 2, "Programming Over GPIB," or chapter 3,
"Programming Over RS-232C" for information concerning the physical
connection between the 1660-series logic analyzer and your controller.
Chapter 4, "Programming and Documentation Conventions," gives an
overview of all instructions and also explains the notation conventions used
in the syntax definitions and examples.
Chapter 5, "Message Communication and System Functions," provides an
overview of the operation of instruments that operate in compliance with the
IEEE 488.2 standard.
Chapter 6 explains status reporting and how it can be used to monitor the
flow of your programs and measurement process.
Chapter 7 contains error message descriptions.
Part 2 Part 2, chapters 8 through 12, explain each command in the
command set for the mainframe. These chapters are organized in
subsystems with each subsystem representing a front-panel menu.
The commands explained in this part give you access to common commands,
mainframe commands, system level commands, disk commands, and
intermodule measurement commands. This part is designed to provide a
concise description of each command.
Part 3 Part 3, chapters 13 through 25 explain each command in the
subsystem command set for the logic analyzer. Chapter 26 contains
information on the SYSTem:DATA and SYSTem:SETup commands for
the logic analyzer.
The commands explained in this part give you access to all the commands
used to operate the logic analyzer portion of the 1660-series system. This
part is designed to provide a concise description of each command.
Part 4 Part 4, chapters 27 through 35 explain each command in the
subsystem command set for the oscilloscope.
iv
15
SFORmat Subsystem
The commands explained in this part give
you access to all the commands used to
operate the oscilloscope portion of the
1660-series system. This part is designed
to provide a concise description of each
command.
Part 5 Part 5, chapter 36 contains
program examples of actual tasks that
show you how to get started in
programming the 1660-series logic
analyzers. The complexity of your
programs and the tasks they accomplish
are limited only by your imagination.
These examples are written in HP BASIC
6.2; however, the program concepts can
be used in any other popular
programming language that allows
communications over GPIB or RS-232
buses.
Response Header Options 1–16
Response Data Formats 1–17
String Variables 1–18
Numeric Base 1–19
Numeric Variables 1–19
Definite-Length Block Response Data 1–20
Multiple Queries 1–21
Instrument Status 1–22
2 Programming Over GPIB
Interface Capabilities 2–3
Command and Data Concepts 2–3
Addressing 2–3
Communicating Over the GPIB Bus (HP 9000 Series 200/300 Controller) 2–4
Local, Remote, and Local Lockout 2–5
Bus Commands 2–6
Contents–1
Contents
3 Programming Over RS-232C
Interface Operation 3–3
RS-232C Cables 3–3
Minimum Three-Wire Interface with Software Protocol 3–4
Extended Interface with Hardware Handshake 3–4
Cable Examples 3–6
Configuring the Logic Analzer Interface 3–8
Interface Capabilities 3–9
RS-232C Bus Addressing 3–10
Lockout Command 3–11
4 Programming and Documentation Conventions
Truncation Rule 4–3
Infinity Representation 4–4
Sequential and Overlapped Commands 4–4
Response Generation 4–4
Syntax Diagrams 4–4
Notation Conventions and Definitions 4–5
The Command Tree 4–5
Tree Traversal Rules 4–6
Command Set Organization 4–14
Subsystems 4–15
Program Examples 4–16
SYMBol 25–4
BASE 25–5
PATTern 25–6
RANGe 25–6
REMove 25–7
WIDTh 25–8
Contents–10
26 DATA and SETup Commands
Data Format 26–3
:SYSTem:DATA 26–4
Section Header Description 26–6
Section Data 26–6
Data Preamble Description 26–6
Acquisition Data Description 26–10
Time Tag Data Description 26–12
Glitch Data Description 26–14
SYSTem:SETup 26–15
RTC_INFO Section Description 26–17
Making a Timing analyzer measurement 36–3
Making a State analyzer measurement 36–5
Making a State Compare measurement 36–9
Transferring the logic analyzer configuration 36–14
Transferring the logic analyzer acquired data 36–17
Checking for measurement completion 36–21
Sending queries to the logic analyzer 36–22
Getting ASCII Data with PRINt? ALL Query 36–24
Reading the disk with the CATalog? ALL query 36–25
Reading the Disk with the CATalog? Query 36–26
Printing to the disk 36–27
Transferring waveform data in Byte format 36–28
Transferring waveform data in Word format 36–30
Using AUToscale and the MEASure:ALL? Query 36–32
Using Sub-routines in a measurement program 36–33
Contents–14
Part 1
General Information
1
Introduction to Programming
Introduction
This chapter introduces you to the basics of remote programming and
is organized in two sections. The first section, "Talking to the
Instrument," concentrates on initializing the bus, program syntax and
the elements of a syntax instuction. The second section, "Receiving
Information from the Instrument," discusses how queries are sent and
how to retrieve query results from the mainframe instruments.
The programming instructions explained in this book conform to
IEEE Std 488.2-1987, "IEEE Standard Codes, Formats, Protocols, and
Common Commands." These programming instructions provide a
means of remotely controlling the 1660-series logic analyzers. There
are three general categories of use. You can:
• Set up the instrument and start measurements
• Retrieve setup information and measurement results
• Send measurement data to the instrument
The instructions listed in this manual give you access to the
measurements and front panel features of the 1660-series logic
analyzers. The complexity of your programs and the tasks they
accomplish are limited only by your imagination. This programming
reference is designed to provide a concise description of each
instruction.
1–2
Talking to the Instrument
In general, computers acting as controllers communicate with the instrument
by sending and receiving messages over a remote interface, such as GPIB or
RS-232C. Instructions for programming the 1660-series logic analyzers will
normally appear as ASCII character strings embedded inside the output
statements of a "host" language available on your controller. The host
language’s input statements are used to read in responses from the
1660-series logic analyzers.
For example, HP 9000 Series 200/300 BASIC uses the OUTPUT statement for
sending commands and queries to the 1660-series logic analyzers. After a
query is sent, the response can be read in using the ENTER statement. All
programming examples in this manual are presented in HP BASIC.
ExampleThis Basic statement sends a command that causes the logic analyzer’s
machine 1 to be a state analyzer:
OUTPUT XXX;":MACHINE1:TYPE STATE" <terminator>
Each part of the above statement is explained in this section.
1–3
Introduction to Programming
Initialization
Initialization
To make sure the bus and all appropriate interfaces are in a known state,
begin every program with an initialization statement. BASIC provides a
CLEAR command that clears the interface buffer. If you are using GPIB,
CLEAR will also reset the parser in the logic analyzer. The parser is the
program resident in the logic analyzer that reads the instructions you send to
it from the controller.
After clearing the interface, you could preset the logic analyzer to a known
state by loading a predefined configuration file from the disk.
Refer to your controller manual and programming language reference manual
for information on initializing the interface.
ExampleThis BASIC statement would load the configuration file "DEFAULT " (if it
exists) into the logic analyzer.
OUTPUT XXX;":MMEMORY:LOAD:CONFIG ’DEFAULT ’"
Refer to chapter 10, "MMEMory Subsystem" for more information on the
LOAD command.
Example ProgramThis program demonstrates the basic command structure used to program
the 1660-series logic analyzers.
10 CLEAR XXX !Initialize instrument interface
20 OUTPUT XXX;":SYSTEM:HEADER ON"!Turn headers on
30 OUTPUT XXX;":SYSTEM:LONGFORM ON"!Turn longform on
40 OUTPUT XXX;":MMEM:LOAD:CONFIG ’TEST E’"!Load configuration file
50 OUTPUT XXX;":MENU FORMAT,1"!Select Format menu for machine 1
60 OUTPUT XXX;":RMODE SINGLE"!Select run mode
70 OUTPUT XXX;":START"!Run the measurement
1–4
Figure 1-1
Introduction to Programming
Instruction Syntax
Instruction Syntax
To program the logic analyzer remotely, you must have an understanding of
the command format and structure. The IEEE 488.2 standard governs syntax
rules pertaining to how individual elements, such as headers, separators,
parameters and terminators, may be grouped together to form complete
instructions. Syntax definitions are also given to show how query responses
will be formatted. Figure 1-1 shows the three main syntactical parts of a
typical program statement: Output Command, Device Address, and
Instruction. The instruction is further broken down into three parts:
Instruction header, White space, and Instruction parameters.
Program Message Syntax
Output Command
The output command depends on the language you choose to use.
Throughout this guide, HP 9000 Series 200/300 BASIC 6.2 is used in the
programming examples. If you use another language, you will need to find
the equivalents of Basic Commands, like OUTPUT, ENTER and CLEAR in
order to convert the examples. The instructions are always shown between
the double quotes.
1–5
Introduction to Programming
Device Address
Device Address
The location where the device address must be specified also depends on the
host language that you are using. In some languages, this could be specified
outside the output command. In BASIC, this is always specified after the
keyword OUTPUT. The examples in this manual use a generic address of
XXX. When writing programs, the number you use will depend on the cable
you use, in addition to the actual address. If you are using an GPIB, see
chapter 2, "Programming over GPIB." If you are using RS-232C, see
chapter 3, "Programming Over RS-232C."
Instructions
Instructions (both commands and queries) normally appear as a string
embedded in a statement of your host language, such as BASIC, Pascal or C.
The only time a parameter is not meant to be expressed as a string is when
the instruction’s syntax definition specifies block data. There are just a few
instructions which use block data.
Instructions are composed of two main parts: the header, which specifies the
command or query to be sent; and the parameters, which provide additional
data needed to clarify the meaning of the instruction. Many queries do not
use any parameters.
Instruction Header
The instruction header is one or more keywords separated by colons (:). The
command tree in figure 4-1 illustrates how all the keywords can be joined
together to form a complete header (see chapter 4, "Programming and
Documentation Conventions").
The example in figure 1-1 shows a command. Queries are indicated by
adding a question mark (?) to the end of the header. Many instructions can
be used as either commands or queries, depending on whether or not you
have included the question mark. The command and query forms of an
instruction usually have different parameters.
1–6
Loading...
+ 546 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.