Programmer’s Guide Publication number 16500-97018 First edition, December 1996 For Safety information, Warranties, and Regulatory information, see the pages behind the Index Copyright Hewlett-Packard Company 1987, 1990, 1993, 1994, 1996 All Rights Reserved HP 16500C/16501A Logic Analysis System
ii
In This Book This programmer’s guide contains general information, mainframe level commands, and programming examples for programming the HP 16500C/16501A Logic Analysis System. This guide focuses on how to program the system over the HP-IB interface, but also briefly explains how to use the RS-232-C and LAN interfaces. The Logic Analysis System cannot be programmed over the 16505 interface. This guide provides a complete set of programming information for your system.
Part 1 Part 1 consists of chapters 1 through 8 and contains general information about programming basics, HP-IB, RS-232-C, and LAN interface requirements, documentation conventions, status reporting, and error messages. If you are already familiar with IEEE 488.2 programming and HP-IB or RS-232-C, you may want to just scan these chapters. If you are new to programming logic analyzers you should read part 1. Chapter 1 is divided into two sections.
Contents Part 1 General Information 1 Introduction to Programming Introduction 1–2 Talking to the Logic Analysis System 1–3 Talking to Individual System Modules 1–4 Initialization 1–4 Instruction Syntax 1–6 Output Command 1–6 Device Address 1–7 Instructions 1–7 Instruction Terminator 1–8 Header Types 1–9 Duplicate Keywords 1–10 Query Usage 1–11 Program Header Options 1–12 Parameter Data Types 1–13 Selecting Multiple Subsystems 1–15 Receiving Information from the Logic Analysis System 1–16 Response Header
Contents 2 Programming Over HP-IB Interface Capabilities 2–3 Command and Data Concepts 2–3 Talk/Listen Addressing 2–3 HP-IB Bus Addressing 2–4 Local, Remote, and Local Lockout 2–5 Bus Commands 2–6 3 Programming Over RS-232-C Interface Operation 3–3 RS-232-C Cables 3–3 Minimum Three-Wire Interface with Software Protocol 3–4 Extended Interface with Hardware Handshake 3–5 Cable Examples 3–6 Configuring the Logic Analysis System Interface 3–7 Interface Capabilities 3–8 RS-232-C Bus Addressing 3–9 Lockout Comm
Contents 5 Programming and Documentation Conventions Truncation Rule 5–3 Infinity Representation 5–4 Sequential and Overlapped Commands 5–4 Response Generation 5–4 Syntax Diagrams 5–4 Notation Conventions and Definitions 5–5 The Command Tree 5–6 Tree Traversal Rules 5–8 Command Set Organization 5–10 Subsystems 5–10 Program Examples 5–12 6 Message Communication and System Functions Protocols 6–3 Syntax Diagrams 6–5 Syntax Overview 6–7 7 Status Reporting Event Status Register 7–4 Service Request Enable Reg
Contents 8 Error Messages Device Dependent Errors 8–3 Command Errors 8–3 Execution Errors 8–4 Internal Errors 8–4 Query Errors 8–5 Part 2 Commands 9 Common Commands *CLS (Clear Status) 9–5 *ESE (Event Status Enable) 9–6 *ESR (Event Status Register) 9–7 *IDN (Identification Number) 9–9 *IST (Individual Status) 9–9 *OPC (Operation Complete) 9–11 *OPT (Option Identification) 9–12 *PRE (Parallel Poll Enable Register Enable) 9–13 *RST (Reset) 9–14 *SRE (Service Request Enable) 9–15 *STB (Status Byte) 9–16 *TRG
Contents MESE (Module Event Status Enable) 10–16 MESR (Module Event Status Register) 10–18 RMODe 10–19 RTC (Real-time Clock) 10–20 SELect 10–21 SETColor 10–23 STARt 10–24 STOP 10–25 XWINdow 10–26 11 SYSTem Subsystem DATA 11–5 DSP (Display) 11–6 ERRor 11–7 HEADer 11–8 LONGform 11–9 PRINt 11–10 SETup 11–12 12 MMEMory Subsystem AUToload 12–7 CATalog 12–8 CD (Change Directory) 12–9 COPY 12–10 DOWNload 12–11 IDENtify 12–13 INITialize 12–14 LOAD[:CONFig] 12–15 LOAD :IASSembler 12–16 MKDir (Make Directory
Contents REName 12–22 STORe [:CONFig] 12–23 UPLoad 12–24 VOLume 12–25 13 INTermodule Subsystem :INTermodule 13–5 DELete 13–6 HTIMe 13–7 INPort 13–8 INSert 13–9 OUTDrive 13–10 OUTPolar 13–10 OUTType 13–11 PORTEDGE 13–12 PORTLEV 13–13 SKEW 13–14 TREE 13–15 TTIMe 13–17 14 TGTctrl Subsystem :TGTctrl 14–5 ALL 14–6 AVAILable 14–7 BITS 14–8 CURSTate 14–9 DRIVe 14–9 LASTstate 14–10 NAMe 14–11 PULse 14–12 SIGNal 14–12 SIGSTatus 14–13 STATEs 14–14 STEP 14–15 TOGgle 14–15 TYPe 14–16 Contents–6
Contents Part 3 Programming Examples 15 Programming Examples Transferring the Mainframe Configuration 15–3 Checking for Intermodule Measurement Completion 15–6 Sending Queries to the Logic Analysis System 15–7 Getting ASCII Data with PRINt? ALL Query 15–9 Reading the disk with the CATalog? ALL query 15–10 Reading the Disk with the CATalog? Query 15–11 Printing to the disk 15–12 Index Contents–7
Contents–8
Part 1 1 2 3 4 5 6 7 8 Introduction to Programming 1-1 Programming Over HP-IB 2-1 Programming Over RS-232-C 3-1 Programming Over LAN 4-1 Programming and Documentation Conventions 5-1 Message Communication and System Functions 6-1 Status Reporting 7-1 Error Messages 8-1 General Information
1 Introduction to Programming
Introduction This chapter introduces you to the basics of remote programming and is organized in two sections. The first section, "Talking to the Logic Analysis System," concentrates on initializing the bus, program syntax and the elements of instruction syntax. The second section, "Receiving Information from the Logic Analysis System," discusses how queries are sent and how to retrieve query results from the system. The programming instructions explained in this book conform to IEEE Std 488.
Talking to the Logic Analysis System In general, computers acting as controllers communicate with the instrument by sending and receiving messages over a remote interface, such as HP-IB, RS-232-C, or Ethernet LAN. When programming the HP 16500C with the HP 16501A Expansion Frame connected, most of the remote operation of the expansion frame is transparent.
Introduction to Programming Talking to Individual System Modules Talking to Individual System Modules Talking to individual system modules within the HP 16500C Logic Analysis System is done by preceding the module commands with the SELECT command and the number of the slot in which the desired module is installed. The mainframe is selected in the same way as an installed module by using the SELECT 0 command.
Introduction to Programming Initialization Example This BASIC statement would load the configuration file "DEFAULT " (if it exists) into the system. OUTPUT XXX;":MMEMORY:LOAD:CONFIG ’DEFAULT Example ’" This program demonstrates a simple HP BASIC command structure used to program the Logic Analysis System.
Introduction to Programming Instruction Syntax Instruction Syntax To program the system remotely, you must have an understanding of the command format and structure. The IEEE 488.2 standard governs syntax rules pertaining to how individual elements, such as headers, separators, parameters and terminators, may be grouped together to form complete instructions. Syntax definitions are also given to show how query responses will be formatted.
Introduction to Programming Device Address Device Address The location where the device address must be specified also depends on the host language that you are using. In some languages, this could be specified outside the output command. In BASIC, this is always specified after the keyword OUTPUT. The examples in this manual use a generic address of XXX. When writing programs, the number you use will depend on the protocol you use, in addition to the actual address.
Introduction to Programming Instruction Terminator When you look up a query in this programmer’s reference, you’ll find a paragraph labeled "Returned Format" under the one labeled "Query." The syntax definition by "Returned Format" will always show the instruction header in square brackets, like [:SYSTem:MENU], which means the text between the brackets is optional. It is also a quick way to see what the header looks like.
Introduction to Programming Header Types Header Types There are three types of headers: simple command, compound command, and common command. Simple Command Header Simple command headers contain a single keyword. START and STOP are examples of simple command headers.
Introduction to Programming Duplicate Keywords Common Command Header Common command headers control IEEE 488.2 functions within the logic analyzer such as clear status. The syntax is: * No white space or separator is allowed between the asterisk and the command header.
Introduction to Programming Query Usage Query Usage Logic analysis system instructions that are immediately followed by a question mark (?) are queries. After receiving a query, the Logic Analysis System parser places the response in the output buffer. The output message remains in the buffer until it is read or until another instruction is issued. When read, the message is transmitted across the bus to the designated listener (typically a controller).
Introduction to Programming Program Header Options Program Header Options Program headers can be sent using any combination of uppercase or lowercase ASCII characters. System responses, however, are always returned in uppercase. Both program command and query headers may be sent in either long form (complete spelling), short form (abbreviated spelling), or any combination of long form and short form. Programs written in long form are easily read and are almost selfdocumenting.
Introduction to Programming Parameter Data Types Parameter Data Types There are three main types of data which are used in parameters. The types are numeric, string, and keyword. A fourth type, block data, is used only for a few instructions: the DATA and SETup instructions in the SYSTem subsystem (see chapter 11); the CATalog, UPLoad, and DOWNload instructions in the MMEMory subsystem (see chapter 12). These syntax rules also show how data may be formatted when sent back from the system as a response.
Introduction to Programming Parameter Data Types You may not specify a base in conjunction with either exponents or unit suffixes. Additionally, negative numbers must be expressed in decimal. When a syntax definition specifies that a number is an integer, that means that the number should be whole. Any fractional part would be ignored, truncating the number. Numeric parameters that accept fractional values are called real numbers. All numbers are expected to be strings of ASCII characters.
Introduction to Programming Selecting Multiple Subsystems Selecting Multiple Subsystems You can send multiple program commands and program queries for different subsystems within the same selected module on the same line by separating each command with a semicolon. The colon following the semicolon enables you to enter a new subsystem. ; : Multiple commands may be any combination of simple, compound and common commands.
Receiving Information from the Logic Analysis System After receiving a query (logic analysis system instruction followed by a question mark), the system interrogates the requested function and places the answer in its output queue. The answer remains in the output queue until it is read or until another command is issued. When read, the message is transmitted across the bus to the designated listener (typically a controller).
Introduction to Programming Response Header Options Response Header Options The format of the returned ASCII string depends on the current settings of the SYSTEM HEADER and LONGFORM commands. The general format is The header identifies the data that follows (the parameters) and is controlled by issuing a :SYSTEM:HEADER ON/OFF command. If the state of the header command is OFF, only the data is returned by the query.
Introduction to Programming Response Data Formats Response Data Formats Both numbers and strings are returned as a series of ASCII characters, as described in the following sections. Keywords in the data are returned in the same format as the header, as specified by the LONGform command. Like the headers, the keywords will always be in uppercase. Example The following are possible responses to the :SELECT 2:MACHINE1: TFORMAT: LAB? ’ADDR’ query.
Introduction to Programming String Variables String Variables Because there are so many ways to code numbers, the HP 16500C Logic Analysis System handles almost all data as ASCII strings. Depending on your host language, you may be able to use other types when reading in responses. Sometimes it is helpful to use string variables in place of constants to send instructions to the system, such as including the headers with a query response.
Introduction to Programming Numeric Base Example The following example shows logic analyzer module data being returned to a string variable with headers off: 10 20 30 40 50 60 OUTPUT XXX;":SYSTEM:HEADER OFF" DIM Rang$[30] OUTPUT XXX;":SELECT 2:MACHINE1:TWAVEFORM:RANGE?" ENTER XXX;Rang$ PRINT Rang$ END After running this program, the controller displays: +1.00000E-05 Numeric Base Most numeric data will be returned in the same base as shown on screen.
Introduction to Programming Definite-Length Block Response Data Example The following example shows logic analyzer module data being returned to a numeric variable. 10 20 30 40 50 OUTPUT XXX;":SYSTEM:HEADER OFF" OUTPUT XXX;":SELECT 2:MACHINE1:TWAVEFORM:RANGE?" ENTER XXX;Rang PRINT Rang END This time the format of the number (whether or not exponential notation is used) is dependent upon your host language. In BASIC, the output will look like: 1.
Introduction to Programming Multiple Queries For example, for transmitting 80 bytes of data, the syntax would be: Figure 1-2 Definite-length Block Response Data The "8" states the number of digits that follow, and "00000080" states the number of bytes to be transmitted, which is 80. Multiple Queries You can send multiple queries to the system within a single program message, but you must also read them back within a single program message.
Introduction to Programming System Status Example The response of the query :SYSTEM:HEADER?:LONGFORM? with HEADER and LONGFORM turned on is: :SYSTEM:HEADER 1;:SYSTEM:LONGFORM 1 If you do not need to see the headers when the numeric values are returned, then you could use numeric variables. When you are receiving numeric data into numeric variables, the headers should be turned off. Otherwise the headers may cause misinterpretation of returned data.
1–24
2 Programming Over HP-IB
Introduction This section describes the interface functions and some general concepts of HP-IB. In general, these functions are defined by IEEE 488.1 (HP-IB standard). They deal with general bus management issues, as well as messages which can be sent over the bus as bus commands.
Programming Over HP-IB Interface Capabilities Interface Capabilities The interface capabilities of the HP 16500C, as defined by IEEE 488.1 are SH1, AH1, T5, TE0, L3, LE0, SR1, RL1, PP0, DC1, DT1, C0, and E2. Command and Data Concepts The HP-IB has two modes of operation: command mode and data mode. The bus is in command mode when the ATN line is true. The command mode is used to send talk and listen addresses and various bus commands, such as a group execute trigger (GET).
Programming Over HP-IB HP-IB Bus Addressing • An instrument, therefore, may be talk-addressed, listen-addressed, or unaddressed by the controller. If the controller addresses the instrument to talk, it will remain configured to talk until it receives: • • • • an interface clear message (IFC) another instrument’s talk address (OTA) its own listen address (MLA) a universal untalk (UNT) command.
Programming Over HP-IB Local, Remote, and Local Lockout Example For example, if the instrument address is 4 and the interface select code is 7, the instruction will cause an action in the instrument at device address 704. DEVICE ADDRESS = (Interface Select Code) X 100 + (Instrument Address) Local, Remote, and Local Lockout The local, remote, and remote with local lockout modes may be used for various degrees of front-panel control while a program is running.
Programming Over HP-IB Bus Commands Bus Commands The following commands are IEEE 488.1 bus commands (ATN true). IEEE 488.2 defines many of the actions which are taken when these commands are received by the system. Device Clear The device clear (DCL) or selected device clear (SDC) commands clear the input and output buffers, reset the parser, clear any pending commands, and clear the Request-OPC flag.
3 Programming Over RS-232-C
Introduction This chapter describes the interface functions and some general concepts of RS-232-C. The RS-232-C interface on this instrument is Hewlett-Packard’s implementation of EIA Recommended Standard RS-232-C, Interface Between Data Terminal Equipment and Data Communications Equipment Employing Serial Binary Data Interchange. With this interface, data is sent one bit at a time, and characters are not synchronized with preceding or subsequent data characters.
Programming Over RS-232-C Interface Operation Interface Operation The HP 16500C Logic Analysis System can be programmed by a controller over RS-232-C using either a minimum three-wire or extended hardwire interface. The operation and exact connections for these interfaces are described in more detail in the following sections.
Programming Over RS-232-C Minimum Three-Wire Interface with Software Protocol Minimum Three-Wire Interface with Software Protocol With a three-wire interface, the software (as compared to interface hardware) controls the data flow between the Logic Analysis System and the controller. Because the three-wire interface provides no hardware means to control data flow between the controller and the Logic Analysis System, only XON/OFF can control this data flow.
Programming Over RS-232-C Extended Interface with Hardware Handshake Extended Interface with Hardware Handshake With the extended interface, both the software and the hardware can control the data flow between the Logic Analysis System and the controller.
Programming Over RS-232-C Cable Examples lines will disable the Logic Analysis System data transmission. Pulling the CTS line low during data transmission will stop Logic Analysis System data transmission immediately. Pulling either the DSR or DCD line low during data transmission will stop Logic Analysis System data transmission, but as many as two additional bytes may be transmitted from the Logic Analysis System.
Programming Over RS-232-C Configuring the Logic Analysis System Interface HP Vectra Personal Computers and Compatibles Figure 3-2 gives an example of a cable that will work for the extended interface with hardware handshake. Keep in mind that this cable should work if your computer’s serial interface supports the four common RS-232-C handshake signals as defined by the RS-232-C standard.
Programming Over RS-232-C Interface Capabilities Interface Capabilities The baud rate, stop bits, parity, protocol, and data bits must be configured exactly the same for both the controller and the Logic Analysis System to properly communicate over the RS-232-C bus. The RS-232-C interface capabilities of the HP 16500C Logic Analysis System are listed below: • • • • • Baud Rate: 110, 300, 600, 1200, 2400, 4800, 9600, or 19.2k Stop Bits: 1, 1.
Programming Over RS-232-C RS-232-C Bus Addressing The controller and the HP 16500C Logic Analysis System must be in the same bit mode to properly communicate over the RS-232-C. This means that the controller must have the capability to send and receive 8-bit data. See Also For more information on the RS-232-C interface, refer to the HP 16500C Logic Analysis System User’s Reference. For information on RS-232-C voltage levels and connector pinouts, refer to the HP 16500C Logic Analysis System Service Guide.
Programming Over RS-232-C Lockout Command Lockout Command To lockout the front-panel controls, use the SYSTem command LOCKout. When this function is on, all controls (except the power switch) are entirely locked out. Local control can only be restored by sending the :LOCKout OFF command. Hint Cycling the power will also restore local control, but this will also reset certain RS-232-C states.
4 Programming Over LAN
Introduction This chapter describes different ways you can program your logic analysis system over a LAN. There are no commands needed for controlling the connection, and no special cabling issues. This chapter assumes you have already set up your LAN, and concentrates on how to control the HP 16500C from a host computer.
Programming Over LAN Communicating with the HP 16500C Communicating with the HP 16500C You can communicate with the HP 16500C in several ways. If you NFS mount your logic analysis system, it behaves like a disk drive on your LAN and programs control it by writing to the \system\program file. The other common way to control the instrument is through telnet or another socket-style connection. The HP 16500C must be turned on and completely booted up before you can mount the system to your network.
Programming Over LAN Password Protection and File Protection Password Protection and File Protection There is no protection or security built into the HP 16500C. If you attempt to connect to the logic analysis system via FTP, and you are prompted for a password, leave the password field blank. The operating system files, which are stored in the \system directory, are also not protected against accidental deletion. If these files are deleted, the HP 16500C will not operate the next time it is rebooted.
Programming Over LAN Controlling the HP 16500C Controlling the HP 16500C To control the HP 16500C Logic Analysis System with programming commands, you can either write the commands to \system\program, or open a socket in a C program. Either way, the controller in the System Configuration menu must be set to LAN. In order to send programming commands to the HP 16500C \system\program file, the system must be connected to the LAN and you must be connected to the system as the control user.
Programming Over LAN Echoing Commands Echoing Commands To send a command directly from the command line or prompt of your PC or workstation to the HP 16500C system, echo a text string containing the command to the file location \system\program. In order to send commands to the HP 16500C system parser, you must be connected to the system as the control user.
Programming Over LAN Copying Command Files Copying Command Files To control the HP 16500C system with longer sets of commands, you can first type the commands into an ASCII file. You then copy the file to the HP 16500 program file, at location \system\program. Files copied to this file location are passed on to the HP 16500C system’s command parser. Example An HP 16550A state/timing analyzer is installed in slot C (slot 3) of your HP 16500C mainframe.
Programming Over LAN Writing to \system\program from a Program Writing to \system\program from a Program You can send commands to the HP 16500C program file from a program running on your PC or workstation. The basic procedure is to open the program file and send text strings containing the commands to the file. In C, you can use the fwrite or putstr commands to write text strings to the program file. Your operating system may buffer the commands before sending them to the HP 16500C system.
Programming Over LAN Writing to \system\program from a Program Example The following example in C opens the \system\program file and sends several commands and queries. Responses to queries appear as text strings in \system\program. The HP 16500C has been NFS-mounted in the \users directory. #include #include
Programming Over LAN Writing to \system\program from a Program /*Send command strings to the HP16500*/ file = fopen("/users/system/program", "w"); putstr(file, "*rst\n"); putstr(file, ":sel 4\n"); putstr(file, ":mach1:twav:range 1 s\n"); putstr(file, ":start\n"); putstr(file, ":mach1:twav:range 100 ns\n"); fclose(file); sleep(2); file = fopen("/users/system/program", "r"); while (getstr(file, receive_str) == 0); fclose(file); printf("%s\n", receive_str); } 4–10
Programming Over LAN Sending Commands to the HP 16500C Socket Sending Commands to the HP 16500C Socket If you are programming in C, you can use a socket to communicate with the HP 16500 system. By opening a socket connection, you can send program commands directly to the command parser. The HP 16500C system socket port identification number is 5025. You can also connect directly to the parser socket and type commands directly to the HP 16500. The second example uses telnet to connect to the parser socket.
Programming Over LAN Sending Commands to the HP 16500C Socket /* Create an endpoint for communication */ sockfd = socket( AF_INET, SOCK_STREAM, 0 ); /* Initiate a connection on the created socket */ connect( sockfd, ( tdSOCKET_ADDR * )&serv_addr, sizeof ( serv_addr ) ); /* Send a message from the created socket */ send ( sockfd, cmdString, strlen ( cmdString ), 0 ); /* Receive a message from the 16500 socket */ recv ( sockfd, receiveBuffer, sizeof( receiveBuffer ),0 ); printf ( "%s\n", receiveBuffer ); clo
Programming Over LAN Lockout Command Lockout Command To lockout the front-panel controls, use the SYSTem command LOCKout. When this function is on, all controls (except the power switch) are entirely locked out. Local control can only be restored by sending the :LOCKout OFF command. Hint Cycling the power will also restore local control, but this will reset the Logic Analysis System to the power-on defaults and purges any acquired data in the acquisition memory of all the installed modules.
4–14
5 Programming and Documentation Conventions
Introduction This chapter covers the programming conventions used in programming the instrument, as well as the documentation conventions used in this manual. This chapter also contains a detailed description of the command tree and command tree traversal.
Programming and Documentation Conventions Truncation Rule Truncation Rule The truncation rule for the keywords used in headers and parameters is: • If the long form has four or fewer characters, there is no change in the short form. When the long form has more than four characters the short form is just the first four characters, unless the fourth character is a vowel. In that case only the first three characters are used. There are some commands that do not conform to the truncation rule by design.
Programming and Documentation Conventions Infinity Representation Infinity Representation The representation of infinity is 9.9E+37 for real numbers and 32767 for integers. This is also the value returned when a measurement cannot be made. Sequential and Overlapped Commands IEEE 488.2 makes the distinction between sequential and overlapped commands. Sequential commands finish their task before the execution of the next command starts.
Programming and Documentation Conventions Notation Conventions and Definitions on the entry line. Any combination of commands and arguments that can be generated by following the lines in the proper direction is syntactically correct. An argument is optional if there is a path around it. When there is a rectangle which contains the word "space," a white space character must be entered. White space is optional in many other places.
Programming and Documentation Conventions The Command Tree The Command Tree The command tree (figure 5-1) shows all commands in the HP 16500C Logic Analysis System and the relationship of the commands to each other. You should notice that the common commands are not actually connected to the other commands in the command tree. After a (linefeed - ASCII decimal 10) has been sent to the instrument, the parser will be set to the root of the command tree. Parameters are not shown in this figure.
Programming and Documentation Conventions The Command Tree Figure 5-1 HP 16500C Command Tree 5–7
Programming and Documentation Conventions Tree Traversal Rules Tree Traversal Rules Command headers are created by traversing down the command tree. A legal command header from the command tree in figure 5-1 would be :MMEMORY:INITIALIZE. This is referred to as a compound header. As shown on the tree, branches are always preceded by colons. Do not add spaces around the colons.
Programming and Documentation Conventions Tree Traversal Rules Example In the first line of this example, the subsystem selector is implied for the STORE command in the compound command. The STORE command must be in the same program message as the INITIALIZE command, since the will place the parser back at the root of the command tree.
Programming and Documentation Conventions Command Set Organization Command Set Organization The command set for the HP 16500C Logic Analysis System mainframe is divided into 6 separate groups as shown in figure 5-1. The command groups are: common commands, mainframe commands, and 4 sets of subsystem commands. In addition to the command tree in figure 5-1, a command to subsystem cross-reference is shown in table 5-1. Each of the 6 groups of commands is described in a separate chapter in Part 2, "Commands.
Programming and Documentation Conventions Subsystems Table 5-1 Alphabetic Command Cross-Reference Command *CLS *ESE *ESR *IDN *IST *OPC *OPT *PRE *RST *SRE *STB *TRG *TST *WAI ALL AUToload AVAILable BEEPer BITS CAPability CARDcage CATalog CD CESE CESR COPY CURSTate Subsystem Common Common Common Common Common Common Common Common Common Common Common Common Common Common TGTctrl MMEMory TGTctrl Mainframe TGTctrl Mainframe Mainframe MMEMory MMEMory Mainframe Mainframe MMEMory TGTctrl Command DATA DELete D
Programming and Documentation Conventions Program Examples Program Examples The program examples in chapter 15, "Programming Examples," were written on an HP 9000 Series 300 controller using the HP BASIC 6.2 language. The programs always assume a generic address for the HP 16500C Logic Analysis System of 707. The shorter examples given in the reference sections use a generic address of XXX. In the examples, you should pay special attention to the ways in which the command and/or query can be sent.
6 Message Communication and System Functions
Introduction This chapter describes the operation of instruments that operate in compliance with the IEEE 488.2 (syntax) standard. It is intended to give you enough basic information about the IEEE 488.2 Standard to successfully program the Logic Analysis System. You can find additional detailed information about the IEEE 488.2 Standard in ANSI/IEEE Std 488.2-1987, IEEE Standard Codes, Formats, Protocols, and Common Commands.
Message Communication and System Functions Protocols Protocols The protocols of IEEE 488.2 define the overall scheme used by the controller and the instrument to communicate. This includes defining when it is appropriate for devices to talk or listen, and what happens when the protocol is not followed. Functional Elements Before proceeding with the description of the protocol, a few system components should be understood.
Message Communication and System Functions Protocols Protocol Overview The instrument and controller communicate using program messages and response messages. These messages serve as the containers into which sets of program commands or instrument responses are placed. Program messages are sent by the controller to the instrument, and response messages are sent from the instrument to the controller in response to a query message.
Message Communication and System Functions Syntax Diagrams Protocol Exceptions If an error occurs during the information exchange, the exchange may not be completed in a normal manner. Some of the protocol exceptions are shown below. Command Error A command error will be reported if the instrument detects a syntax error or an unrecognized command header.
Message Communication and System Functions Syntax Diagrams Figure 6-1 Example syntax diagram 6–6
Message Communication and System Functions Syntax Overview Syntax Overview This overview is intended to give a quick glance at the syntax defined by IEEE 488.2. It will help you understand many of the things about the syntax you need to know. IEEE 488.2 defines the blocks used to build messages which are sent to the instrument. A whole string of commands can therefore be broken up into individual components.
Message Communication and System Functions Syntax Overview Figure 6-2 Parse Tree 6–8
Message Communication and System Functions Syntax Overview Upper/Lower Case Equivalence Upper and lower case letters are equivalent. The mnemonic SINGLE has the same semantic meaning as the mnemonic single. is defined to be one or more characters from the ASCII set of 0 – 32 decimal, excluding 10 decimal (NL). is used by several instrument listening components of the syntax. It is usually optional, and can be used to increase the readability of a program.
Message Communication and System Functions Syntax Overview Suffix Unit The suffix units that the instrument will accept are shown in table 6-2. Table 6-2 Example Suffix Referenced Unit V Volt S Second To specify 3 ns, you might enter 3NS or 3E-9 S in your program.
7 Status Reporting
Introduction Status reporting allows you to use information about the instrument in your programs, so that you have better control of the measurement process. For example, you can use status reporting to determine when a measurement is complete, thus controlling your program, so that it does not get ahead of the instrument. This chapter describes the status registers, status bytes and status bits defined by IEEE 488.2 and discusses how they are implemented in the HP 16500C Logic Analysis System.
Status Reporting Figure 7-1 Status Byte Structures and Concepts 7–3
Status Reporting Event Status Register Event Status Register The Event Status Register is an IEEE 488.2 defined register. The bits in this register are "latched." That is, once an event happens which sets a bit, that bit will only be cleared if the register is read. Service Request Enable Register The Service Request Enable Register is an 8-bit register. Each bit enables the corresponding bit in the status byte to cause a service request.
Status Reporting Bit Definitions MSG - message Indicates whether there is a message in the message queue (Not implemented in the HP 16500C Logic Analysis System). PON - power on Indicates power has been turned on. URQ - user request Always returns a 0 from the HP 16500C Logic Analysis System. CME - command error Indicates whether the parser detected an error. EXE - execution error Indicates whether a parameter was out of range, or inconsistent with current settings.
Status Reporting Key Features LCL - remote to local Indicates whether a remote to local transition has occurred. MSB - module summary bit Indicates that an enable event in one of the module Status registers has occurred. Key Features A few of the most important features of Status Reporting are listed in the following paragraphs. Operation Complete The IEEE 488.2 structure provides one technique that can be used to find out if any operation is finished.
Status Reporting Key Features Figure 7-2 Service Request Enabling 7–7
Status Reporting Serial Poll Serial Poll The HP 16500C Logic Analysis System supports the IEEE 488.1 serial poll feature. When a serial poll of the instrument is requested, the RQS bit is returned on bit 6 of the status byte. Using Serial Poll (HP-IB) This example will show how to use the service request by conducting a serial poll of all instruments on the HP-IB bus. In this example, assume that there are two instruments on the bus: the Logic Analysis System at address 7 and a printer at address 1.
Status Reporting Parallel Poll After the serial poll is completed, the RQS bit in the Status Byte Register of the HP 16500C Logic Analysis System will be reset if it was set. Once a bit in the Status Byte Register is set, it will remain set until the status is cleared with a *CLS command, or the instrument is reset. Parallel Poll Parallel poll is a controller-initiated operation which is used to obtain information from several devices simultaneously.
Status Reporting Parallel Poll Figure 7-3 Parallel Poll Data Structure 7–10
Status Reporting Polling HP-IB Devices Polling HP-IB Devices Parallel poll is the fastest means of gathering device status when several devices are connected to the bus. Each device (with this capability) can be programmed to respond with one bit of status when parallel polled. This makes it possible to obtain the status of several devices in one operation.
Status Reporting Conducting a Parallel Poll The value of Mask (any numeric expression can be specified) is first rounded and then used to configure the device’s parallel response. The least significant 3 bits (bits 0 through 2) of the expression are used to determine which data line the device is to respond on (place its status on). Bit 3 specifies the "true" state of the parallel poll response bit of the device. A value of 0 implies that the device’s response is 0 when its status bit message is true.
Status Reporting Disabling Parallel Poll Responses Disabling Parallel Poll Responses The PPU (Parallel Poll Unconfigure) statement gives the controller the capability of disabling the parallel poll responses of one or more devices on the bus.
Status Reporting HP-IB Commands Parallel Poll Enable Command The parallel poll enable secondary command (PPE) configures the devices which have received the PPC command to respond to a parallel poll on a particular HP-IB DIO line with a particular level. Parallel Poll Disable Command The parallel poll disable secondary command (PPD) disables the devices which have received the PPC command from responding to the parallel poll.
8 Error Messages
Introduction This chapter lists the error messages that relate to the HP 16500C Logic Analysis System.
Error Messages Device Dependent Errors Device Dependent Errors 200 201 202 203 300 Label not found Pattern string invalid Qualifier invalid Data not available RS-232-C error Command Errors –100 –101 –110 –111 –120 –121 –123 –129 –130 –131 –132 –133 –134 –139 –142 –143 –144 Command error (unknown command)(generic error) Invalid character received Command header error Header delimiter error Numeric argument error Wrong data type (numeric expected) Numeric overflow Missing numeric argument Nonnumeric argum
Error Messages Execution Errors Execution Errors –200 –201 –202 –203 –211 –212 –221 Can not do (generic execution error) Not executable in local mode Settings lost due to return-to-local or power on Trigger ignored Legal command, but settings conflict Argument out of range Busy doing something else –222 –232 –240 –241 –242 –243 –244 –245 –246 –247 –248 Insufficient capability or configuration Output buffer full or overflow Mass Memory error (generic) Mass storage device not present No media Bad media Me
Error Messages Query Errors –320 –321 –322 –330 –340 –350 ROM error ROM checksum Hardware and firmware incompatible Power on test failed Self Test failed Too many errors (error queue overflow) Query Errors –400 –410 –420 –421 –422 –430 Query error (generic) Query interrupted Query unterminated Query received.
8–6
Part 2 9 10 11 12 13 14 Common Commands 9-1 Mainframe Commands 10-1 SYSTem Subsystem 11-1 MMEMory Subsystem 12-1 INTermodule Subsystem 13-1 TGTctrl Subsystem 14-1 Commands
9 Common Commands
Introduction The common commands are defined by the IEEE 488.2 standard. These commands must be supported by all instruments that comply with this standard. Refer to figure 9-1 and table 9-1 for the common commands syntax diagram. The common commands control some of the basic instrument functions such as instrument identification and reset, how status is read and cleared, and how commands and queries are received and processed by the instrument.
Common Commands Example This program message initializes the disk, selects the module in slot A, then stores the file. In this example, :MMEMORY must be sent again in order to re-enter the memory subsystem and store the file. ":MMEMORY:INITIALIZE;:SELECT 1;:MMEMORY:STORE ’FILE ’DESCRIPTION’" ’, Status Registers Each status register has an associated status enable (mask) register. By setting the bits in the status enable register you can select the status information you wish to use.
Common Commands Figure 9-1 Common Commands Syntax Diagram 9–4
Common Commands *CLS (Clear Status) Table 9-1 Common Command Parameter Values Parameter mask pre_mask Values An integer, 0 through 255. An integer, 0 through 65535. *CLS (Clear Status) Command *CLS The *CLS common command clears all event status registers, queues, and data structures, including the device defined error queue and status byte. If the *CLS command immediately follows a program message terminator, the output queue and the MAV (Message Available) bit will be cleared.
Common Commands *ESE (Event Status Enable) *ESE (Event Status Enable) Command *ESE The *ESE command sets the Standard Event Status Enable Register bits. The Standard Event Status Enable Register contains a bit to enable the status indicators detailed in table 9-2. A 1 in any bit position of the Standard Event Status Enable Register enables the corresponding status in the Standard Event Status Register.
Common Commands *ESR (Event Status Register) Table 9-2 Standard Event Status Enable Register Bit Position 7 6 5 4 3 2 1 0 Bit Weight 128 64 32 16 8 4 2 1 Enables PON - Power On URQ - User Request CME - Command Error EXE - Execution Error DDE - Device Dependent Error QYE - Query Error RQC - Request Control OPC - Operation Complete *ESR (Event Status Register) Query *ESR? The *ESR query returns the contents of the Standard Event Status Register.
Common Commands *ESR (Event Status Register) Table 9-3 shows the Standard Event Status Register. The table details the meaning of each bit position in the Standard Event Status Register and the bit weight. When you read Standard Event Status Register, the value returned is the total bit weight of all the bits that are high at the time you read the byte.
Common Commands *IDN (Identification Number) *IDN (Identification Number) Query *IDN? The *IDN? query allows the instrument to identify itself. It returns the string: "HEWLETT-PACKARD,16500C,0,REV " An *IDN? query must be the last query in a message. Any queries after the *IDN? in the program message are ignored. Returned Format Example HEWLETT-PACKARD,16500C,0,REV Four digit-code in the format XX.XX representing the current ROM revision.
Common Commands *IST (Individual Status) Figure 9-2 *IST Data Structure 9–10
Common Commands *OPC (Operation Complete) *OPC (Operation Complete) Command *OPC The *OPC command will cause the instrument to set the operation complete bit in the Standard Event Status Register when all pending device operations have finished. The commands which affect this bit are the overlapped commands. An overlapped command is a command that allows execution of subsequent commands while the device operations initiated by the overlapped command are still in progress.
Common Commands *OPT (Option Identification) *OPT (Option Identification) Query *OPT? The *OPT query identifies the software installed in the HP 16500C. This query returns nine parameters. The first parameter indicates whether you are in the System. The next two parameters indicate any software options installed, and the next parameter indicates whether intermodule is available for the System.
Common Commands *PRE (Parallel Poll Enable Register Enable) *PRE (Parallel Poll Enable Register Enable) Command *PRE The *PRE command sets the parallel poll register enable bits. The Parallel Poll Enable Register contains a mask value that is ANDed with the bits in the Status Bit Register to enable an IST during a parallel poll. Refer to table 9-4 for the bits in the Parallel Poll Enable Register and for what they mask. Example An integer from 0 to 65535.
Common Commands *RST (Reset) Table 9-4 HP 16500C Parallel Poll Enable Register Bit Position 15 -8 7 6 5 4 3 2 1 0 Bit Weight 128 64 32 16 8 4 2 1 Enables Not used Not used MSS - Master Summary Status ESB - Event Status MAV - Message Available LCL - Local Not used Not used MSB - Module Summary *RST (Reset) The *RST command is not implemented on the HP 16500C. The HP 16500C will accept this command, but the command has no affect on the system.
Common Commands *SRE (Service Request Enable) *SRE (Service Request Enable) Command *SRE The *SRE command sets the Service Request Enable Register bits. The Service Request Enable Register contains a mask value for the bits to be enabled in the Status Byte Register. A one in the Service Request Enable Register will enable the corresponding bit in the Status Byte Register. A zero will disable the bit. Refer to table 9-5 for the bits in the Service Request Enable Register and what they mask.
Common Commands *STB (Status Byte) Table 9-5 HP 16500C Service Request Enable Register Bit Position 15-8 7 6 5 4 3 2 1 0 Bit Weight 128 64 32 16 8 4 2 1 Enables not used not used MSS - Master Summary Status (always 0) ESB - Event Status MAV - Message Available LCL- Local not used not used MSB - Module Summary *STB (Status Byte) Query *STB? The *STB query returns the current value of the instrument’s status byte.
Common Commands *TRG (Trigger) Table 9-6 The Status Byte Register Bit Position 7 6 Bit Weight 128 64 Bit Name MSS 5 32 ESB 4 16 MAV 3 8 LCL 2 1 0 4 2 1 MSB Condition not used 0 = instrument has no reason for service 1 = instrument is requesting service 0 = no event status conditions have occurred 1 = an enabled event status condition has occurred 0 = no output messages are ready 1 = an output message is ready 0 = a remote-to-local transition has not occurred 1 = a remote-to-local transition
Common Commands *TST (Test) *TST (Test) Query *TST? The *TST query returns the results of the power-up self-test. The result of that test is a 9-bit mapped value which is placed in the output queue. A one in the corresponding bit means that the test failed and a zero in the corresponding bit means that the test passed. Refer to table 9-7 for the meaning of the bits returned by a TST? query.
Common Commands *WAI (Wait) *WAI (Wait) Command *WAI The *WAI command causes the device to wait until completing all of the overlapped commands before executing any further commands or queries. An overlapped command is a command that allows execution of subsequent commands while the device operations initiated by the overlapped command are still in progress. Some examples of overlapped commands for the HP 16500C are STARt and STOP.
9–20
10 Mainframe Commands
Introduction Mainframe commands control the basic operation of the instrument for both the HP 16500C mainframe alone or with the HP 16501A expansion frame connected. Mainframe commands can be called at anytime, and from any module. The only difference in mainframe commands with an HP 16501A connected is the number of slots and modules. These differences will be noted in the affected command descriptions.
Mainframe Commands Figure 10-1 Mainframe Commands Syntax Diagram 10–3
Mainframe Commands Figure 10-1 (continued) Mainframe Commands Syntax Diagram (continued) 10–4
Mainframe Commands Table 10-1 Mainframe Parameter Values Parameter value module menu enable_value index day month year hour minute second color hue sat lum display name Values An integer from 0 to 65535 An integer from –2 through 5 for an HP 16500C alone or from –2 through 10 with an HP 16501A connected An integer An integer from 0 to 255 An integer from 0 to 5 for an HP 16500C alone or from 0 to 10 with an HP 16501A connected An integer from 1 through 31 An integer from 1 through 12 An integer from 1990
Mainframe Commands BEEPer BEEPer Command :BEEPer [{ON|1}|{OFF|0}] The BEEPer command sets the beeper mode, which turns the beeper sound of the instrument on and off. When BEEPer is sent with no argument, the beeper will be sounded without affecting the current mode. Example OUTPUT XXX;":BEEPER" OUTPUT XXX;":BEEP ON" Query :BEEPer? The BEEPer? query returns the mode currently selected.
Mainframe Commands CAPability CAPability Query :CAPability? The CAPability query returns the IEEE 488.1 "Interface Requirements for Devices" capability sets implemented in the device. Table 10-2 lists the capability sets implemented in the HP 16500C.
Mainframe Commands CARDcage CARDcage Query :CARDcage? The CARDcage query returns a series of integers which identify the modules that are installed in the mainframe. For an HP 16500C alone, the first five numbers returned are the card identification numbers (–1 means no card is in the slot). The remaining five numbers returned indicate the module assignment (that is, the slot containing the master card of the module) for each card.
Mainframe Commands CARDcage Table 10-3 Card Identification Numbers Id Number 1 2 4 5 11 12 13 14 15 21 22 24 25 30 31 32 33 34 35 40 41 42 43 Card HP 16515A 1GHz Timing Master Card HP 16516A 1GHz Timing Expansion Card HP 16517A 4GHz Timing/1GHz State Analyzer Master Card HP 16518A 4GHz Timing/1GHz State Analyzer Expansion Card HP 16530A 400 MSa/s Oscilloscope Timebase Card HP 16531A Oscilloscope Acquisition Card HP 16532A 1GSa/s Oscilloscope Card HP 16533A or HP 16534A 32K GSa/s Oscilloscope Card HP 1653
Mainframe Commands CESE (Combined Event Status Enable) CESE (Combined Event Status Enable) Command :CESE The CESE command sets the Combined Event Status Enable register. This register is the enable register for the CESR register and contains the combined status of all of the MESE (Module Event Status Enable) registers of the HP 16500C. Table 10-4 lists the bit values for the CESE register.
Mainframe Commands CESR (Combined Event Status Register) Table 10-4 HP 16500C Combined Event Status Enable Register Bit 11-15 10 9 8 7 6 5 4 3 2 1 0 Weight 1024 512 256 128 64 32 16 8 4 2 1 Enables not used Module in slot J Module in slot I Module in slot H Module in slot G Module in slot F Module in slot E Module in slot D Module in slot C Module in slot B Module in slot A Intermodule CESR (Combined Event Status Register) Query :CESR? The CESR query returns the contents of the Combined Event Status r
Mainframe Commands CESR (Combined Event Status Register) Table 10-5 HP 16500C Combined Event Status Register Bit 11-15 10 Bit Weight Bit Name 1024 Module J 9 512 Module I 8 256 Module H 7 128 Module G 6 64 Module F 5 32 Module E 4 16 Module D 3 8 Module C 2 4 Module B 1 2 Module A 0 1 Intermodule 10–12 Condition not used 0 = No new status 1 = Status to report 0 = No new status 1 = Status to report 0 = No new status 1 = Status to report 0 = No new status 1 = Status to re
Mainframe Commands EOI (End Or Identify) EOI (End Or Identify) Command :EOI {{ON|1}|{OFF|0}} The EOI command specifies whether the last byte of a reply from the HP 16500C is to be sent with the EOI bus control line set true. If EOI is turned off, the logic analyzer responses will not be IEEE 488.2 compliant. Example OUTPUT XXX;":EOI ON" Query :EOI? The EOI? query returns the current status of EOI.
Mainframe Commands LOCKout LOCKout Command :LOCKout {{ON|1}|{OFF|0}} The LOCKout command locks out or restores front panel operation. When this function is on, all controls (except the power switch) are entirely locked out. Example OUTPUT XXX;":LOCKOUT ON" Query :LOCKout? The LOCKout query returns the current status of the LOCKout command.
Mainframe Commands MENU MENU Command :MENU [,
Mainframe Commands MESE (Module Event Status Enable) Table 10-7 System Menu Values Menu Command Parameters MENU 0,0 MENU 0,1 MENU 0,2 MENU 0,3 MENU 0,4 MENU 0,5 Query Menu System Configuration menu Hard disk menu Flexible disk menu Utilities menu Test menu Intermodule menu :MENU? The MENU query returns the current menu selection.
Mainframe Commands MESE (Module Event Status Enable) Example OUTPUT XXX;":MESE1 3" Query :MESE? The query returns the current setting. Table 10-8 lists the Module Event Status Enable register bits, bit weights, and what each bit masks for the mainframe.
Mainframe Commands MESR (Module Event Status Register) MESR (Module Event Status Register) Query :MESR? The MESR query returns the contents of the Module Event Status register. The index specifies the module. For the HP 16500C alone, the index 0 through 5 refers to system and modules 1 through 5 respectively. With an HP 16501A connected, the index 6 through 10 refers to modules 6 through 10 respectively.
Mainframe Commands RMODe RMODe Command :RMODe {SINGle|REPetitive} The RMODe command specifies the run mode for the selected module (or Intermodule). If the selected module is in the intermodule configuration, then the intermodule run mode will be set by this command. After specifying the run mode, use the STARt command to start the acquisition. Example OUTPUT XXX;":RMODE SINGLE" Query :RMODe? The query returns the current setting.
Mainframe Commands RTC (Real-time Clock) RTC (Real-time Clock) Command :RTC ,,,,, The real-time clock command allows you to set the real-time clock to the current date and time. integer from 1 to 31 integer from 1 to 12 integer from 1990 to 2089 integer from 0 to 23 integer from 0 to 59 integer from 0 to 59 Example This example sets the real-time clock for 1 January 1992, 20:00:00 (8 PM).
Mainframe Commands SELect SELect Command :SELect The SELect command selects which module (or system) will have parser control. The appropriate module (or system) must be selected before any module (or system) specific commands can be sent. SELECT 0 selects System, SELECT 1 through 5 selects modules A through E in an HP 16500C only. SELECT 1 through 10 selects modules A through J when an HP 16501A is connected. –1 and –2 selects software options 1 and 2 respectively.
Mainframe Commands SELect Figure 10-2 Only available when an HP 16501A is connected Select Command Tree 10–22
Mainframe Commands SETColor SETColor Command :SETColor {,,,|DEFault} The SETColor command is used to change one of the color selections on the CRT, or to return to the default screen colors.
Mainframe Commands STARt Query :SETColor? The SETColor query returns the hue, saturation, and luminosity values for a specified color. Returned Format [:SETColor] ,,, Example OUTPUT XXX;":SETCOLOR? 3" STARt Command :STARt The STARt command starts the selected module (or Intermodule) running in the specified run mode (see RMODe). If the specified module is in the Intermodule configuration, then the Intermodule run will be started.
Mainframe Commands STOP STOP Command :STOP The STOP command stops the selected module (or Intermodule). If the specified module is in the Intermodule configuration, then the Intermodule run will be stopped. The STOP command is an overlapped command. An overlapped command is a command that allows execution of subsequent commands while the device operations initiated by the overlapped command are still in progress.
Mainframe Commands XWINdow XWINdow Command :XWINdow {{OFF|0} | {ON|1}[,]} The XWINdow command opens or closes a window on an X Window display server, that is, a networked workstation or personal computer. The XWINdow ON command opens a window. If no display is specified, the display already stored in the HP 16500C X Window Settings menu is used. If a display is specified, that one is used. The specified display also is stored in non-volatile memory in the HP 16500C.
11 SYSTem Subsystem
Introduction SYSTem subsystem commands control functions that are common to the entire logic analysis system, including formatting query responses and enabling reading and writing to the advisory line on the display of the HP 16500C mainframe. Refer to figure 11-1 and table 11-1 for the SYSTem Subsystem commands syntax diagram.
SYSTem Subsystem Figure 11-1 System Subsystem Commands Syntax Diagram 11–3
SYSTem Subsystem Table 11-1 SYSTem Parameter Values Parameter block_data string pathname 11–4 Values Data in IEEE 488.2 format. A string of up to 68 alphanumeric characters. A string of up to 10 alphanumeric characters for LIF in the following form: NNNNNNNNNN or A string of up to 64 alphanumeric characters for DOS in one of the following forms: NNNNNNNN.
SYSTem Subsystem DATA DATA Command :SYSTem:DATA The DATA command allows you to send and receive acquired data to and from a controller in block form. This helps saving block data for: • Reloading the logic analysis system • Processing data later in the logic analysis system • Processing data in the controller. The format and length of block data depends on the instruction being used and the configuration of the instrument.
SYSTem Subsystem DSP (Display) Query :SYSTem:DATA? The SYSTem:DATA query returns the block data. The data sent by the SYSTem:DATA query reflects the configuration of the selected module when the last acquisition was performed. Any changes made since then through either front-panel operations or programming commands do not affect the stored data. Since the mainframe does not acquire data, refer to the appropriate module Programmer’s Guide for more details.
SYSTem Subsystem ERRor ERRor Query :SYSTem:ERRor? [NUMeric|STRing] The ERRor query returns the oldest error from the error queue. The optional parameter determines whether the error string should be returned along with the error number. If no parameter is received, or if the parameter is NUMeric, then only the error number is returned.
SYSTem Subsystem HEADer HEADer Command :SYSTem:HEADer {{ON|1}|{OFF|0}} The HEADer command tells the instrument whether or not to output a header for query responses. When HEADer is set to ON, query responses will include the command header. Example OUTPUT XXX;":SYSTEM:HEADER ON" Query :SYSTem:HEADer? The HEADer query returns the current state of the HEADer command.
SYSTem Subsystem LONGform LONGform Command :SYSTem:LONGform {{ON|1}|{OFF|0}} The LONGform command sets the long form variable, which tells the instrument how to format query responses. If the LONGform command is set to OFF, command headers and arguments are sent from the instrument in the abbreviated form. If the LONGform command is set to ON, the whole word will be output. This command has no affect on the input data messages to the instrument.
SYSTem Subsystem PRINt PRINt Commands :SYSTem:PRINt ALL[,DISK, [,]] :SYSTem:PRINt PARTial,, [,DISK, [,]] :SYSTem:PRINt SCReen[,DISK, [,], {BTIF|CTIF|PCX|EPS}] The PRINt command initiates a print of the screen or listing buffer over the current PRINTER communication interface to the printer or to a file on the disk. PRINt ALL is only available in menus with an ASCII representation. PRINt SCReen allows you to specify a graphics type.
SYSTem Subsystem PRINt Example This instruction prints the screen to the printer: OUTPUT XXX;":SYSTEM:PRINT SCREEN" This instruction prints the entire state listing to a file named STATE: OUTPUT 707;":SYSTEM:PRINT ALL, DISK,’STATE’" This instruction prints part of a listing to disk: OUTPUT XXX;":SYSTEM:PRINT PARTIAL,-9,30,DISK, ’LISTING’,INT0" This instruction prints a black-and-white TIF file to the hard drive: OUTPUT XXX;":SYSTEM:PRINT SCREEN, DISK, ’PICTURE’, INT0, BTIF" Query :SYSTem:PRINt? {SCRe
SYSTem Subsystem SETup SETup Command :SYSTem:SETup The :SYSTem:SETup command configures the logic analysis system as defined by the block data sent by the controller. This chapter describes briefly the syntax of the Setup command and query for the mainframe. Because of the capabilities and importance of the Setup command and query for individual modules, a complete chapter is dedicated to it in each of the module Programmer’s Guides. The dedicated chapter is called "DATA and SETup Commands.
SYSTem Subsystem SETup Query :SYSTem:SETup? The SYSTem:SETup query returns a block of data that contains the current configuration to the controller. Returned Format [:SYSTem:SETup] Example See the Programmer’s Guide for the selected module for an example.
11–14
12 MMEMory Subsystem
Introduction The MMEMory (mass memory) subsystem commands provide access to both the hard and flexible disk drives. The HP 16500C Logic Analysis System supports the DOS (Disk Operating System) format on the hard drive and both DOS and LIF (Logical Information Format) on the flexible drive. Refer to figure 12-1 and table 12-1 for the MMEMory Subsystem commands syntax diagram.
MMEMory Subsystem Figure 12-1 MMEMory Subsystem Commands Syntax Diagram 12–3
MMEMory Subsystem Figure 12-1 (Continued) MMEMory Subsystem Commands Syntax Diagram (Continued) 12–4
MMEMory Subsystem Figure 12-1 (Continued) MMEMory Subsystem Commands Syntax Diagram (Continued) 12–5
MMEMory Subsystem Table 12-1 MMEMory Parameter Values Parameter Values auto_file A string of up to 10 alphanumeric characters for LIF in the following form: "NNNNNNNNNN" or A string of up to 12 alphanumeric characters for DOS in the following form: "NNNNNNNN.NNN" msus Mass Storage Unit specifier. INTernal0 for the hard disk drive and INTernal1 for the flexible disk drive.
MMEMory Subsystem AUToload AUToload Command :MMEMory:AUToload {{OFF|0}|{}}[,] The AUToload command controls the autoload feature which designates a set of configuration files to be loaded automatically the next time the instrument is turned on. The OFF parameter (or 0) disables the autoload feature. A string parameter may be specified instead to represent the desired autoload file. If the file is on the current drive, the autoload feature is enabled to the specified file.
MMEMory Subsystem CATalog CATalog Query :MMEMory:CATalog? [[ALL|FULL][,]] The FULL option is available with version 1.01 or higher of the HP 16500C operating system only. Version 1.00 does not recognize this option. The CATalog query returns the directory of the disk in one of three block data formats. When no options are used, the directory consists of a string of 51 characters for each file on the disk.
MMEMory Subsystem CD (Change Directory) CD (Change Directory) Command :MMEMory:CD [,] The CD command allows you to change the current working directory on the hard disk or a DOS flexible disk. The command allows you to send path names of up to 64 characters for DOS format. Separators can be either the slash (/) or backslash (\) character. Both the slash and backslash characters are equivalent and are used as directory separators. The string containing double periods (..
MMEMory Subsystem COPY COPY Command :MMEMory:COPY [,],[,] The COPY command copies one file to a new file. Wildcards are supported. The two parameters are the filenames. The first pair of parameters specifies the source file. The second pair specifies the destination. An error is generated if the source file doesn’t exist, or if the destination file already exists. The destination may be a directory, in which case the new file name is the same as the source file name.
MMEMory Subsystem DOWNload Example To copy the contents of "FILE1" to "FILE2": OUTPUT XXX;":MMEMORY:COPY ’FILE1’,’FILE2’" To copy the contents of "FILE1" on the hard disk to "FILE2" on the flexible disk: OUTPUT XXX;":MMEMORY:COPY ’FILE1’,INTERNAL0,’FILE2’,INTERNAL1" To copy the contents of a LIF flexible disk to the hard disk: OUTPUT XXX;":MMEM:COPY ’*’,INT1,’\’,INT0" DOWNload Command :MMEMory:DOWNload [,],, , The DOWNload command downloads data to a file on
MMEMory Subsystem DOWNload Example OUTPUT XXX;":MMEMORY:DOWNLOAD ’SETUP QUERY’,-16127,#800000643...
MMEMory Subsystem IDENtify IDENtify Command :MMEMory:IDENtify? [] The IDENtify query is available with version 1.01 or higher of the HP 16500C operating system only. Version 1.00 does not recognize this query. The IDENtify query returns the serial number of the disk in the specified drive. This number is unique for disks created with DOS version 4.0 or higher. For other disks, the number returned is usually 0.
MMEMory Subsystem INITialize INITialize Command :MMEMory:INITialize [{LIF|DOS}[,]] The INITialize command formats the disk in DOS (Disk Operating System) on the hard drive or either DOS or LIF (Logical Information Format) on the flexible drive. If no format is specified, then the initialize command will format the disk in the DOS format. LIF format is not allowed on the hard drive. Example Mass Storage Unit specifier.
MMEMory Subsystem LOAD[:CONFig] LOAD[:CONFig] Command :MMEMory:LOAD[:CONfig] [,][,] The LOAD command loads a configuration file from the disk into the modules, software options, or the system. The parameter specifies the filename from the disk. The optional parameter specifies which module(s) to load the file into. The accepted values are –2 through 10.
MMEMory Subsystem LOAD :IASSembler LOAD :IASSembler Command :MMEMory:LOAD:IASSembler [,],{1|2} [,] This variation of the LOAD command allows inverse assembler files to be loaded into a module that performs state analysis. The parameter specifies the inverse assembler filename from the desired . The parameter after the optional specifies which machine to load the inverse assembler into.
MMEMory Subsystem MKDir (Make Directory) MKDir (Make Directory) Command :MMEMory:MKDir [,] The MKDir command allows you to make a directory on the hard drive or a DOS disk in the flexible drive. Directories cannot be made on LIF disks. Make directory will make a directory under the present working directory on the current drive if the optional path is not specified. Separators can be either the slash (/) or backslash (\) character.
MMEMory Subsystem MSI (Mass Storage Is) MSI (Mass Storage Is) Command :MMEMory:MSI [] The MSI command selects a default mass storage device. INTernal0 selects the hard disk drive and INTernal1 selects the flexible disk drive. Once the MSI is selected it remains the default drive until another MSI command is sent to the system. Mass Storage Unit specifier. INTernal0 for the hard disk drive and INTernal1 for the flexible disk drive.
MMEMory Subsystem PACK PACK Command :MMEMory:PACK [] The PACK command packs the files on the LIF disk the disk in the drive. If a DOS disk is in the drive when the PACK command is sent, no action is taken. Example Mass Storage Unit specifier. INTernal0 for the hard disk drive and INTernal1 for the flexible disk drive.
MMEMory Subsystem PURGe PURGe Command :MMEMory:PURGe [,] The PURGe command deletes files and directories from the disk in the specified drive. The PURge command only purges directories when the directory is empty. If the PURge command is sent with a directory name and the directory contains files, the message "Directory contains files" is displayed and the command is ignored. The parameter specifies the file name to be deleted.
MMEMory Subsystem PWD (Present Working Directory) PWD (Present Working Directory) Query :MMEMory:PWD? [] The PWD query returns the present working directory for the specified drive. If the option is not sent, the present working directory will be returned for the current drive. Returned Format Example [:MMEMory:PWD] , String of up to 64 characters with the backslash (\) as separator for DOS and LIF disks. Mass Storage Unit specifier.
MMEMory Subsystem REName REName Command :MMEMory:REName [,], The REName command renames a file on the drive. The parameter specifies the filename to be changed and the parameter specifies the new filename. You cannot use REName to move a file from one drive to the other. You cannot rename a file to an already existing filename.
MMEMory Subsystem STORe [:CONFig] STORe [:CONFig] Command :MMEMory:STORe[:CONfig] [,], [,] The STORe command stores configurations onto a disk. The [:CONFig] specifier is optional and has no effect on the command. The parameter specifies the file on the disk. The parameter describes the contents of the file. The optional parameter allows you to store the configuration for either the system or the modules.
MMEMory Subsystem UPLoad UPLoad Query :MMEMory:UPLoad? [,] The UPLoad query uploads a file. The parameter specifies the file to be uploaded from the disk. The contents of the file are sent out of the instrument in block data form. This command should only be used for HP 16550A configuration files.
MMEMory Subsystem VOLume VOLume Query :MMEMory:VOLume? [] The VOLume query returns the volume type of the disk. The volume types are DOS or LIF. Question marks (???) are returned if there is no disk, if the disk is not formatted, or if a disk has a format other than DOS or LIF. Mass Storage Unit specifier. INTernal0 for the hard disk drive and INTernal1 for the flexible disk drive. The VOLume query does not return a response header.
12–26
13 INTermodule Subsystem
Introduction The INTermodule subsystem commands specify intermodule arming from the rear-panel input BNC (ARMIN) or to the rear-panel output BNC (ARMOUT). Refer to figure 13-1 and table 13-1 for the INTermodule Subsystem commands syntax diagram.
INTermodule Subsystem Figure 13-1 Intermodule Subsystem Commands Syntax Diagram 13–3
INTermodule Subsystem Figure 13-1 (continued) Intermodule Subsystem Commands Syntax Diagram (continued) 13–4
INTermodule Subsystem :INTermodule Table 13-1 INTermodule Parameter Values Parameter module user_lev index setting Value An integer, 1 through 5 for HP 16500C alone. 1 through 10 with the HP 16501A connected. A real number from –4.0 to +5.0 volts in 0.02 volt increments An integer, 1 through 5 for HP 16500C alone. 1 through 10 with the HP 16501A connected. A numeric, – 1.0 to 1.0 in seconds.
INTermodule Subsystem DELete DELete Command :INTermodule:DELete {ALL|OUT|} The DELete command is used to remove a module, PORT OUT, or an entire intermodule tree from a Group Run. The parameter sent with the delete command refers to the slot location of the module. Example An integer, 1 through 5 for HP 16500C alone. 1 through 10 with the HP 16501A connected.
INTermodule Subsystem HTIMe HTIMe Query :INTermodule:HTIMe? The HTIMe query returns a value representing the internal hardware skew in the Intermodule configuration. If there is no internal skew, 9.9E37 is returned. The internal hardware skew is only a display adjustment for time-correlated waveforms. The value returned is the average propagation delay of the trigger lines through the intermodule bus circuitry.
INTermodule Subsystem INPort INPort Command :INTermodule:INPort {{ON|1}|{OFF|0}} The INPort command causes intermodule acquisitions to be armed from the Port In, the same as Group Run Armed from PORT IN in the Intermodule menu. A value of 0 removes Port In from the Group Run. In version 1.02 and later of the operating system software, you can set Group Run with OR TRIGGER by setting INPort to 2.
INTermodule Subsystem INSert INSert Command :INTermodule:INSert {|OUT},{GROUP|} The INSert command adds a module or PORT OUT to the Intermodule configuration. The first parameter selects the module or PORT OUT to be added to the intermodule configuration, and the second parameter tells the instrument where the module or PORT OUT will be located.
INTermodule Subsystem OUTDrive OUTDrive Command :INTermodule:OUTDrive {{0|NORMal}|{1|OPENcllctr}} The OUTDrive command sets the Port Out BNC to put out either a normal (TTL-type) or open-collector signal. This corresponds to the Output field in the PORT IN/OUT Setup menu under the Intermodule menu. See Also The HP 16500C User’s Reference for more information about open collector signals.
INTermodule Subsystem OUTType Query :INTermodule:OUTPolar? The OUTPolar query returns the current Port Out polarity setting. Returned Format [:INTermodule:OUTPolar] {1|0} Example OUTPUT XXX;":INTERMODULE:OUTPolar?" OUTType Command :INTermodule:OUTType {{0|FEEDthru} | {1|LATChed} | {2|PULse}} The OUTType command sets the Port Out BNC signal type. This command has the same effect as setting the Type field in the PORT IN/OUT Setup menu under the Intermodule menu.
INTermodule Subsystem PORTEDGE PORTEDGE Command :INTermodule:PORTEDGE This command does not obey the truncation rules. The PORTEDGE command sets the Port In BNC to respond to either a rising edge of falling edge for a trigger from an external source. The threshold level of the input signal is set by the PORTLEV command. A 1 or ON for rising edge or a 0 or OFF for falling edge.
INTermodule Subsystem PORTLEV PORTLEV Command :INTermodule:PORTLEV {TTL|ECL|} This command does not obey the truncation rules. The PORTLEV (port level) command sets the threshold level at which the input BNC responds and produces an intermodule trigger. The preset levels are TTL and ECL. The user-defined level is –4.0 volts to +5.0 volts. If a value outside this range is specified, the value is set to the extreme in the direction exceeded and no error message is generated.
INTermodule Subsystem SKEW SKEW Command :INTermodule:SKEW The SKEW command sets the skew value for a module. The index value is the module number (1 through 5 corresponds to the slot location of the modules A through E for the HP 16500C alone and 1 through 10 to slot location of modules A through J when an HP 16501A is connected). The parameter is the skew setting (– 1.0 to 1.0) in seconds. An integer, 1 through 5 for HP 16500C alone.
INTermodule Subsystem TREE TREE Command :INTermodule:TREE ,,, ,[,,,, ,], The TREE command allows an intermodule setup to be specified in one command. The first five (or ten, with an HP 16501A connected) parameters are the intermodule arm values for modules A through E for an HP 16500C alone or modules A through J with an HP 16501A connected. The last parameter corresponds to the intermodule arm value for PORT OUT.
INTermodule Subsystem TREE Query :INTermodule:TREE? The TREE? query returns a string that represents the intermodule tree. A −1 means the module is not in the intermodule tree, a 0 value means the module is armed from the Intermodule run button (Group run), and a positive value indicates the module is being armed by another module with the slot location 1 to 10. 1 through 10 correspond to the slots A through J.
INTermodule Subsystem TTIMe TTIMe Query :INTermodule:TTIMe? The TTIMe query returns five values for the HP 16500C alone or ten with an HP 16501A connected representing the absolute intermodule trigger time for all of the modules in the Intermodule configuration. The first value is the trigger time for the module in slot A, the second value is for the module in slot B, the third value is for slot C, etc. The value 9.
13–18
14 TGTctrl Subsystem
Introduction The TGTctrl subsystem commands specify the signals put out by the Target Control Port. Refer to figure 14-1 and table 14-1 for the TGTctrl Subsystem commands syntax diagram.
TGTctrl Subsystem Figure 14-1 Targetcontrol Subsystem Commands Syntax Diagram 14–3
TGTctrl Subsystem Figure 14-1 (continued) Targetcontrol Subsystem Commands Syntax Diagram 14–4
TGTctrl Subsystem :TGTctrl Table 14-1 TGTctrl Parameter Values Parameter N bits state name Value An integer, 0 through 7, indicating signal An integer, 0 though 255 An integer, 0 through 7 A string of up to 14 characters :TGTctrl Selector :TGTctrl This command does not obey the truncation rule. The TGTctrl selector specifies target control as the subsystem the commands or queries following will refer to.
TGTctrl Subsystem ALL ALL Query :TGTctrl:ALL? The ALL query returns all parameters of the signal specified by . These values may be individually queried using other commands in the TGTctrl subsystem. Returned Format An integer, 0 through 7. [:TGTctrl:ALL] ,,,,,, ,,,,,, ,, {0|1} 0 indicates signal is not active, 1 indicates signal is active.
TGTctrl Subsystem AVAILable AVAILable Query :TGTctrl:AVAILable? This command does not obey the truncation rule. The AVAILable query returns an integer whose binary form indicates unassigned bits. If a signal is turned off, any bits assigned to it are available. A 0 indicates that the bit is NOT available. Returned Format Example [:TGTctrl:AVAILable] An integer, 0 through 255.
TGTctrl Subsystem BITS BITS Command :TGTctrl:BITS The BITS command assigns bits to a signal. A 1 in the mask’s bit position assigns the bit to the signal. The mask overwrites any previous assignments. Example An integer, 0 through 7, specifying signal. An integer, 0 through 255. To assign the last four bits to signal 1: OUTPUT XXX;":TGT:BITS1 #H0F" Query :TGTctrl:BITS? The query returns an integer. The binary form of the integer specifys which bits are assigned to the signal.
TGTctrl Subsystem CURSTate CURSTate Query :TGTctrl:CURSTate? This command does not obey the truncation rule. The CURSTate query returns the current state of the specified signal. For toggle and pulse signals, this will be either 0 or 1. For sequence signals, it will be between 0 and the last state. Returned Format Example [:TGTctrl:CURSTate] An integer, 0 through 7, specifying signal. An integer, 1 through 7, indicating current state.
TGTctrl Subsystem LASTstate LASTstate Command :TGTctrl:LASTstate The LASTstate command sets a signal’s last state. LASTstate has no effect unless the signal type is sequence. An integer, 0 through 7, specifying signal. An integer, 1 through 7. Example OUTPUT XXX;":TGTCTRL:LAST2 4" Query :TGTctrl:LASTstate? The query returns the current last state. For toggle and pulse signals, the last state is always 1.
TGTctrl Subsystem NAMe NAMe Command :TGTctrl:NAMe The LASTstate command sets a signal name. An integer, 0 through 7, specifying signal. A string of up to 14 characters. Example OUTPUT XXX;":TGTCTRL:NAME0 ’Reset’" Query :TGTctrl:NAMe? The NAMe query returns the name of the specified signal. The default names are SIGNAL 0 through SIGNAL 7.
TGTctrl Subsystem PULse PULse Command :TGTctrl:PULse This command does not obey the truncation rule. The PULse command pulses the specified signal. If the signal type is toggle or sequence, it sets the signal to the next state. This command works the same as STEP and TOGgle. Example An integer, 0 through 7, specifying signal.
TGTctrl Subsystem SIGSTatus SIGSTatus Query :TGTctrl:SIGSTatus? This command does not obey the truncation rule. The SIGSTatus query returns two values. The first is the current state on the target control lines assigned to the signal. The second is an activity indicator on the signal. A signal that is off will always return a first value indicating all assigned lines are 1. Returned Format Example An integer, 0 through 7, specifying signal.
TGTctrl Subsystem STATEs STATEs Command :TGTctrl:STATEs [,, ,,,,, ] This command does not obey the truncation rule. The STATEs command sets the state values of the specified signal. The value is interpreted as a packed bitmask. You can specify up to 8 values on the command line. Example An integer, 0 through 7, specifying signal. An integer, 0 through 255, specifying that state’s value in a packed bitmask.
TGTctrl Subsystem STEP STEP Command :TGTctrl:STEP The STEP command sets the specified signal to the next state. If the signal type is pulse, it briefly pulses the signal. STEP can be used with any type of signal. This command has the same effect as PULse and TOGgle. Example An integer, 0 through 7, specifying signal. OUTPUT XXX;":TGTCTRL:STEP3" TOGgle Command :TGTctrl:TOGgle This command does not obey the truncation rule. The TOGgle command toggles the specified signal to the next state.
TGTctrl Subsystem TYPe TYPe Command :TGTctrl:TYPe {{TOGgle|0} | {PULse|1} | {SEQuence|2}} The TYPe command sets the signal type for the specified signal. It does not turn on the signal. An integer, 0 through 7, specifying signal. Example OUTPUT XXX;":TGT:TYP2 SEQ" Query :TGTctrl:TYPe? The TYPe query returns the current type of the signal. The default type is toggle.
Part 3 15 Programming Examples 15-1 Programming Examples
15 Programming Examples
Introduction This chapter contains short, usable, and tested program examples that cover the most frequently requested examples. The examples are written in HP BASIC 6.2.
Programming Examples Transferring the Mainframe Configuration Transferring the Mainframe Configuration This program uses the SYSTem:SETup? query to transfer the configuration of the mainframe to your controller. This program also uses the SYSTem:SETup command to transfer a mainframe configuration from the controller back to the mainframe. The configuration data will set up the mainframe according to the data. It is useful for getting configurations for setting up the mainframe by the controller.
Programming Examples Transferring the Mainframe Configuration 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 600 610 620 630 640 650 660 670 680 690 700 710 720 ! *********************** SEND THE SETUP QUERY ************************** OUTPUT 707;":SYSTEM:HEADER ON" OUTPUT 707;":SYSTEM:LONGFORM ON" OUTPUT @Comm;"SELECT 0" OUTPUT @Comm;":SYSTEM:SETUP?" ! ! ******************** ENTER THE BLOCK SETUP HEADER *********************
Programming Examples Transferring the Mainframe Configuration 730 740 750 760 770 780 790 800 810 820 830 840 850 860 870 880 890 900 910 920 930 940 950 960 970 980 990 1000 1010 1020 1030 1040 1050 1060 1070 1080 1090 1100 1110 1120 1130 1140 1150 1160 1170 ! ! ********************* SEND THE SETUP COMMAND ************************** ! Send the Setup command ! OUTPUT @Comm USING "#,15A";":SYSTEM:SETUP #" PRINT "SYSTEM:SETUP command has been sent" PAUSE ! ! ********************* SEND THE BLOCK SETUP ******
Programming Examples Checking for Intermodule Measurement Completion Checking for Intermodule Measurement Completion This program can be appended to or inserted into another program when you need to know when an intermodule measurement is complete. If it is at the end of a program it will tell you when measurement is complete. If you insert it into a program, it will halt the program until the current measurement is complete.
Programming Examples Sending Queries to the Logic Analysis System Sending Queries to the Logic Analysis System This program example contains the steps required to send a query to the logic analysis system. Sending the query alone only puts the requested information in an output buffer of the logic analysis system. You must follow the query with an ENTER statement to transfer the query response to the controller.
Programming Examples Sending Queries to the Logic Analysis System 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 ! Send the query. In this example the MENU? query is sent. All ! queries except the SYSTem:DATA and SYSTem:SETup can be sent with ! this program. ! OUTPUT 707;"MENU?" ! ! **************************************************************** ! The two lines that follow transfer the query response from the ! query buffer to the controller and then print the response.
Programming Examples Getting ASCII Data with PRINt? ALL Query Getting ASCII Data with PRINt? ALL Query This program example shows you how to get ASCII data from a listing display, like the disk catalog or state listing, using the PRINt? ALL query. There are two things you must keep in mind: • You must select the mainframe, which is always SELECT 0 for the HP 16500C mainframe. • You must select the proper menu. The only menus that allow you to use the PRINt? ALL query are the disk menu and listing menus.
Programming Examples Reading the disk with the CATalog? ALL query Reading the disk with the CATalog? ALL query The following example program reads the catalog of the currently selected disk drive. The CATALOG? ALL query returns the entire 70-character field. Because DOS directory entries are 70 characters long, you should use the CATALOG? ALL query with DOS disks.
Programming Examples Reading the Disk with the CATalog? Query Reading the Disk with the CATalog? Query This example program uses the CATALOG? query without the ALL option to read the catalog of the currently selected disk drive. However, if you do not use the ALL option, the query only returns a 51-character field. Keep in mind if you use this program with a DOS disk, each filename entry will be truncated at 51 characters.
Programming Examples Printing to the disk Printing to the disk This program prints acquired data to a disk file. The file can be either on a LIF or DOS disk. If you print the file to a flexible disk in the DOS format, you will be able to view the file on a DOS compatible computer using any number of file utility programs.
Index *CLS command, 9–5 *ESE command, 9–6 *ESR command, 9–7 *IDN command, 9–9 *IST command, 9–9 *OPC command, 9–11 *OPT command, 9–12 *PRE command, 9–13 *RST command, 9–14 *SRE command, 9–15 *STB command, 9–16 *TRG command, 9–17 *TST command, 9–18 *WAI command, 9–19 ..., 5–5 32767, 5–4 9.
Index D DATA, 11–5 Data bits, 3–8 level, 4–4 mode, 2–3 types, 1–13 to 1–14 Data Carrier Detect (DCD), 3–5 DATA command/query, 11–5 Data Communications Equipment, see DCE Data Set Ready (DSR), 3–5 Data Terminal Equipment, 3–3 Data Terminal Ready (DTR), 3–5 DCE, 3–3 DCL, 2–6 DDE, 7–5 Decimal numbers, 1–13 Definite-length block response data, 1–21 DELete, 13–6 Device address, 1–7 HP-IB, 2–4 LAN, 4–3 RS-232-C, 3–9 Device clear, 2–6 Device dependent errors, 8–3 Documentation conventions, 5–5 DOWNload, 12–11 DRI
Index Module identification number, 10–9 Mounting, 4–4 MSB, 7–6 MSG, 7–5 MSI, 12–18 MSS, 7–4, 9–16 Msus, 12–2 Multiple numeric variables, 1–22 program commands, 1–15 queries, 1–22 subsystems, 1–15 N NAMe, 14–11 Negative numbers, 1–14 New Line character, 1–8 NL, 1–8, 5–5 Notation conventions, 5–5 Numbers, 1–13, 1–19 base, 1–20, 1–13 data, 1–13 variables, 1–20 O Octal numbers, 1–13 OPC, 7–5 Operation Complete, 7–6 OR notation, 5–5 OR TRIGGER, 13–8 OUTDrive, 13–10 OUTPolar, 13–10 Output buffer, 1–11 queue, 6–
Index R Real numbers, 1–14 Real-time clock, 10–20 Receive Data (RD), 3–4 to 3–5 Remote enable (REN), 2–5 REName, 12–22 Request To Send (RTS), 3–5 Response data, 1–21 Responses, 1–17, 5–4 RMODe, 10–19 Root, 5–8 RQC, 7–5 RQS, 7–4, 9–16 RS-232-C, 3–2, 3–9, 6–2 RTC (real-time clock), 10–20 S Scientific notation, 1–13 SDC, 2–6 SELect command, 10–21 command tree, 10–22 Selected device clear, 2–6 Sequential commands, 5–4 Serial poll, 7–8 Service Request Enable Register, 7–4 SETColor, 10–23 SETup, 11–12 to 11–13 S
© Copyright HewlettPackard Company 1987, 1990, 1993, 1994, 1996 All Rights Reserved. Reproduction, adaptation, or translation without prior written permission is prohibited, except as allowed under the copyright laws. Document Warranty The information contained in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this material, including, but not limited to, the implied warranties of merchantability or fitness for a particular purpose.
Product Warranty This Hewlett-Packard product has a warranty against defects in material and workmanship for a period of one year from date of shipment. During the warranty period, Hewlett-Packard Company will, at its option, either repair or replace products that prove to be defective. For warranty service or repair, this product must be returned to a service facility designated by Hewlett-Packard.