Philips PF 8653/20, PF 8653/30 User manual

Page 1

PHILIPS

LOGIC ANALYZERS PM 3580/PM 3585 SCPI programming manual

FLUKE AND PHILIPS - THE GLOBAL ALLIANCE IN TEST & MEASUREMENT

Page 2

LOGIC ANALYZERS PM 3580 / PM 3585 SCPI Programming manual

PF 8653/x0

Dual logic analysis

PF8690/00 - System Software Software Version 2.0, English IE, Test & Measurement © Copyright Philips Electronics N.V. 1992 All rights reserved

Publication Number 4022 104 91031

Page 3

Guarantee Statement

his Philips guarantee is in addition to all rights which the buyer may have against his supplier under the sales agreement between the buyer and the supplier and according to local legislation.

Philips guarantees this product to be free from defects in material and workmanship under normal use and service for a period of one (1) year from the date of shipment. This guarantee does not cover possible required re-calibration and/or standard maintenance actions. This guarantee extends only to the original purchaser and does not apply to fuses, batteries, or to any product or part thereof that has been misused, altered or has been subjected to abnormal conditions of operation and handling.

Fluke/Philips-supplied software is guaranteed to be properly recorded on non-defective media. We will replace improperly recorded media without charge for 90 days after shipment upon receipt of the software. Our software is not guaranteed to be error free.

Philips' obligation under this guarantee is limited to have repaired or replace a product that is returned to an authorized Philips Service Centre within the guarantee period, provided that Philips determines that the product is defective and that the failure has not been caused by misuse, alteration or abnormal operation.

Guarantee service for products installed by Philips will be performed at the Buyer's facility at no charge within Philips' service travel area; outside this area guarantee service will be performed at the Buyer's facility only upon Philips' prior agreement and the Buyer shall pay Philips round trip travel expenses.

If a failure occurs, send the product, freight prepaid to the Service Centre designated by Philips with a description of the difficulty. At Philips' option, repairs will be made or the product will be replaced. Philips shall return the product, F.O.B. Repair Centre, transportation prepaid, unless the product is to be returned to another country, in which case the Buyer shall pay all shipping charges, duties and taxes. Philips assumes NO risk for damage in transit.

Page 4
Disclaimer

The foregoing guarantee is exclusive and is in lieu of all other guarantees, expressed or implied, including but not limited to any implied guarantee of merchantability, fitness, or adequacy for any particular purpose or use. We shall not be liable for any direct, indirect, special incidental, or consequential damages, whether based on contract, tort, or otherwise.

Some countries or states do not allow the foregoing limitations. Other rights may also vary.

© Copyright Philips Electronics N.V. 1992 Printed in the Netherlands

Page 5

Preface

Thank you for purchasing the PF 8653/x0 Remote Programming option for the PM 3580/PM 3585 Logic Analyzers.

Should you have any comments on how this product could be improved then please contact your local Fluke/Philips representative. Fluke/Philips addresses are listed in chapter 11 of the PM 3580/PM 3585 Logic Analyzers User Manual.

Page v

Page 6

Table of Contents

Guarantee Statement iii Disclaimer iv Preface v Introduction 1 Chapter Overview 1-2 References 1-3 The SCPI Standard 2 Introduction to SCPI 2-2 The History behind SCPI 2-2 Advantages of SCPI 2-3 The SCPI Consortium 2-3 Related Standards under SCPI 2-4 Introduction to IEEE-488.2 2-5 Message Exchange Control Protocol 2-5 Syntax Definitions 2-7 Common Program Messages 2-8 Status Reporting 2-9 SCPI Messages 2-10 Syntax and Style 2-11 Syntax of Program Messages 2-11 Command Tables 2-16 Command Parsing 2-17 Syntax of Response Messages 2-19 Parameters 2-20 The Instrument Model 3 General Instrument Model 3-2 Subsystems 3-3 Analyzer Instrument Model 3-6 Command Description 4 Introduction 4-4 Syntax Notation 4-5 Standard Syntactical Items 4-6 Other Syntactical Items 4-8 DISPlay Subsystem 4-9 :DISPlay:ENABle 4-11 :DISPlay:INPut 4-13 :DISPlay:MESSage 4-15 :DISPlay:QUEStion 4-17

Page 7

FORMat Subsystem 4-19 :FORMat:DATA 4-21 :FORMat:SREGister 4-23 :FORMat:STAMp 4-25 INPut Subsystem 4-27 :INPut:GROup:THReshold 4-29 MEMory Subsystem 4-33 :MEMory:CLEar:MEASurement 4-35 :MEMory:COPY:MEASurement 4-36 :MEMory:DUMP:MEASurement 4-37 :MEMory:EXCHange:MEASurement 4-39 :MEMory:TABLe:ACCess:FORWard 4-40 :MEMory:TABLe:CHANlist 4-42 :MEMory:TABLe:COMPare:SKEW 4-43 :MEMory:TABLe:POINts 4-46 :MEMory:TABLe:POSition:NUMBer 4-47 :MEMory:TABLe:POSition:POINt 4-49 :MEMory:TABLe:POSition:STAMp 4-51 :MEMory:TABLe:POSition:VALue 4-53 :MEMory:TABLe:SAMPle:DATA 4-56 :MEMory:TABLe:SAMPle:DURation 4-59 :MEMory:TABLe:SAMPle:STAMp 4-61 :MEMory:TABLe:SAMPle:STATus 4-63 :MEMory:TABLe:SAMPle:VALue 4-65 :MEMory:TABLe:SAMPle:SELect 4-67 MMEMory Subsystem 4-69 :MMEMory:CATalogue 4-71 :MMEMory:COPY 4-73 :MMEMory:DELete 4-74 :MMEMory:INITialize 4-75 :MMEMory:LOAD:CONFiguration 4-76 :MMEMory:LOAD:MEASurement 4-77 :MMEMory:LOAD:SYMBols 4-79 :MMEMory:LOAD:SYSTem 4-80 :MMEMory:MOVE 4-81 :MMEMory:STORe:MEASurement 4-82 :MMEMory:STORe:SCReen 4-84 :MMEMory:TRANsfer 4-85 SENSe Subsystem 4-87 :SENSe:CHANnel:ACTivity 4-89 STATus Subsystem 4-91

Page 8

*CLS 4-93 *ESE 4-94 *ESR 4-96 *SRE 4-97 *STB 4-98 :STATus:OPERation:CONDition 4-99 :STATus:OPERation:ENABle 4-100 :STATus:OPERation:EVENt 4-101 :STATus:OPERation:NTRansition 4-102 :STATus:OPERation:PTRansition 4-103 :STATus:PRESet 4-104 :STATus:QUEStionable:CONDition 4-105 :STATus:QUEStionable:ENABle 4-106 :STATus:QUEStionable:EVENt 4-107 :STATus:QUEStionable:NTRansition 4-108 :STATus:QUEStionable:PTRansition 4-109 :STATus:QUEue:NEXT 4-110 SYNChronization Subsystem 4-111 *OPC 4-113 *WAI 4-114 SYSTem Subsystem 4-115 *IDN 4-117 *OPT 6-118 *RST 4-119 :SYSTem:BOOT 4-120 :SYSTem:COMMunicate:GPIB:ADDRess 4-121 :SYSTem:DATE 4-123 :SYSTem:ERRor 4-125 :SYSTem:KEY 4-126 :SYSTem:KLOCk 4-128 :SYSTem:PRESet 4-129 :SYSTem:TIME 4-130 :SYSTem:VERSion 4-132 TEST Subsystem 4-133 *TST 4-135 TRIGger Subsystem 4-137 :ABORt 4-139 :INITiate 4-140 :STOP 4-141 Status Reporting System 5 Analyzer Status 5-2

Page viii

Page 9

Standard Status 5-6 ESR register 5-7 ESE register 5-8 STB register 5-8 SRE register 5-10 Operation/Questionable Status 5-11 Condition Registers 5-12 Condition Filters 5-13 Event Register 5-14 Event Enable Register 5-14 Error and Event Reporting 6 Structure 6-2 Errors 6-4 Command Errors 6-4 Execution Errors 6-9 Device dependent Errors 6-12 Query Errors 6-13 Panel Event Handling 7 Panel Code Queue 7-2 Panel Codes 7-3 Button Codes 7-4 Dialknob Codes 7-5 Panel Simulation 7-6 Command Synchronization 8 Wait to Complete 8-3 Operation Complete 8-4 Acquisition Control 9 Acquisition State 9-2 Operation Condition 9-4 Synchronization 9-5 Acquisition Data Access 10 Measurement Structures 10-2 Memory Tables 10-5 Table Selection 10-6 Table Points 10-7 Table Position 10-7 Table Entry 10-10 Remote/Local Operation 11 Remote Operation 11-2 Local Operation 11-3 Operator Communication 11-4

Page 10

RS-232 Interface 12 Analyzer Setup 12-2 Interface 12-3 Signals 12-3 Cabling 12-4 Data Format 12-5 Handshaking 12-6 Data Encoding 12-6 Limitations 12-7

Page 11

Chapter 1 Introduction

Chapter Overview 1-2 References 1-3

Page 12

Introduction

PM 3580/PM 3585 SCPI Programming Manual

he PF8653/20 and PF8653/30 remote programming options allow you to program and control a PM 3580/PM 3585 Logic Analyzer via respectively an IEEE-488.2 and RS-232 interface. These options require the PF8690/xx Version 2.0 system software being installed.

Chapter Overview

This remote control facility is based upon SCPI (Standard Commands for Programmable Instruments) which owes much of its structure and command syntax to the IEEE-488.2 standard. A short overview of these standards and the relation between them is given in Chapter 2: The SCPI Standard.

In order to facilitate remote programming and to achieve compatibility between the various remote programmable Test & Measurement instruments, SCPI defines a generalized instrument model. This model, as well as the model of the Logic Analyzer is described in Chapter 3: The Instrument Model.

Chapter 4, Command Descriptions, describes the syntax and semantics of all commands and queries supported and implemented in the software of the analyzer. This includes the IEEE-488.2 and SCPI mandatory commands.

SCPI defines an extensive status reporting model in order to show at any time the current state of the instrument and to report all kinds of events that caused a change in its state. The functions provided by this model for the Logic Analyzer are described in Chapter 5: The Status Reporting System.

Chapter 6, Error and Event Reporting, describes the way errors are reported to the control program. It contains a list of all possible errors that may occur as a result of the receipt of a command or query.

Chapter 7, Panel Events, describes the way the control program may be kept informed about the analyzer's front panel events; i.e. the the keying and dial operations at the front panel. In addition a description is given how the controller can simulate front panel input.

Page 13

Introduction

The facilities provided to synchronize the controller program with the execution of commands and queries on the analyzer is described in Chapter 8: Command Synchronization.

Chapter 9, Acquisition Control, describes how the control program can control the acquisition with commands provided by the Trigger Subsystem and how the controller can be kept informed about the current acquisition state and state transitions via the Status Reporting System.

The way acquisition data is organized and recorded in memory, as well as the facilities provided to access the data is described in Chapter 10: Acquisition Data Access.

Chapter 11, Remote/Local Operation, describes certain aspects of simultaneous access to the analyzer and how the analyzer can be setup for either remote or local operation. In addition a description is given how the controller can communicate with the local operator.

Those aspects of remote control, which only apply to RS-232 are described in Chapter 12, RS-232 Interface. This includes setup of the analyzer for operation via RS-232, the RS-232 cabling and transmission characteristics and some limitations in the usage of this remote programming option compared with the IEEE interface.

References

The following documents provide additional information regarding remote operation via IEEE and RS-232 interfaces:

  • PM 3580/PM 3585 Getting Started Guide
  • PM 3580/PM 3585 User Manual
  • PM 3580/PM 3585 Reference Guide
  • ANSI/IEEE Standard 488.1-1987, Digital Interface for Programmable Instrumentation.
Page 14

Introduction

PM 3580/PM 3585 SCPI Programming Manual

. 6
Published by The Institute of Electrical and Electronics Engineers
ISBN 471-62222-2 6
  • ANSI/IEEE Standard 488.2-1987, Codes, Formats, Protocols, and
    Common Commands.
Published by The Institute of Electrical and Electronics Engineers Ş
ISBN 471-61871-3
  • EIA Standard, Interface Between Data Terminal Equipment and
    Data Communication Equipment Employing Serial Binary Data In-
    terchange (RS-232).
Published by Electronic Industries Association
  • SCPI 1992 Volume 1: Syntax and Style
Published by SCPI Consortium 6
SCPI 1992 Volume 2: Command Reference
Published by SCPI Consortium 1
  • General Purpose Interface Bus (GPIB) IEC 625-1 IEEE-488.1
Published by Philips Electronics N.V., T&M.
Publication number: 4822 872 80148 9
  • SCPI - Standard Commands For Programmable Instruments
Published by Philips Electronics N.V., T&M. 6
Publication number: 4822 872 80149
  • PM 2201 Installation of the GPIB Interface
6
Published by Philips Electronics N.V., T&M 1.
Publication number: 4822 872 80124 4
  • PM 2201 - PM 2202 GPIB IO Software Drivers
F
Published by Philips Electronics N.V., T&M
Publication number: 4822 872 80126
  • PM 2201 - PM 2202 IEEE-488.2 Software Drivers
6
1-1-A 1
Page 15

Published by Philips Electronics N.V., T&M Publication number: 4822 872 80127

PM 2201 - PM 2202 Getting Started with Software GPIB Drivers Published by Philips Electronics N.V., T&M Publication number: 4822 872 80123

Page 16

Chapter 2 The SCPI Standard

Introduction to SCPI 2-2 The History behind SCPI 2-2 Advantages of SCPI 2-3 The SCPI Consortium 2-3 Related Standards under SCPI 2-4 Introduction to IEEE-488.2 2-5 Message Exchange Control Protocol 2-5 Syntax Definitions 2-7 Common Program Messages 2-8 Status Reporting 2-9 SCPI Messages 2-10 Syntax and Style 2-11 Syntax of Program Messages 2-11 Command Tables 2-16 Command Parsing 2-17 Syntax of Response Messages 2-19 Parameters 2-20

Page 17

Introduction to SCPI

S CPI (Standard Commands for Programmable Instruments) is a standardized set of commands to be used for remote control of programmable test and measurement instruments. It defines the syntax and semantics that the controller must use to communicate with an instrument, and is implemented in the instrument soft or firmware.

This chapter gives an overview of SCPI, as implemented in modern test and measurement instruments from most manufacturers, amongst others Philips/ Fluke instruments.

SCPI is based upon the IEEE-488.2 standard, to which it owes much of its structure and syntax. Nevertheless it has been designed as an instrument control command set that can be used with any of the standard interfaces, for example IEC 625-1/IEEE-488.1, VXI and RS-232.

The History behind SCPI

Since the introduction of the IEC 625/IEEE-488, "Digital Interface Standard for Programmable Instrumentation", many test and measurement instruments have been supplied with this interface, often referred to as the GPIB interface. The GPIB specification sets a standard for connecting instruments and controllers and for the data exchange protocol. However, it does not specify the meaning of the information sent. Instrument manufacturers were free to invent commands as they developed new instruments.

Notes: • ANSI IEEE is the standard in the United States of America.

• IEC is the international standard, often referred to in Europe. Both standards are the same.

With the introduction of the IEEE-488.2-1987 "Codes, Formats, Protocols and Common Commands for use with the ANSI/IEEE Std 488.1-1987" standard, a small set of 'common program messages' were defined. These commands were intended only for general housekeeping purposes. IEEE-488.2 also describes the syntax for commands to instruments and responses from instruments. However, it does not specify the command names and command functionality.

Page 18

Advantages of SCPI

SCPI defines a standard set of instrument programming command and response messages for each instrument function.

SCPI simplifies maintenance and management of the programs. Nowadays changes and additions in a good working program are difficult to make. This is because of the great diversity of program messages and instruments. Programs are often difficult to understand for anyone other than the original programmer. Because of his knowledge of the standard, a programmer with SCPI experience will quickly understand the meaning and functions of an SCPI program. Changes, extensions and additions in an existing application program are much easier to achieve. SCPI is a step forwards towards portability of instrument programming software. As a consequence it facilitates the exchange of instruments with little or no changes in the application program, provided of course that the exchanged instruments have the same functionality.

The SCPI Consortium

The industry standard "SCPI" is published by an international consortium, which consists of all major manufacturers of test and measurement instruments in the world. Philips and Fluke are both a sponsor and founding member of the SCPI consortium.

Page 19

Page 20

Introduction to IEEE-488.2

The IEEE-488.2 standard does not replace the IEEE-488.1 standard. It is additional and complementary to the IEEE-488.1 standard. Instruments that are compatible with IEEE-488.2 must also be compatible with IEEE-488.1, however IEEE- 488.1 compatible instruments may or may not conform to the IEEE-488.2 standard. The IEC 625-2 and IEEE-488.2 standards deal with several aspects of standardization of higher interface layers within instrumentation systems. The scope of these international standards is restricted to data communication between a device and the controller over a GPIB interface.

Message Exchange Control Protocol

Another important part of the IEEE-488.2 standard is the Message Exchange Control protocol. This protocol precisely specifies the interactions between the several functional elements that exist between the GPIB functions and the device specific functions. In fact it specifies how messages are to be exchanged between controller and device. For example, it specifies how a device shall handle program and response messages that are received from and sent to a controller. IEEE-488.2 introduces the idea of commands and queries; queries are program messages that require the device to send a response. When the controller does not read the response to a previously sent query before sending a next command, the device will generate a 'Query' error. On the other hand, commands will not cause the device to generate a response. When the controller still tries to read a response, the device will also generate a 'Query' error.

The Message Exchange Control protocol also deals with the order of execution of program messages. It defines how to respond to several categories of errors, such as 'Command' Errors, 'Query' errors, 'Execution' Errors and 'Device Specific' errors. Basically, the protocol puts the demand upon the device to report any violation of the IEEE-488.2 rules to the controller, even when it is the controller that infringes these

Page 21

rules. Concerning the message exchange between controller and device, violation of the following rules will result in the generation of a query error:

  • The controller attempts to read a response message, before having properly terminated the previous program message.
  • The controller attempts to send a new program message, before having read the entire response to a previously sent query.
  • The controller attempts to read a response message, before having previously sent a query message.
  • A deadlock condition occurs, i.e. infinitely waiting for each other.
  • The controller sends a query that generates an indefinite response, which is not the last query program message unit in a program message.

IEEE-488.2 and SCPI compatibility applies to the functions implemented inside an instrument that control the instrument operation. The following figure gives a simplified logical model of the message flow inside the software of an instrument.

Message Exchange

Page 2-6

Page 22

When the controller sends a message to an SCPI instrument, roughly the following happens:

  • The GPIB controller addresses the instrument as listener and sends a message. The receiving GPIB interface function places the message in the Input Buffer.
  • The Parser fetches the message from the Input Buffer, parses (decodes) the message, and checks for the correct syntax. Incorrect syntax will cause command errors to be reported via the status system to the controller and in the Error/Event queue. Moreover, the parser will detect whether a response is required. This is the case when the input message is a query.
  • The Parser will transfer the executable messages to the Execution Control block in token form (internal codes). The Execution Control block will gather the information required for the device action and will initiate the requested task at the appropriate time. Execution errors are reported via the status system and the Error/Event queue.
  • The Instrument Functions block will perform the requested actions.
  • If a query was received, the Instrument Functions block will transfer the response data (internal code) to the Response Formatter.
  • The Response Formatter converts the internal codes to response messages according to the IEEE-488.2 syntax format, and places them in the Output Queue.
  • When the GPIB interface is addressed as talker, it takes the formatted response message from the Output Queue and sends it over the GPIB to the controller.
Syntax Definitions

Another area that is covered by IEEE-488.2 is the specification of the syntax of program and response messages. Although the basic concept is not changed in respect to previous standardized syntaxes for instrumentation systems, the terminology and coding rules are somewhat changed. Based on gained experiences ideas have been adapted. For instance, compound headers have been introduced,

Page 23

facilitating the coding of complex message structures. Also the definition of new types of messages, such as common program messages, considerably accommodate the demand of modern instrumentation systems. A broad range of data types can be used for parameter notation, supporting a variety of applications.

The user friendliness of the syntax is shown by the flexibility of program data. Within this data, which is sent by the controller (user), the syntax rules are less restrictive than for response data (which is sent by the device to the controller). For instance, program messages may be sent in any mixture of upper and lower case alpha characters. Decimal data may be sent to the device in any notation form (with or without decimal point, exponent, etc.), the data may be preceded by leading spaces and followed by a suffix for additional unit specification. A similar approach applies to the termination of messages; several terminators are allowed that unambiguously determine the end of a message.

Common Program Messages

Until now, no standards existed for frequently used functionalities that are commonly provided with the majority of instruments. IEEE-488.2 has made a step forward in this field by defining a range of common program messages that support these commonly used functionalities. This includes a number of program messages that have been defined to support IEEE-488.2 defined functions, e.g. the status reporting model. A minimum set of the common program messages is identified for mandatory implementation in all instruments that claim IEEE-488.2 compatibility.

With the common program messages it is possible to identify the device (manufacturer, model and type number, etc.) and to determine the available options. It is also possible to let the device perform a calibration cycle or to perform an internal self test. Other features are the common query for the current instrument settings or the determination of the completion of an operation. Program messages have been standardized to reset the device functions and to trigger device actions.

Page 2-8

Page 24

Other functions that are supported by common program messages are macros. A macro may contain complex message structures which are executed upon receipt of a simple command (macro label). Also the registers in which the current instrument settings can be saved for recall later on, can be controlled by common program messages.

Status Reporting

A lot of attention is paid to improve the status reporting structure. The GPIB standard only requires the device to send a Status Byte as the response to a serial poll. This limited requirement caused a lot of different implementations. For instance, sometimes conditions were reflected whereas other instruments reported events in the Status Byte. This caused the resetting of the Status Byte bits to occur at different moments.

The IEEE-488.2 standard issues additional requirements on the Status Byte; an overlaying status reporting structure is defined, which allows only events to be summarized in the Status Byte. Within this structure, a number of commonly reported events are standardized (e.g. several error events, power-on event, etc.). The structure facilitates the reporting of device specific events as well. This status reporting structure is supported by a number of common program messages, such as:

  • the clearing of the status reporting structure
  • for programming Enable Registers which select the events that are to be summarized in the Status Byte
  • for programming the Service Request Enable Register, which selects the Status Byte bits for generation of a Service Request
  • for reading the Standard Event Registers, etc..
Page 25

Page 26

The question mark distinguishes queries from commands. A command does not cause the device to generate a response. Notice that, although there is a formal distinction between commands and program messages, a program message is often referred to as a command.

Syntax and Style

Although the fundamental message concept for program and response messages is the same, there are a number of syntactical and styling differences. These differences mainly deal with the more permissive coding of a program message and the more precise format of a response. Both the IEEE-488.2 and SCPI standard specify requirements regarding this issue.

Syntax of Program Messages

A command or query is called a program message unit. Such a program message unit consists of a header, or a header separated by a space from one or more parameters. Refer to the following syntax flow diagram:

Syntax of a Program Message Unit

The phs (program header separator) between the header and the first parameter must be at least one 'white space' character. A white space is a character in the decimal range 00 up to and including 32 (space), except LF (code 10). The header consists of one or more mnemonics (key words) describing the command. The mnemonics in a command are separated by a colon (:). The parameters in a message unit are also referred to as 'Data Elements'. They are mutually separated by a comma (,), which is referred to as 'Data Separator'. Furthermore the following rules are valid:

Page 27

  • Any one of the 'white space' characters (dec. 0 .. 9, 11 .. 32) may be placed in between the syntactical elements of a message, e.g.:
    • precede a header
    • precede the message terminator
    • be placed in between the header and a parameter
    • be placed around a message separator
  • A parameter which is specified as Decimal Numeric Data, may use different numeric representation formats. For example with or without decimal point and exponential notation.
  • If a parameter has a greater precision than the device can internally handle, the device must round the value (not truncate it) before it is interpreted.

One or more program message units may be sent within a single program message. Program message units are separated by a semicolon (;). A message of one or more units is terminated by a program message terminator (pmt) as shown in the next diagram:

Syntax of a Terminated Program Message

The pmt (program message terminator) must be one of the following codes:

  • NL^END This is the <new line> code sent concurrently with the END message on the GPIB.
  • NL This is the <new line> code.
  • <dab>^END This is the END message sent concurrently with the last data byte <dab>.

Notes: - NL is the same as the ASCII LF (<line feed> = 10 decimal).

  • The END message is sent by asserting the EOI-line of the GPIB.
  • The ^ character stands for 'concurrent with'.
Page 28

The SCPI Standard

Most controller programming languages send these terminators automatically, but allow changing it. So make sure that the terminator is one of those listed above.

Example: A terminated program message, consisting of 2 separate program message units and a terminator. The program message units in this example consist of a header, a header separator and a parameter:

Terminated Program Message

Basically there are two types of program headers:

Compound headers.

SCPI commands have a compound header consisting of one or more key words (mnemonics), mutually separated by the colon character (:). Such a colon may also precede the header.

Common headers.

The program messages that are standardized by IEEE-488.2 are called common commands. Their headers always start with the asterisk (*) character, e.g. *RST.

Each keyword in a compound command header represents a node in the command tree. The left most key word (SYSTem in the previous example) is the root node, representing the highest hierarchical level in the command tree. Subsequent key words represent sub nodes under the root node.

Page 29

-

Mnomoniae in SCPI program maccages may be cont in either long or 1
Long and Short
Form
short form.
The long and short form of the mnemonics obey mainly the following rules:
  • The long form consists of the full word but has a maximum of 12 characters.
Example: INITIATE
  • The short form consists of the first four characters of the long form.
Example: INIT
Exception: When the fourth character is a vowel and the four characters don't form the long form, then the short form is the first three characters only.
Example: long form SWEEP, short form SWE But when the long form is FREE, then the short form is also FREE, because the short form is also the full word.
Sometimes a mnemonic is created from concatenated words or a
phrase. In such a case the long form is the first character of each
word, followed by the full length of the last word. The short form is
created according to the same rules as mentioned before. Consider
as an example: The long form mnemonic for Peak-To- Peak is PT-
Peak. Its short form is PTP.
Either long or short form of a keyword may be used in a command.
Any other form will cause a 'command' error.
Example: Either MAXIMUM (long form) or MAX (short form) may be used, but MAXI causes a 'command' error.
In order to clarify the difference between short and long form, the
short form in a syntax specification is shown in upper case. The re-
maining part of the long form is shown in lower case characters.
Notice, however, that this does not specify the use of upper and lower
case characters in the message that is actually sent. Bear in mind
Page 30

The SCPI Standard

that upper and lower case, as used in syntax specifications, is only a notation habit to facilitate distinction between long and short form.

Example: In the syntax specification DISPlay, the uppercase characters DISP specify the short form, whereas the full word DISPLAY specifies the long form.

In program messages, either the long or short form may be used in any mix of upper or lower case characters. There is no semantic difference between upper and lower case in program messages. This instrument behavior is called forgiving or flexible listening. An application program may cause the following literal command to be sent over the bus:

dlsP:EnaB 1 short form used in a mix of upper and lower case. Display:Enab 1 long and short form used in a mix of upper and lower case.

Numeric Suffixes

Forgiving

Listening

Instruments may consist of multiple identical components. For example, an instrument can have two input blocks. Selection of a particular component is done by adding numeric suffixes. A numeric suffix is a digit appended after the node that specifies the duplicated functionality. In the case of the instrument with the two input blocks, INPut1 and INPut2 provide the selection mechanism. The following rules are valid:

  • Instruments that implement multiple capabilities, implement numeric suffix 1 as the default. If no suffix is appended to the node, suffix 1 is considered to be received.
  • Instruments that do not implement multiple capabilities, may or may not accept a numeric suffix 1.

For example, the Philips PM 3585/90 Logic Analyzer has 12 groups of 8 channels. For each group the threshold value can be set. In order to set the threshold value of group 5 to 2.7 Volt, the following command can be sent:

:INPut:GROup5:THReshold 2.7

Page 31
Command Tables

Command trees and command tables are commonly used to document an SCPI instrument command set. In this manual command tables are used. The following example shows a part of the command table of the STATUS subsystem:

HEADER PARAMETERS RESPONSE
:STATus:OPERation:CONDition ?
ENABle [:EVENt]?
ENABle?
:PRESet :QUEUe[:NEXT] ,

The first column describes the supported program message headers, the second shows the mandatory and optional parameters while the third column illustrates the response messages for queries.

The command table shows the paths to be used for the syntax of a particular command within a subsystem. The mnemonic at the left top (root) of the command table (i.e. STATus) is the name of the subsystem. The syntax of a command header starts with this root node and continues until a leaf node.

For example, the command :STATus:OPERation:ENABle has STA-Tus as root node and ENABle as leaf node. Leaf nodes are the last mnemonics in a command header. Each colon (:) in the command header moves the current path down one level from the root node in the command table.

Mnemonics enclosed between square brackets (e.g. [:EVENt]) indicate a default program message part, which can optionally be specified. This means that a program message may or may not contain the default mnemonic, without changing the meaning of the

Page 32

message. For example, :STATus:QUEue:NEXT? is the same as :STATus:QUEue?

The following notes apply to commands:

  • In general all commands have a query form. The response to a query is normally the parameter of its corresponding command.
  • Commands that do not change a setting or a state of the instrument, have no query form. For example, commands that start an action (e.g. :INITiate to start the acquisition) have no corresponding query.
  • Queries exist which do not have a command form. For example, the contents of a condition register (showing some aspects of the current state of the instrument) is only determined by the instrument itself and cannot therefore be programmed, but only queried.

Command Parsing

Although most SCPI commands and queries have a compound header (i.e. the header consists of more than one mnemonic), it is not always needed to repeat the full header path with every command. The full header consists of 2 parts, a leading header upto the leaf node and the leaf node itself.

Example:

Under certain conditions, the leading header may be omitted within a terminated program message. When a message is being interpreted, the instrument assumes that the command header starts with a root node after:

• A Program Message Terminator.

Page 33

• A leading colon.

In all other cases, the first node (mnemonic) is assumed to be a node under the (leading) header path which is recived with the preceding command.

The following rules apply when a program message is sent to an instrument:

The first message unit in a (terminated) program message must specify the complete header; i.e. from the root up to the leaf node. Because the instrument assumes in this case, that the command starts with a root node, a leading colon may or may not be sent.

Example: :STATus:OPERation:CONDition?

• If a subsequent command does not start with a colon, the node is considered to be a leaf node under the header path of the preceding command (within the same program message).

Example: :STATus:OPERation:CONDition?; ENABle?;

• If a subsequent command has a leading colon, the first node of the command is considered to be under the root.

Example: :STATus:OPERation:CONDition?;:STATus:PRESet;

Common commands (i.e. commands preceded by *) do not effect the header path.

Example: :STATus:OPERation:CONDition?;*ESR 30;ENABle?;

Page 2-18

Page 34

Syntax of Response Messages

The response of an SCPI instrument to a query is a response message unit, consisting of one or more parameters (data elements). Successive parameters are separated by a comma (,). There is no header returned, as the following syntax diagram shows:

Syntax of a Response Message Unit

If there are multiple queries in a program message, the multiple response message units are grouped together in the corresponding response message. Response message units are separated by a semicolon (;) and are terminated by a response message terminator (rmt) according to the following syntax:

Syntax of a terminated Response Message

The response message terminator (rmt) is NL^END, where:

NL^END is the ASCII <new line> code (equal to <line feed> code = 10 dec.) sent concurrently with the END message. The END message is sent by asserting the EOI-line of the GPIB.

An SCPI instrument will always send its response data in short form and in capitals. SCPI instruments do not send headers in their response messages, but parameters only. However, there are some exceptions, e.g. *LRN?. This query requires that the response can be sent back to the instrument. In these cases the header separator is a single space character (dec. 32).

Page 35
The SCPI Standard PM 3580/PM 3585 SCPI Programming Manual
Example of an instrument response:
1) An instru
:FORMa
ument is programmed with the following command:
at:DATA OCTal
2) Next the :FORMa e following query is sent to the instrument:
at:DATA?
  1. The instance
  2. Capitals
  3. OCT
rument will respond (precise talking) in short form and in with:
Parameters
SCPI define
fixes, boole
are used in
es parameters of several categories: numeric values, suf-
eans, expressions, decimal data, etc. These parameters
commands, queries and response messages.
Numeric value
meric value
point notation
10) notation
ous notation
format. Thu
tion forms r
lues (numerals) are used to represent decimal data. Nu-
es may be presented in implicit (NR1) or explicit decimal
on form (NR2) and may also contain exponential (base
in (NR3). If a parameter may be given in each of the previ-
on forms, it has the NRf (NR = NumeRic, f = flexible)
as NRf means that either one of the following representa-
may be used:
: Integer numeric (+ or - sign allowed).
Example: -179
: Real numeric with decimal point (+ or - sign allowed).
Example: -179.56
: Floating point numeric with decimal point, exponent (E) and mantissa (+ or - sign allowed).
Example: -1.7956E+02
Page 36

The SCPI Standard

Furthermore, several keywords are regarded as special forms of numeric data, such as: MINimum, MAXimum, etc. The keywords, which are allowed within a particular command or query, are always explicitly specified.

MINimum : This keyword represents the minimum value for a parameter.

MAXimum : This keyword represents the maximum value for a parameter.

Example: SYSTem:TIME? --> MAXimum,MINimum,MAXimum <-- 23,0,59

Non-decimal Data

Non-decimal data allows the specification of numeric data in bases other than 10. These specifications start with a # character followed by the base character (B for Binary, Q for Octal, H for Hexadecimal) followed by one or more digits in the appropriate base.

Examples : #B10 = Binary 10 = Decimal 2 #Q10 = Octal 10 = Decimal 8 #H10 = Hexadecimal 10 = Decimal 16

Booleans

A Boolean parameter is used to specify a single binary condition that is either true or false. The allowed values of a boolean parameter are:

ON or 1 : means condition true

OFF or 0 : means condition false

For example, the command DISPlay:ENABle 1 switches the display on.

Booleans in a response to a query are always represented as 0 or 1; i.e. in this case the keywords ON and OFF are not used.

Page 2-21

Page 37

The SCPI Standard

PM 3580/PM 3585 SCPI Programming Manual

Block Data Block data is used to transfer any 8-bit coded data. The data starts with a preamble that specifies the format and length of the block data element. The following block formats are defined:
  • Indefinite length block.
6
This block begins with the header #0, followed by any number of data bytes.
This block must be terminated by a program or response message terminator in order to indicate the end of the block.
  • Definite length block.
This block begins with #, followed by one ASCII character specify-
ing the number of digits in the length field, followed by the length
field itself indicating the number of data bytes, followed by the data
bytes itself.
Example: #212
Character Data Character data is used to specify keywords. The same rules are valid as for the mnemonics being used in command headers.
Examples: POSitive, NEGative, EITHer, etc.
String Data String data is used to specify a sequence of ASCII characters. A string data element is enclosed between single (') or double (") quotes. Response data strings are always enclosed between double quotes.
Double quotes should be used if a single quote is to be specified as a string character.
string character.
Example: "This is a string"
Page 38

The SCPI Standard

Expression Data

Expression program data elements are enclosed in parenthesis (). Two types of expression data are defined:

Numeric expressions

Example: (215MOD16)

Channel lists Example: (@1,3,4:20,22:29,33)

Suffixes

SCPI defines several suffixes which are used to express a unit or multiplier being associated with decimal numeric data in commands and queries. For example, mV for milli Volt. Response messages do not have a suffix. The returned value is to be associated with standard units, such as V, A, Hz, etc.

Page 39

Chapter 3 The Instrument Model

General Instrument Model 3-2 Subsystems 3-3 Analyzer Instrument Model 3-6

Page 40

• Switch instruments for signal routing. For example, a multiplexer.

Page 41

SCPI further partitions the "signal acquisition" function of sense instruments into the functional blocks INPUT, SENSE and CALCULATE, as shown in the following diagram:

A similar partitioning is defined for the "signal generation" function of source instruments into OUTPUT, SOURCE and CALCULATE subsystems:

Signal Generation

These diagrams show the flow of measurement and signal data through the instrument. They enable the functions of an instrument to be classified into different groups. The hierarchical command structure of SCPI is based upon this partitioning.

Subsystems

To be able to program the functions of an instrument, it is necessary to understand the instrument model.

The SCPI commands and queries are divided into groups, called subsystems. The control of the functions present in a function block, is done via the commands in the related subsystem. The commands to control a particular subsystem begin with the name of that subsystem. For instance, stored acquisition data is associated with the MEMORY subsystem.

Commands to access this data have :MEMory as leading (root) node in the command header.

Page 42

The Instrument Model

PM 3580/PM 3585 SCPI Programming Manual

Subsystems of cessing, are: an instrument, which are directly related to signal pro-
CALCULATE: This subsystem performs the post-processing func-
tions that are provided on the acquired data. It is
logically placed between the SENSE subsystem and
data output functions, such as the DISPLAY and
FORMAT subsystem.
DISPLAY: This subsystem contains the functions associated
with the presentation of data. Presentation can be in
any form, such as textual or graphical. The data be-
ing presented can be measurement data, user
interactions, status data, etc.
FORMAT: This subsystem deals with conversion from one data format into an other. This function is especially used for transferring data over a remote interface like the GPIB or RS-232.
INPUT: This subsystem controls the characteristics of a sen-
sor input, such as impedance. These are typical
signal conditioners, before the signal is processed by
the SENSE subsystem.
OUTPUT: This subsystem controls the characteristics of a source output port, such as attenuation.
This subsystem is basically a switch function that
routes signals to and from the instrument. For
SENSE instruments, the signal is routed from the in-
strument's input ports to the INPUT block. For
SOURCE instruments the signal is routed to the out-
put ports.

Page 3-4

Page 43

The Instrument Model

SENSE: This subsystem contain the functions which perform the real data acquisition. Its purpose is to convert the actual signal into internal data.

TRIGGER: This subsystem controls the data acquisition (or data generation) by synchronizing the instrument actions with internal and/or external events.

Other subsystems, not directly related to signal processing, are:

MEMORY: This subsystem provides the functions which operate on the instrument memory.

MMEMORY: This subsystem contains the functions which provide access to mass memory.

STATUS: This subsystem controls the SCPI status reporting system which includes status registers, event registers, event transition filters, etc.

SYSTEM: This subsystem includes the more general functions of the instrument, which are not directly related to the purpose of the instrument.

Page 3-5

Page 44

The Instrument Model

PM 3580/PM 3585 SCPI Programming Manual

Page 45

Chapter 4 Command Descriptions

Introduction 4-4 Syntax Notation 4-5 Standard Syntactical Items 4-6 Other Syntactical Items 4-8 DISPlay Subsystem 4-9 :DISPlay:ENABle 4-11 :DISPlay:INPut 4-13 :DISPlay:MESSage 4-15 :DISPlay:QUEStion 4-17 FORMat Subsystem 4-19 :FORMat:DATA 4-21 :FORMat:SREGister 4-23 :FORMat:STAMp 4-25 INPut Subsystem 4-27 :INPut:GROup:THReshold 4-29 MEMory Subsystem 4-33 :MEMory:CLEar:MEASurement 4-35 :MEMory:COPY:MEASurement 4-36 :MEMory:DUMP:MEASurement 4-37 :MEMory:EXCHange:MEASurement 4-39 :MEMory:TABLe:ACCess:FORWard 4-40 :MEMory:TABLe:CHANlist 4-42 :MEMory:TABLe:COMPare:SKEW 4-43 :MEMory:TABLe:POINts 4-46 :MEMory:TABLe:POSition:NUMBer 4-47 :MEMory:TABLe:POSition:POINt 4-49 :MEMory:TABLe:POSition:STAMp 4-51 :MEMory:TABLe:POSition:VALue 4-53 :MEMory:TABLe:SAMPle:DATA 4-56

Page 46

Command Descriptions

PM 3580/PM 585 SCPI Programming Manual

:MEMory:TABLe:SAMPle:DURation 4-59 :MEMory:TABLe:SAMPle:STAMp 4-61 :MEMory:TABLe:SAMPle:STATus 4-63 :MEMory:TABLe:SAMPle:VALue 4-65 :MEMory:TABLe:SAMPle:SELect 4-67 MMEMory Subsystem 4-69 :MMEMory:CATalogue 4-71 :MMEMory:COPY 4-73 :MMEMory:DELete 4-74 :MMEMory:INITialize 4-75 :MMEMory:LOAD:CONFiguration 4-76 :MMEMory:LOAD:MEASurement 4-77 :MMEMory:LOAD:SYMBols 4-79 :MMEMory:LOAD:SYSTem 4-80 :MMEMory:MOVE 4-81 :MMEMory:STORe:MEASurement 4-82 :MMEMory:STORe:SCReen 4-84 :MMEMory:TRANsfer 4-85 SENSe Subsystem 4-87 :SENSe:CHANnel:ACTivity 4-89 STATus Subsystem 4-91 *CLS 4-93 *ESE 4-94 *ESR 4-96 *SRE 4-97 *STB 4-98 :STATus:OPERation:CONDition 4-99 :STATus:OPERation:ENABle 4-100 :STATus:OPERation:EVENt 4-101 :STATus:OPERation:NTRansition 4-102 :STATus:OPERation:PTRansition 4-103 :STATus:PRESet 4-104 :STATus:QUEStionable:CONDition 4-105 :STATus:QUEStionable:ENABle 4-106 :STATus:QUEStionable:EVENt 4-107 :STATus:QUEStionable:NTRansition 4-108 :STATus:QUEStionable:PTRansition 4-109 :STATus:QUEue:NEXT 4-110 SYNChronization Subsystem 4-111 *OPC 4-113 *WAI 4-114

Page 47

Command Descriptions

SYSTem Subsystem 4-115 *IDN 4-117 *OPT 6-118 *RST 4-119 :SYSTem:BOOT 4-120 :SYSTem:COMMunicate:GPIB:ADDRess 4-121 :SYSTem:DATE 4-123 :SYSTem:ERRor 4-125 :SYSTem:KEY 4-126 :SYSTem:KLOck 4-128 :SYSTem:PRESet 4-129 :SYSTem:TIME 4-130 :SYSTem:VERSion 4-132 TEST Subsystem 4-133 *TST 4-135 TRIGger Subsystem 4-137 :ABORt 4-139 :INITiate 4-140 :STOP 4-141

Page 48

COMMAND DESCRIPTIONS

Introduction

his chapter describes all commands and queries supported by the PM 3580/PM 3585 logic analyzer. These commands and queries are grouped together into the functional subsystems defined by the SCPI standard 1992.0. Note that not all commands/queries are SCPI compatible. This means that some of them are not SCPI confirmed and/or not approved (yet).

Each subsystem starts with a command table showing which commands and queries are supported for that subsystem.

The description of a command and its corresponding query is combined. Each command/query description starts on a new page and consists, if applicable, of the following parts:

Command: Describes the syntax of the command including the mandatory and optional parameters.
Query: Describes the syntax of the query form, including the parameters.
Response: Shows the syntax of the response to the query.
Description: Gives a short explanation about the command, query and response.
See also: Gives reference(s) to other chapter(s) in this manual, and other documents where additional information can be found about the command/ query.
Examples: One or more examples of how the command/ query can be used.
*RST condition: The effect of a *RST command on the described command/query; i.e. the default setting.
Errors: Describes the command/query specific error conditions. A list of all possible errors is given in chapter 6: Error and Event Reporting.
Page 49

COMMAND DESCRIPTIONS

Syntax Notation

The description of the commands and queries follows the syntax notation rules as described in SCPI 1992 Volume 1 Section 5. The main rules are:

  • ::= means "is defined as".
  • Anything enclosed in angle brackets, < and >, is a non-terminal syntactical item.
  • Square brackets, [ and ], enclose a construct that is optional; i.e. a construct that may occur zero or once only.

For example: [<key>] means that the syntactical item <key> may be present or may be omitted.

Braces, { and }, enclose a construct that may occur zero or more times.

For example: {<key>} represents an empty sequence or a sequence that consists of one or more syntactical items <key>.

<key>{<key>} represents a sequence that consists of at least one syntactical item.

[<key>{,<key>}] represents a sequence that may be omitted or a sequence that consists of one item <key> or a sequence of more than one item <key> separated by a comma.

The vertical bar, I, separates alternatives.

For example: <digit> | <letter> means that either the syntactical item <digit> or <letter> may be specified.

Page 50

COMMAND DESCRIPTIONS

Standard
Syntactical Items
In the description dard syntactical ite of the commands and queries the following stan-
ms are used:
::= 0 | OFF | 1 | ON
As parameter, is used to specify a single binary condition that is either false (0 or OFF) or true (1 or ON).
As response to a query, represents the current state which is either false (0) or true (1).
See also: SCPI 1992 Volume 1 Section 7.3
::= (@ {, })
::= [: ]
::=
Range 1 to 96 inclusive.
is used to specify one or more channel numbers.
Example: (@1,3,4:20)
Specifies the channels 1, 3 and 4 up to and including 20.
See also: SCPI 1992 Volume 1 Section 8.3.2
::= A sequence of one or more characters.
For this data type, the same rules are valid as for the mnemonics used in command headers.
Examples: MINimum, TRIGger, etc.
Page 51

<dec_data>

<NR2>

<NR3>

<NRf>

Command Descriptions

COMMAND DESCRIPTIONS

See also: IEEE-488.2 1987 Sections 7.7.1 and 8.7.1

<non_dec_data> ::= <bin_value> | <oct_value> | <hex_value>

Allows specification of numeric data in bases other than 10.

See: IEEE-488.2 1987 Section 7.7.4.

<NR1> ::= Integer numeric value.

::= <NRf>

See: IEEE-488.2 1987 Section 7.7.2

::= Real numeric value.

See: IEEE-488.2 1987 Section 7.7.2.

::= Floating point numeric value.

See: IEEE-488.2 1987 Section 7.7.2.

  • ::= <NR1> | <NR2> | <NR3>
  • <numeric_data> ::= <dec_data> | <non_dec_data>

<string_data> ::= Data enclosed between single (') or double (") quotes.

<string_data> in query responses is always enclosed between double quotes.

Example: "This is a string"

Page 52

COMMAND DESCRIPTIONS

Other
Syntactical Items
In addition to the section, the follo e standard syntactical items described in the previous
owing non-standard items are used:
::= l
::= CENTer
::=
Used to specify a symbolic or absolute screen coordinate (x or y position).
::=
Used to specify the name of a file on diskette.
It follows the DOS filename convention; i.e. it
consists of a name optionally followed by an
extension. The extension, if present, is
separated from the name by a period.
The name may consist of up to eight characters. The extension may contain no more than three characters.
Examples: "SYSTEM" and "MEAS.AUT"
::= |
Used to specify an acquisition timestamp in units of 5ns.
Page 53

DISPlay Subsystem

Page 54

:DISPlay

HEADER PARAMETERS RESPONSE
:DISPlay:ENABle
→ :ENABle?
→ :INPut? , , , <text> , <lth> [, <input/> ] </lth> </text>
→ :MESSage , , , <message> </message>
→ :QUEStion? , , , <question> , <def_answer> , </def_answer> </question>
, [,answer>]

Page 55

Command Descriptions

:DISPLAY:ENABLE

Command

:DISPlay:ENABle <state>

<state> ::= <Boolean>

Query

:DISPlay:ENABle?

Response

<state>

<state> ::= 0 | 1

Description

The DISPlay: ENABle command controls whether the display should be visible (ON, 1) or should be switched off (OFF, 0).

The query form of this command returns the current display state (1 or 0).

When the display is switched off, updates to the screen are still made in screen memory. So when the display is switched on again, the correct information will be shown.

See also

SCPI 1992 Volume 2 Section 7.5

Page 56

-

:DISPLAY:ENABLE

Examples
→ :DISPlay:ENABle OFF
→ :DISPlay:ENABle?
← 0
→ :DISPlay:ENABle 1
→ :DISPlay:ENABle?
← 1
RST condition
1 (ON)
Errors
-224. "Illegal parameter value"
The specified state ( ) is not a value.
Page 57

Command Descriptions

:DISPLAY:INPUT

Query
:DISPlay:INPut? <x>,<y>,<title>,<text>,<lth>[,<input>]
::=
Range 0 to 720 inclusive or CENTer.
::=
Range 0 to 480 inclusive or CENTer.
::=
Maximum of 60 characters.
::=
Maximum of 700 characters.
::=
Range 1 to 60.
::=
Maximum of 60 characters.

Response

<input>

<input> ::= <string_data>

Description

The :DISPlay:INPut query enables the controller to read a free format text string from the local operator.

The dialogue between the analyzer and the local operator is done via the analyzer keyboard and a popup window on the analyzer display. <x> and <y> define the coordinates of the top left of the popup and <title> specifies the popup title. <text> is displayed in the popup window and can be used by the controller to explain what type of information is required. <lth> defines the maximum length of the input string and <input> is the initial input.

Page 58

Command Descriptions

PM 3580/PM 585 SCPI Programming Manual

:DISPLAY:INPUT

See also
:DISPlay:MESSage command
:DISPlay:QUEStion? query
Examples
With the following query the controller asks the local operator to enter
the serial number of the unit under test. The popup window should be
centered in both X (horizontal) and Y (vertical) direction.
"SERIAL_NR" is the title of the popup and no additional information
about what should be entered is required (""). The maximum length
of the input string is 8 characters and the initial string is "SN". → :DISPlay:INPut? CENTer,CENTer,"SERIAL_NR","",8,"SN" ← "SN248124"
*RST condition
Not applicable
Errors
-222,"Data out of range"
Coordinates ( , ) or input length ( ) are not within valid range.
-223,"Too much data"
Specified title exceeds 60 characters text exceeds 700 char-
acters or default input exceeds 60 characters.
Page 59

Command Descriptions

:DISPLAY:MESSAGE

Command
:DISPlay:ME SSage e , , , <message> </message>
::=
Range 0 to 720 inclusive or CENter.
::=
Range 0 to 480 inclusive or CENTer.
::=
maximum of 60 characters.
::=
maximum of 700 characters.

Description

The :DISPlay:MESSage command enables the controller to send a message to the local operator.

The message is displayed on the analyzer screen in the form of a popup window. <x> and <y> define the coordinates of the left top of the window, <title> specifies the title of the popup and <message> is the text string displayed in the popup.

See also

:DISPlay:INPut? query

:DISPlay:QUEStion? query

Examples

In this example the controller sends the message "I am ready" to the local operator. The lefthand side of the popup is at screen coordinate 100 and the popup is centered in the Y (vertical) direction. The popup title is "MESSAGE".

→ :DISPlay:MESSage 100,CENTer,"MESSAGE","I am ready"

Page 60

Command Descriptions

PM 3580/PM 585 SCPI Programming Manual

:DISPLAY:MESSAGE

*RST condition

Not applicable.

Errors

- 222, "Data out of range"

Popup coordinates (<x>, <y>) not within allowed range.

- 223, "Too much data"

Specified title (<title>) or message (<message>) longer than allowed.

Page 61

Command Descriptions

:DISPLAY:QUESTION

Query

:DISPLAY:QU ESti on? , , , <question> , <br/> <def_answer> , <answer> , <br/> <answer> [, <answer> ] </answer> </def_answer> </question>
::=
Range 0 to 720 inclusive or CENTer.
::=
Range 0 to 480 inclusive or CENTer.
::=
Maximum of 60 characters.
::=
Maximum of 700 characters
::=
Range 1 to 5.
::=
Maximum of 70 characters.

Response

<answer_nr>

<answer_nr> ::= <NR1>

Range 1 to 5 inclusive.

Description

The :DISPlay:QUEStion query enables the controller to send a question to the local operator who should select an answer from a number of predefined answers. The answer number is returned to the controller.

Page 62

:DISPLAY:QUESTION

The question and possible answers are presented to the local operator in the form of a popup window. <x> and <y> specify the coordinates of the left top of the popup and <title> is the popup title.

See also

:DISPlay:INPut? query

:DISPlay:MESSage command

Examples

By sending the following query the controller asks the local operator if it may continue. The left top of the popup should be placed at position (100,200) of the analyzer screen. The default answer is "Yes" (answer number 1).

In this example the local operator has selected answer number 2 (i.e. "No"), via the analyzer's front panel, which is returned to the controller.

→ :DISPlay:QUEStion? 100,200,"","Continue?",1,"Yes","No"

← 2

*RST condition

Not applicable.

Errors

-222, "Data out of range"

Popup coordinates (<x>, <y>) or default answer number (<def-answer>) not within allowed range.

-223, "Too much data"

The length of the popup title (<tiltle>), question (<question>) or any of the answers (<answer>) is more than allowed.

Page 63

FORMat Subsystem

Page 64

:FORMat

HEADER PARAMETERS RESPONSE :FORMat[:DATA] <type>[,<length>] • [:DATA]? <type>[,<length>] • :SREGister <type> • :SREGister? <type>[,<length>] • :STAMp <type>[,<length>]

Page 65

Command Descriptions

:FORMAT:DATA

Command
:FORMat:DATA <type>[,<length>]

<type> ::= ASCii | BINary | HEXadecimal | OCTal | PACKed

<length> ::= <numeric_data>

Range 0 to .... Default: 0

Query
:FORMat:DATA?

Response

<type>[,<length>]
::= ASC | BIN | HEX | OCT | PACK
::=
Range 1 to
Description

The :FORMat:DATA command selects the format type (<type>) and length (<length>) of measurement data in query responses.

The length defines the minimum number of digits returned excluding the BINary (#B), HEXadecimal (#H), Octal (#Q) and PACKed (#xxx) prefixes. A specification of zero length is treated as if the <length> parameter has been omitted.

The :FORMat:DATA? query shows the currently selected format type and length.

The <length> is not returned if this parameter has been omitted (or specified as 0) in the previous FORMat:DATA command.

Page 66

Command Descriptions

PM 3580/PM 585 SCPI Programming Manual

:FORMAT:DATA

See also
SCPI 1992 Volume 2 Section 8.2
Examples
→ :FORMat:DATA BINary,12
→ :FORMat:DATA? ← BIN,12
→ :FORMat:DATA OCTal,0 ← OCT
*RST condition
Type ASCii and default length (0).

Page 67

Command Descriptions

:FORMAT:SREGISTER

Command

:FORMat:SREGister <type>

<type> ::= ASCii | BINary | HEXadecimal | OCTal

Query

:FORMat:SREGister?

Response

<type>

<type> ::= ASC | BIN | HEX | OCT

The :FORMat:SREGister command selects the type (<type>) of the response to queries for:

  • CONDITION, EVENT and ENABLE registers.
  • NTRANSITION and PTRANSITION filters.
  • IEEE-488.2 status registers.

The length of the response can not be specified. This length is implicitly derived from the selected response type and the size (in bits) of the required register. For example if BINary is being selected, the response to *STB? will consist of #B followed by 8 binary digits.

The :FORMat:SREGister? query shows the currently selected format type.

See also

SCPI 1992 Volume 2 Section 8.4

Page 68

:FORMAT:SREGISTER

Examples

  • → :FORMat:SREGister HEXadecimal
  • → :FORMat:SREGister?
  • ← HEX
  • → *STB?
  • ← #H27

*RST condition

ASCii

Page 69

Command Descriptions

:FORMAT:STAMP

Command
:FORMat: STAN Mp [, ]
::=
::=
ASCii | BINary | HEXadecimal | OCTal | PACKed
Range 0 to
Default: 0
Query
:FORMat: STAN Mp?
Response
[, engt :h>]
::= ASC | BIN | HEX | OCT | PACK
::=
Range 1 to
Description

The :FORMat:STAMp command selects the format type (<type>) and length (<length>) of timestamps in query responses.

The length defines the minimum number of digits returned excluding the BINary (#B), HEXadecimal (#H), Octal (#Q) and PACKed (#xxx) prefixes. A specification of zero length is treated as if the <length> parameter has been omitted.

The :FORMat:STAMp? query returns the currently selected format type and length. The <length> is not returned if it has been omitted in the previous FORMat:STAMp command (or has been specified as 0).

Page 70

Command Descriptions

PM 3580/PM 585 SCPI Programming Manual

:FORMAT:STAMP

See also

SCPI 1992 Volume 2 Section 8.2.

Examples

  • → :FORMat:STAMp PACKed,8
  • → :FORMat:STAMp?
  • ← PACK,8
  • → :FORMat:STAMp ASCii
  • → :FORMat:STAMp?
  • ← ASC

*RST condition

Type ASCii and default length (0).

Page 71

INPut Subsystem

Page 72

:INPut

HEADER PARAMETERS RESPONSE
NPut:GROup[ ][:THReshold]

Page 73

:INPUT:GROUP:THRESHOLD

Command

:INPut:GROup[<group_nr>][:THReshold] <threshold>

::=
Range 1 to 12 inclusive
Default: 1
::= MINimum | MAXimum | TTL | ECL |
::=
Range -3.0 to 12.0 inclusive.

Query

:INPut:GROup[<group_nr>][:THReshold]? [<threshold>]

::=
Range 1 to 12 inclusive.
Default: 1
::= MINimum | MAXimum | TTL | ECL
Response
<threshold>
::= TTL | ECL |
::=
Range -3.0 to 12.0 inclusive
Page 74

:INPUT:GROUP:THRESHOLD

Description

The :INPut:GROup:THReshold command sets the threshold of the specified group (<group_nr>) to the given value (<threshold>). The execution of this command is suspended if a local dialoque or the acquisition is in progress.

The :INPut:GROup:THReshold? query returns the threshold of the specified group (<group_nr>) or, if a parameter is given, the <NR2> value that corresponds with that parameter.

The analyzer channels are divided into groups of eight channels each. For each group the threshold value can be set. The relation between the group number and the Pod/Channels is shown in the following table:

Group Nr POD Channels
1 0-7
2 1 8-15
3 2 0-7
4 2 8-15
5 3 0-7
6 3 8-15
7 4 0-7
8 4 8-15
9 5 0-7
10 5 8-15
11 6 0-7
12 6 8-15

See also

Reference guide: FORMAT Menu-Thresholds

Page 75

PM 3580/PM 3585 SCPI Programming Manual Command Descriptions

:INPUT:GROUP:THRESHOLD

Examples
\rightarrow :INPut:GROup7:THReshold -2.7

:INPut:GROup7:THReshold?
-2.7

:INPut:GROup:THReshold?
1.4
TŢĹ

:INPut:GROup3:THReshold?
12.0
MAX

*RST condition

At *RST the threshold values for all groups are set to TTL.

Errors

-131,"Invalid suffix"

<group_nr> outside range of 1 ... 12

-222,"Data out of range"

Threshold value outside range of -3.0 to 12.0

-241,"Hardware missing"

Specified group number not present in hardware configuration for this analyzer.

Page 76

:INPUT:GROUP:THRESHOLD

Page 77

MEMory Subsystem

-

- 1

Ē

-

Page 78

:MEMory

HEADER PARAMETERS RESPONSE
MEMory:CLEar:MEASurement [ ]
:COPY:MEASurement [, ]
:DUMP:MEASurement? [ ] { }
►:FORWard?
→ :CHANlist?
:COMPare[ ]:SI KEW
:5 KEW? [ ]
► :POINts?
→ :NUMBer?
► [:POINt]
→ [:POINt]?
→:STAMp
→:STAMp?
>:VALue [, ]
→:VALue? [, ]
SAMPle:DATA? [ [, ]] { }
DURation? [ ] { }
→:STAMp? [ ] { }
→:STATus? [ ] { }
→:VALue? [ [, ] ] { }
SELect?
Page 79

:MEMORY:CLEAR:MEASUREMENT Command :MEMory:CLEar:MEASurement [<meas_name>] <meas_name> ::= NEW | REFerence Default : NEW Description The :MEMory:CLEar:MEASurement command erases the contents of the measurement specified by <meas_name>. The execution of this command is suspended if a local dialogue is in progress. See also Chapter 10: Acquisition Data Access. Examples :MEMory:CLEar:MEASurement \rightarrow :MEMory:CLEar:MEASurement REFerence \rightarrow

Page 80

:MEMORY:COPY:MEASUREMENT

:MEMory:COPY:MEASurement [, ]
::= NEW | REFerence
::= NEW | REFerence
Default: NEW if is REFerence.
REFerence if is NEW
 ::= NEW | REFerence
 ::= NEW | REFerence
Default: NEW if  is REFerence.
REFerence if  is NEW
Default: NEW if is REFerence.
REFerence if is NEW
Description
The :MEMory:COPY:MEASurement command copies the content
of the measurement specified by to that specified
.
The execution of this command is suspended if a local dialoque is
progress.
See also
Reference Guide: Display Special Functions Menu
Chapter 10: Acquisition Data Access.
Examples
Each of the following commands copies the contents of NEW to 1
REFerence measurement structure:
→:MEMory:COPY:MEASurementNEW, REFerence→:MEMory:COPY:MEASurementNEW
The following command copies REFerence to NEW:
→ :MEMory:COPY:MEASurement REFerence
Page 81

:MEMORY:DUMP:MEASUREMENT

Query

:MEMory:DUMP:MEASurement? [<meas_name>]

<meas_name> ::= NEW | REFerence

default : NEW

Response

<block>{,<block>}

<block>

::= Definite length arbitrary block.

See IEEE-488.2 1987 Section 8.7.9

Description

The :MEMory:DUMP:MEASurement? query returns a measurement header followed by the contents of the measurement specified by <meas_name> (or by default NEW) to the controller in N definite length arbitrary blocks.

The length of the actual data contained in each block, with the exception of the last one, is 65024 bytes. The length of the data contained in the last block varies between 1 and 65024 bytes.

The format of the actual data transferred (concatenation of the data contained in the blocks after removal of the block headers (#...)) is in accordance with the PM 3580/PM 3585 measurement file format.

If data is requested from NEW and the acquisition is running (not in IDLE state), this query implicitly waits for acquisition completion.

See also

Chapter 10: Acquisition Data Access. User Manual Chapter 10: Measurement File Format.

Page 82

:MEMORY:DUMP:MEASUREMENT

Examples
→ :MEMory:DUMP:MEASurement? ← ,,
→ :MEMory:DUMP:MEASurement? REFerence ← ,,
RST condition
Not applicable.
rrors
-230, "Data corrupt or stale"
Specified measurement is empty.
6
Page 83

progress.

Command Descriptions

Command

Description

See also

Examples

:MEMORY:EXCHANGE:MEASUREMENT

The :MEMory:EXCHange:MEASurement command exchanges the

The execution of this command is suspended if a local dialogue is in

contents of the NEW and REFerence memory storages.

Reference guide: Display Special Functions Menu.

HEMory: EXCHange: MEASurement

Chapter 10: Acquisition Data Access.

:MEMory:EXCHange:MEASurement

Page 84

:MEMORY:TABLE:ACCESS:FORWARD

Command
:MEMory:TABLe[:ACCess]:FORWard
::=
Query
:MEMory:TABLe[:ACCess]:FORWard?
Response
::= 0 | 1
Description
The :MEMory:TABLe:ACCess:FORWard command controls the di-
rection in which data is read (via :MEMory:TABLe:SAMPle queries)
from the memory tables; i.e. forward (ON or 1) direction (increasing
point numbers) or reverse (OFF or 0) direction (decreasing point
numbers).
The :MEMory:TABLe:ACCess:FORWard query returns the current direction; i.e. 0 (reverse) or 1 (forward). C
Examples
  • → :MEMory:TABLe:ACCess:FORWard ON
  • → :MEMory:TABLe:ACCess:FORWard?
  • ← 1
*RST condition N E
1 (i.e. forward access)
Page 85

Command Descriptions

:MEMORY:TABLE:ACCESS:FORWARD

Errors

-224,"Illegal parameter value"

The specified direction (<state>) is not a legal <Boolean> value.

Page 86

:MEMORY:TABLE:CHANLIST

Query
:MEMory:TABLe:CHANIist?
Response
 ::= See SCPI 1992 Volume 1 Section 8.3.2
Description
The :MEMory:TABLe:CHANlist? query returns a channel list indicat-
ing for which channels data is stored in the currently selected
memory table.
See also
Chapter 10: Acquisition Data Access
Examples
→ :MEMory:TABLe:CHANlist?
← (@32:23,18,16:14,1)
RST condition
Not applicable.
Page 4-42
Page 87

Command Descriptions

:MEMORY:TABLE:COMPARE:SKEW

Command

:MEMory:TABLe:COMPare[<anal_nr>]:SKEW <skew_value>

=
1 or 2. Default 1.
= |
= MINimum | MAXimum
=
Skew value in units of 5ns. Range 0 to 13 inclusive. 3107

Query

:MEMory:TABLe:COMPare[<anal_nr>]:SKEW? [<symb_value>]

∷=
1 or 2. Default 1.
::= MINimum | MAXimum

Response

<num_value>

<num_value> ::= <NR1>

Description

The :MEMory:TABLe:COMPare:SKEW command defines the skew for the analyzer specified by <anal_nr>.

Page 88

:MEMORY:TABLE:COMPARE:SKEW

The skew value defines the maximum acceptable shift in time (specified in units of 5ns) between any transition in the NEW and its corresponding transition in the REFerence measurement when timing acquisition data is searched for differences or equalities. Corresponding transitions with a distance in time of no more than the specified skew value are considered to match. The query form of this command returns the current skew value or, if a parameter has been specified, the corresponding skew value. See also :MEMory:TABle:POSition:VALue command. Chapter 10: Acquisition Data Access. Examples → :MEMory:TABLe:COMPare:SKEW 10 → :MEMory:TABLe:COMPareSKEW? ← 10 → :MEMory:TABLe:COMPare:SKEW? MAXimum ← 13107 Errors -131,"Invalid suffix" <anal_nr> not 1 or 2 -222,"Data out of range" Skew value outside range of 0 to 13107

Page 89

Command Descriptions

:MEMORY:TABLE:COMPARE:SKEW

*RST condition

At *RST the skew value is set to 1 (i.e. 5ns) for the PM 3585 and set to 2 (i.e. 10ns) for the PM 3580 model.

Page 90

:MEMORY:TABLE:POINTS

Query
:MEMory:TABLe:POINts?
Response
 ::= 
Range 0 to
Description
The :MEMory:TABLe:POINts? query returns the number of points in the currently selected memory table.
If a table has not yet been selected, the analyzer first selects a table according the algorithm described in Chapter 10: Acquisition Data Access.
The execution of this query is suspended if it refers to the NEW measurement and an acquisition is in progress.
The query :MEMory:TABLe:POINts? returns the same result as the query :MEMory:TABLe:POSition? MAXimum minus 1.
See also
Chapter 10: Acquisition Data Access.
SCPI 1992: Volume 2 Section 11.6.3.2.1
Examples
→ :MEMory:TABLe:POINts? ← 2048
Page 91

Command Descriptions

Page 92

:MEMORY:TABLE:POSITION:NUMBER

Examples

Request for the sample number of the trigger point:


:MEMory:TABle:POSition:NUMBer? TRIGger 0
Set
and
befo
table access position on the first sample (i.e. the first table entry)
ask for the current sample number (i.e. the number of samples
ore the trigger point):


:MEMory:TABLe:POSition:NUMBer MINimum
:MEMory:TABLe:POSition:NUMBer?
-23
Obta
ber
ain the sample number of the last entry in the table (i.e. the num-
of samples after the trigger point):

:MEMory:TABLe:POSition:NUMBer? MAXimum 976

*RST condition

Position is set to point number 0.

Page 93
INEMORY: TABLE: PUSITION: PUINT
Command
:MEMory:TABL e:POSition[:POINt]
:: = |
::
= 
Range 0 to
:: MINimum | MAXimum | TRIGger
Query
:MEMORY:TAB .e:POSition[:POINt]? [ ]
– MINImum I MAXimum I TRIGgar
::
Response ::
Response ::
Response ::

::
Response ::

::
= NR1>
Range 0 to

The :MEMory:TABLe:POSition:POINt command sets the position for subsequent access in the memory table to the specified point (entry) number (<point_nr>) or the point that corresponds with the specified symbolic position (<symb_pos).

The query form of this command returns the point number which corresponds with the specified symbolic position or, if omitted, the current point number.

Page 94

:MEMORY:TABLE:POSITION:POINT

See also Chapter 10: Acquisition Data Access.
Examples
Ask the point number of the trigger (i.e. the number of points before the trigger point):
→ :MEMory:TABLe:POSition:POINt? TRIGger ← 483
Ask the point number of the end of the (currently selected) table (i.e. the number of entries in the table). This returns the same value as the query :MEMORY:TABLE:POINTS?
→ :MEMory:TABLe:POSition:POINt? MAXimum ← 2048
RST condition
Point number is set to 0.
0
Page 95

:MEMORY:TABLE:POSITION:STAMP

Command
:MEMory:TABLe:POSition:STAMp <position>
::= |
::= See Chapter 4: Introduction.
::= MINimum | MAXimum | TRIGger

Query

:MEMORY:TABLe:POSition:STAMP? [<symb_pos>]

<symb_pos> ::= MINimum | MAXimum | TRIGger

Response

<stamp>

<stamp> ::= See Chapter 4: Introduction.

Description

The :MEMory:TABLe:POSition:STAMp command sets the position for subsequent access in the memory table to the point number which corresponds with the specified timestamp (<stamp>) or with the specified symbolic position (<symb_pos>).

The query form of this command returns the timestamp which corresponds with the specified symbolic position or, if omitted, the timestamp that corresponds with the current point number. The format and length of the returned timestamp can be specified

See also

Chapter 10: Acquisition Data Access.

with the :FORMat:STAMp command.

Page 96

:MEMORY:TABLE:POSITION:STAMP

Examples

Request the timestamp of the first entry in the table:

→ :MEMory:TABLE:POSition:STAMp? MINimum ← -2580

Request the timestamp of the last entry in the table:

  • → :MEMory:TABLE:POSition:STAMP? MAXimum
  • ← 7485

*RST condition

On *RST the point number is set to 0.

Page 97

Command

:MEMory:TABLe:POSition:VALue <val_spec>[,<chan_spec>]

::= ZERO | NONZero | EQUal | DIFFer
::= | |
Default: All channels for which data has been acquired.
::=
Range 1 to 96 inclusive.
::= Channel list. See SCPI 1992 Volume 1 Section 8.3.2. Maximum length of 200 characters.
::=
The channels assigned to label

Query

:MEMory:TABLe:POSition:VALue? <val_spec>[,<chan_spec>]
::= See Command form.
::= See Command form.
Response
<point_nr>

<point_nr> ::= <NR1> Range -1 to .....

Page 98

:MEMORY:TABLE:POSITION:VALUE

Description

The :MEMORY:TABLE:POSITION:VALUE command searches the selected memory table (starting on the current position in forward direction) for an entry of which the sample value matches with the specified search value. The point number of the first entry that matches becomes the new position. In case of no match the position remains unchanged.

The parameter <val_spec> specifies where to search for:

  • ZERO : Search for a sample in which all of the specified channels has a value of 0.
  • NONZ ero : Search for a sample in which at least one of the specified channels has a value of 1.
  • EQUal : Is an alias for ZERO.

DIFF er : Is an alias for NONZero.

The <chan_spec> parameter defines which channels should be examined.

The query form of this command performs exactly the same with the exception that instead of updating the access position, the corresponding point number is returned.

See also

Chapter 10: Acquisition Data Access.

Page 99

Command Descriptions

:MEMORY:TABLE:POSITION:VALUE

Examples

Obtain the point number of the first samples that contain a value of 1 for either channel 4, 5, 6 or 9:

  • → :MEMory:TABLE:POSition:POINt
    • :MEMory:TABLE:POSition:VALue? NC

MINimum NONZero,(@4:6,9)

TRIGger

ZERO, "CLOCK1"

← 49

\rightarrow

Position on the first sample after the trigger point where the clock "CLOCK1" (for example defined in the FORMAT menu as channel 12) falls and obtain the corresponding sample number:

  • → :MEMory:TABLe:POSition:POINt
  • → :MEMory:TABLe:POSition:VALue
  • → :MEMory:TABLe:POSition:NUMBer?
  • ← 738

*RST condition

At *RST the access position is set to point number 0.

Errors

-222, "Data out of range"

Invalid channel number (<chan-nr>) specified.

-223, "Too much data"

Specified channel list (<chan-list>) exceeds 200 characters.

Page 100

:MEMORY:TABLE:SAMPLE:DATA

Query

::=
Range1 to
Default : 1
::= | |
Default : All channels for which data has been stored.
::=
Range 1 to 96 inclusive.
::= Channel list as defined in SCPI 1992 Volume
Section 8.3.2.
Maximum length of 200 characters.
::=
Jan - The channels assigned to label
Maximum string length is 12 characters.

Response

[<acq_data>{,<acq_data>}]

::= , ,
::= The timestamp at which the sample was taken.
::=
::=
Range 0 to 8 inclusive.
Loading...