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
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.
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
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
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
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
*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
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
Chapter Overview 1-2 References 1-3
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.
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.
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.
The following documents provide additional information regarding remote operation via IEEE and RS-232 interfaces:
Introduction
PM 3580/PM 3585 SCPI Programming Manual
. 6 | ||
---|---|---|
Published by The Institute of Electrical and Electronics Engineers | ||
ISBN 471-62222-2 | 6 | |
|
||
Published by The Institute of Electrical and Electronics Engineers | Ş | |
ISBN 471-61871-3 | ||
|
||
Published by Electronic Industries Association | ||
|
||
Published by SCPI Consortium | 6 | |
SCPI 1992 Volume 2: Command Reference | ||
Published by SCPI Consortium | 1 | |
|
||
Published by Philips Electronics N.V., T&M. | ||
Publication number: 4822 872 80148 | 9 | |
|
||
Published by Philips Electronics N.V., T&M. | 6 | |
Publication number: 4822 872 80149 | ||
|
6 | |
Published by Philips Electronics N.V., T&M | 1. | |
Publication number: 4822 872 80124 | 4 | |
|
F | |
Published by Philips Electronics N.V., T&M | ||
Publication number: 4822 872 80126 | ||
|
||
6 | ||
1-1-A | 1 |
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
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
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.
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.
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.
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
rules. Concerning the message exchange between controller and device, violation of the following rules will result in the generation of a query error:
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
When the controller sends a message to an SCPI instrument, roughly the following happens:
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,
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
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 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:
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:
Notes: - NL is the same as the ASCII LF (<line feed> = 10 decimal).
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.
-
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: | ||
|
||
Example: INITIATE | ||
|
||
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 |
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:
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
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
message. For example, :STATus:QUEue:NEXT? is the same as :STATus:QUEue?
The following notes apply to commands:
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.
• 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
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).
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? |
||
|
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 |
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
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: | |
|
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. |
||
|
||
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" | ||
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.
General Instrument Model 3-2 Subsystems 3-3 Analyzer Instrument Model 3-6
• Switch instruments for signal routing. For example, a multiplexer.
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.
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.
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
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
The Instrument Model
PM 3580/PM 3585 SCPI Programming Manual
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
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
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
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. |
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:
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.
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,
|
||
As response to a query,
|
||
See also: SCPI 1992 Volume 1 Section 7.3 | ||
|
::= (@
|
|
|
||
|
||
Range 1 to 96 inclusive. | ||
|
||
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. |
<dec_data>
<NR2>
<NR3>
<NRf>
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.
<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"
Other
Syntactical Items |
||
---|---|---|
In addition to the section, the follo |
e standard syntactical items described in the previous
owing non-standard items are used: |
|
|
::=
|
|
|
||
|
||
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. | ||
HEADER | PARAMETERS | RESPONSE |
---|---|---|
:DISPlay:ENABle |
|
|
→ :ENABle? |
|
|
→ :INPut? |
|
|
→ :MESSage |
|
|
→ :QUEStion? |
|
|
|
|
Command Descriptions
Command
:DISPlay:ENABle <state>
<state> ::= <Boolean>
Query
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
-
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 (
|
||
Command Descriptions
|
::= |
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> ::= <string_data>
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.
Command Descriptions
PM 3580/PM 585 SCPI Programming Manual
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 (
|
|
-223,"Too much data" | |
Specified title exceeds 60 characters text exceeds 700 char-
acters or default input exceeds 60 characters. |
|
Command Descriptions
:DISPlay:ME | SSage |
e
|
---|---|---|
|
::= |
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"
Command Descriptions
PM 3580/PM 585 SCPI Programming Manual
*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.
Command Descriptions
Query
:DISPLAY:QU | ESti |
on?
|
---|---|---|
|
::= |
|
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.
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.
HEADER PARAMETERS RESPONSE :FORMat[:DATA] <type>[,<length>] • [:DATA]? <type>[,<length>] • :SREGister <type> • :SREGister? <type>[,<length>] • :STAMp <type>[,<length>]
Command Descriptions
<type> ::= ASCii | BINary | HEXadecimal | OCTal | PACKed
<length> ::= <numeric_data>
Range 0 to .... Default: 0
Response
|
::= | ASC | BIN | HEX | OCT | PACK |
---|---|---|
|
::= |
|
Range 1 to |
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.
Command Descriptions
PM 3580/PM 585 SCPI Programming Manual
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). | ||
Command Descriptions
Command
<type> ::= ASCii | BINary | HEXadecimal | OCTal
Query
Response
<type>
<type> ::= ASC | BIN | HEX | OCT
The :FORMat:SREGister command selects the type (<type>) of the response to queries for:
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
*RST condition
ASCii
Command Descriptions
: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).
Command Descriptions
PM 3580/PM 585 SCPI Programming Manual
See also
SCPI 1992 Volume 2 Section 8.2.
Examples
*RST condition
Type ASCii and default length (0).
HEADER | PARAMETERS | RESPONSE |
---|---|---|
NPut:GROup[
|
|
|
|
::= |
|
---|---|---|
Range 1 to 12 inclusive | ||
Default: 1 | ||
|
::= |
MINimum | MAXimum | TTL | ECL |
|
|
::= |
|
Range -3.0 to 12.0 inclusive. |
|
::= |
|
---|---|---|
Range 1 to 12 inclusive. | ||
Default: 1 | ||
|
::= | MINimum | MAXimum | TTL | ECL |
|
::= |
TTL | ECL |
|
---|---|---|
|
::= |
|
Range -3.0 to 12.0 inclusive |
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
PM 3580/PM 3585 SCPI Programming Manual Command Descriptions
: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.
-
- 1
Ē
-
HEADER | PARAMETERS | RESPONSE |
---|---|---|
MEMory:CLEar:MEASurement |
[
|
|
:COPY:MEASurement |
|
|
:DUMP:MEASurement? |
[
|
{
|
|
||
►:FORWard? |
|
|
→ :CHANlist? |
|
|
:COMPare[
|
KEW
|
|
:5 | KEW? |
[
|
► :POINts? |
|
|
|
||
→ :NUMBer? |
|
|
► [:POINt] |
|
|
→ [:POINt]? |
|
|
→:STAMp |
|
|
→:STAMp? |
|
|
>:VALue |
|
|
→:VALue? |
|
|
SAMPle:DATA? |
[
|
{
|
DURation? |
[
|
{
|
→:STAMp? |
[
|
{
|
→:STATus? |
[
|
{
|
→:VALue? |
[
|
] {
|
SELect? |
|
|
:MEMory:COPY:MEASurement
Default: NEW if REFerence if |
---|
|
Default: NEW if
REFerence if |
Description |
The :MEMory:COPY:MEASurement command copies the content
of the measurement specified by 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 |
Query
<meas_name> ::= NEW | REFerence
default : NEW
Response
<block>
::= Definite length arbitrary block.
See IEEE-488.2 1987 Section 8.7.9
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.
Examples | ||
→ :MEMory:DUMP:MEASurement?
←
|
||
→ :MEMory:DUMP:MEASurement? REFerence
←
|
||
RST condition | ||
Not applicable. | ||
rrors | ||
-230, "Data corrupt or stale"
Specified measurement is empty. |
||
6 |
progress.
Command Descriptions
Command
Description
See also
Examples
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
Command | ||
---|---|---|
:MEMory:TABLe[:ACCess]:FORWard
|
||
|
||
Query | ||
:MEMory:TABLe[:ACCess]:FORWard? | ||
Response | ||
|
||
|
||
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 | ||
|
||
*RST condition | N E | |
1 (i.e. forward access) |
Command Descriptions
Errors
-224,"Illegal parameter value"
The specified direction (<state>) is not a legal <Boolean> value.
Query | |
---|---|
:MEMory:TABLe:CHANIist? | |
Response | |
|
|
|
|
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 |
Command Descriptions
|
=
|
|
---|---|---|
1 or 2. Default 1. | ||
|
=
|
|
|
= MINimum | MAXimum | |
|
=
|
|
Skew value in units of 5ns. Range 0 to 13 inclusive. | 3107 | |
Query
|
∷=
|
---|---|
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>.
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
Command Descriptions
*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.
Query | |
---|---|
:MEMory:TABLe:POINts? | |
Response | |
|
|
|
|
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 | |
Command Descriptions
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.
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.
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 | ||
|
::= |
|
---|---|---|
|
::= | See Chapter 4: Introduction. |
|
::= | MINimum | MAXimum | TRIGger |
Query
<symb_pos> ::= MINimum | MAXimum | TRIGger
Response
<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.
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:
*RST condition
On *RST the point number is set to 0.
|
::= | 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
|
::= | See Command form. |
---|---|---|
|
::= | See Command form. |
<point_nr> ::= <NR1> Range -1 to .....
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:
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.
Command Descriptions
Obtain the point number of the first samples that contain a value of 1 for either channel 4, 5, 6 or 9:
MINimum NONZero,(@4:6,9)
TRIGger
ZERO, "CLOCK1"
← 49
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:
*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.
|
::= |
|
---|---|---|
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. |
|
::= |
|
---|---|---|
|
::= | The timestamp at which the sample was taken. |
|
::= |
|
|
::= |
|
Range 0 to 8 inclusive. |