Agilent 8163A/B Lightwave Multimeter, Agilent 8164A/B Lightwave Measurement System, & Agilent 8166A/B Lightwave Multichannel System Programming Guide Agilent Technologies
Notices © Agilent Technologies, Inc. 2002-2005 This document contains proprietary information that is protected by copyright. All rights are reserved. No part of this document may reproduced in (including electronic storage and retrieval or translation into a foreign language) without prior agreement and written consent from Agilent Technologies GmbH as governed by United States and international copyright laws. Agilent Technologies Deutschland GmbH Herrenberger Str.
Warnings and Notices WA R N I N G To avoid the possibility of injury or death, you must observe the following precautions before switching on the instrument. Insert the power cable plug only into a socket outlet provided with a protective earth contact. Do not negate this protective action by the using an extension cord without a protective conductor. WA R N I N G Never look directly into the end of a fiber or a connector, unless you are absolutely certain that there is no signal in the fiber.
Agilent Technologies Sales and Service Offices For more information about Agilent Technologies test and measurement products, applications, services, and for a current sales office listing, viesit our web site: http://www.agilent.com/comms/lightwave You can also contact one of the following centers and ask for a test and measurement sales representative.
In this Manual This manual contains information about SCPI commands which can be used to program the following instruments: • Agilent 8163A/B Lightwave Multimeter • Agilent 8164A/B Lightwave Measurement System • Agilent 8166A/B Lightwave Multichannel System The Structure of this Manual This manual is divided into 5 parts: • “Introduction to Programming” on page 15 gives a general introduction to SCPI programming with the Agilent 8163A/B Lightwave Multimeter, the Agilent 8164A/B Lightwave Measurement System
• SCPI commands are written in mixed case: text that you MUST print is written in capitals; text which is helpful but nor necessary is written in lower case. So, the command INITiate[:IMMediate] can be entered either as init[:imm], or as initiate[:immediate]. It does not matter whether you enter text using capitals or lower-case letters. • SCPI commands often contain extra arguments in square brackets. These arguments may be helpful, but they need not be entered.
Table of Contents The Structure of this Manual Conventions used in this Manual Related Manuals Introduction to Programming GPIB Interface Returning the Instrument to Local Control Message Queues How the Input Queue Works Clearing the Input Queue The Output Queue The Error Queue Programming and Syntax Diagram Conventions Short Form and Long Form Command and Query Syntax Units Data Types Slot and Channel Numbers Laser Selection Numbers Common Commands Common Command Summary Common Status Information The
Specific Commands 43 Specific Command Summary Instrument Setup and Status IEEE-Common Commands Status Reporting – The STATus Subsystem Interface/Instrument Behaviour Settings – The SYSTem Subsystem Measurement Operations & Settings Root Layer Command Measurement Functions – The SENSe Subsystem Agilent 81635A and Agilent 81619A- Master and Slave Channels Signal Generation – The SOURce Subsystem Signal Conditioning The INPut and OUTput commands The table of wavelength-dependent offsets Compatibility of t
VISA Programming Examples How to Use VISA Calls How to Set up a Fixed Laser Source How to Measure Power using FETCh and READ How to Co-ordinate Two Modules How Power Varies with Wavelength How to Log Results The Agilent 816x VXIplug&play Instrument Driver Installing the Agilent 816x Instrument Driver Using Visual Programming Environments Getting Started with Agilent VEE GPIB Interfacing in Agilent VEE Getting Started with LabView Getting Started with LabWindows Features of the Agilent 816x Instrument Dri
How to Perform a Lambda Scan Application The Prepare Lambda Scan Function The Get Lambda Scan Parameters Function The Execute Lambda Scan Function How to Perform a Multi-Frame Lambda Scan Application The Equally Spaced Datapoints Function The Register Mainframe Function The Unregister Mainframe Function The Prepare Multi Frame Lambda Scan Function The Get MF Lambda Scan Parameters Function The Execute Multi Frame Lambda Scan Function The Get Lambda Scan Result Function The Get Number of PWM Channels Functi
List of Figures Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Figure 12 Figure 13 Figure 14 Figure 15 Figure 16 Figure 17 Figure 18 Figure 19 Figure 20 Remote Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 The Event Status Bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 The Registers and Filters for a Node . . . . . . . . . . . . . . . . . . . . . . . . . . .
Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Sixth Edition
List of Tables Table 1 Table 2 Table 3 Table 4 Table 5 Table 6 Table 7 Table 8 Table 9 Table 10 Table 11 Table 12 Table 13 Table 14 Table 15 Table 16 Table 17 Table 18 Table 19 GPIB Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Units and allowed Mnemonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Common Command Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Specific Command Summary . . . . . . . . .
Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Sixth Edition
1 Introduction to Programming This chapter gives general information on how to control your instrument remotely. Descriptions for the actual commands for the instruments are given in the following chapters. The information in these chapters is specific to the Agilent 8163A/B Lightwave Multimeter, Agilent 8164A/B Lightwave Measurement System, and Agilent 8166A/B Lightwave Multichannel System and assumes that you are already familiar with programming the GPIB. GPIB Interface . . . . . . . . . . . . . . . . .
Introduction to Programming GPIB Interface GPIB Interface The interface used by your instrument is the GPIB (General Purpose Interface Bus). GPIB is the interface used for communication between a controller and an external device, such as the tunable laser source. The GPIB conforms to IEEE standard 488-1978, ANSI standard MC 1.1 and IEC recommendation 625-1. If you are not familiar with the GPIB, then refer to the following books: • The International Institute of Electrical and Electronics Engineers.
GPIB Interface Introduction to Programming The interface of the Agilent 8163A/B Lightwave Multimeter, Agilent 8164A/B Lightwave Measurement System, and Agilent 8166A/B Lightwave Multichannel System to the GPIB is defined by the IEEE Standards 488.1 and 488.2. Table 1 shows the interface functional subset that the instruments implement.
Introduction to Programming GPIB Interface Returning the Instrument to Local Control If the instrument is in remote control, a screen resembling Figure 1 will appear. Press [Local] if you wish to return the instrument to local control. Figure 1 Remote Control NOTE 18 If your Agilent 8163A/B, 8164A/B or 8166A/B is in local lockout mode (refer to DISPlay:LOCKout on page 142) the Local softkey is not available.
Message Queues Introduction to Programming Message Queues The instrument exchanges messages using an input and an output queue. Error messages are kept in a separate error queue.
Introduction to Programming Message Queues How the Input Queue Works The input queue is a FIFO queue (first-in first-out). Incoming bytes are stored in the input queue as follows: 1 Receiving a byte: • Clears the output queue. • Clears Bit 7 (MSB). 2 No modification is made inside strings or binary blocks. Outside strings and binary blocks, the following modifications are made: • Lower-case characters are converted to upper-case.
Message Queues Introduction to Programming The Output Queue The output queue contains responses to query messages. The instrument transmits any data from the output queue when a controller addresses the instrument as a talker. Each response message ends with a carriage return (CR, 0D16) and a LF (0A16), with EOI=TRUE. If no query is received, or if the query has an error, the output queue remains empty.
Introduction to Programming Message Queues The Error Queue The error queue is 30 errors long. It is a FIFO queue (first-in first-out). That is, the first error read is the oldest error to have occurred.
Programming and Syntax Diagram Conventions Introduction to Programming Programming and Syntax Diagram Conventions A program message is a message containing commands or queries that you send to the instruments. The following are a few points about program messages: • You can use either upper-case or lower-case characters. • You can send several commands in a single message. Each command must be separated from the next one by a semicolon (;).
Introduction to Programming Programming and Syntax Diagram Conventions Short Form and Long Form The instrument accepts messages in short or long forms. For example, the message :STATUS:OPERATION:ENABLE 768 is in long form. The short form of this message is :STAT:OPER:ENAB 768 In this manual, the messages are written in a combination of upper and lower case. Upper case characters are used for the short form of the message.
Programming and Syntax Diagram Conventions Introduction to Programming Command and Query Syntax All characters not between angled brackets must be sent exactly as shown. The characters between angled brackets (<...>) indicate the kind of data that you should send, or that you get in a response. You do not type the angled brackets in the actual message. Descriptions of these items follow the syntax description. The following types of data are most commonly used: string is ascii data.
Introduction to Programming Programming and Syntax Diagram Conventions Data Types With the commands you give parameters to the instrument and receive response values from the instrument. Unless explicitly specified these data are given in ASCII format. The following types of data are used: • Boolean data may only have the values 0 or 1. • Integer range is given for each individual command. • Float variables may be given in decimal or exponential writing (0.123 or 123E-3).
Programming and Syntax Diagram Conventions NOTE Introduction to Programming The Agilent 8164A/B slot for a back-loadable tunable laser module is numbered zero. Channel numbers apply to modules that have two inputs/outputs, for example, the Agilent 81635A Dual Power Sensor. Modules with two channels, for example, the Agilent 81635A Dual Power Sensor, use the channel number to distinguish between these channels. NOTE The channel number of single channel modules is always one.
Introduction to Programming NOTE Programming and Syntax Diagram Conventions For Return Loss modules, 0 denotes the use of an external laser source as the input to your Return Loss module for the following commands: • “:SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:FPDelta[l]” on page 111, • “:SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:FPDelta[l]?” on page 111, • “:SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l]” on page 112, and • “:SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:FPDelta[l]” on pag
Common Commands Introduction to Programming Common Commands The IEEE 488.2 standard has a list of reserved commands, called common commands. Some of these commands must be implemented by any instrument using the standard, others are optional. Your instrument implements all the necessary commands, and some optional ones. This section describes the implemented commands.
Introduction to Programming Common Commands Common Command Summary Table 3 gives a summary of the common commands.
Common Commands Introduction to Programming Common Status Information There are three registers for the status information. Two of these are status-registers and one is an enable-registers. These registers conform to the IEEE Standard 488.2-1987. You can find further descriptions of these registers under *ESE, *ESR?, and *STB?. Figure 2 shows how the Standard Event Status Enable Mask (SESEM) and the Standard Event Status Register (SESR) determine the Event Status Bit (ESB) of the Status Byte.
Introduction to Programming NOTE 32 Common Commands Unused bits in any of the registers change to 0 when you read them.
The Status Model Introduction to Programming The Status Model Status Registers Each node of the status circuitry has three registers: • A condition register (CONDition), which contains the current status. This register is updated continuously. It is not changed by having its contents read. • The event register (EVENt), which contains details of any positive transitions in the corresponding condition register, that is, when a bit changes from 0 → 1.
Introduction to Programming The Status Model The Operational/Questionable Slot Status Event Register (OSSER/QSSER) contains the status of a particular module slot. A bit changes from 0 → 1 when an event occurs, for example, when a laser is switched on. For details of the function of each bit of these registers, see “Operation/Questionable Status Summary Register” on page 38.
The Status Model Introduction to Programming Status System for 8163A/B & 8164A/B The status system for the Agilent 8163A/B Lightwave Multimeter and the Agilent 8164A/B Lightwave Measurement System returns the status of 2 and 5 module slots respectively. The Operational/Questionable Status Summary Registers consist of one level and are described by Figure 4 . Any commands that require LEVel1 do not apply to these mainframes.
Introduction to Programming The Status Model Status System for 8166A/B The status system for the Agilent 8166A/B Lightwave Multichannel System returns the status of 17 module slots. The Operational/Questionable Status Summary Registers consists of two levels, as described by Figure 5 . Module slots 1 to 14 affect the Level 0 summary register as described in Figure 4 . Bit 0 of the Level 0 summary registers represents the summary of the status of module slots 15, 16, and 17.
The Status Model Introduction to Programming Annotations Status Byte Register • Bit 3, the QSB, is built from the questionable event status register and its enable mask. • Bit 4, the MAV, is set if the message output queue is not empty. • Bit 5, the ESB, is built from the SESR and its SESEM. • Bit 7, the OSB, is built from the operation event status register and its enable mask. • All other bits are unused, and therefore set to 0.
Introduction to Programming The Status Model Operation/Questionable Status Summary Register • Bits 0 to 4 are built from the OSSER/QSSER and the OSSEM/QSSEM. • A summary of the event register, the condition register and the enable mask is set in the status byte. Operation/Questionable Slot Status • The Operation/Questionable Slot Status consist of a condition and an event register. • A "rising" bit in the condition register is copied to the event register.
The Status Model Introduction to Programming • Bit 4 is set if the module has not settled, as during the automatic settling of a Tunable Laser module. • Bit 5 is set if the module is out of specifications, or if lambda zeroing failed for a Tunable Laser module. • Bit 6 is set if ARA is recommended. • Bit 7 is set if the duty cycle is out of range.
Introduction to Programming The Status Model Status Command Summary 40 *STB? returns status byte, value 0 .. +255 *ESE sets the standard event status enable mask, parameter 0 .. +255 *ESE? returns SESE, value 0 .. +255 *ESR? returns the standard event status register, value 0 .. +255 *OPC parses all program message units in the message queue, and prevents the instrument from executing any further commands until all pending commands are completed.
The Status Model Introduction to Programming Other Commands *OPT? returns the installed modules and the slots these modules are installed in: For example, *OPT? → 81682A, 81533B, 81532A, , Modules 81682A, 81533B, and 81532A are installed in slots 0 to 2 respectively. Slots 3 and 4 are empty. *WAI prevents the instrument from executing any further commands until the current command has finished executing. All pending operations are completed during the wait period.
Introduction to Programming 42 The Status Model Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Fifth Edition
2 Specific Commands This chapter lists all the instrument specific commands relating to the Agilent 8163A/B Lightwave Multimeter, the Agilent 8164A/B Lightwave Measurement System, and the Agilent 8166A/B Lightwave Multichannel System with a single-line description. Each of these summaries contains a page reference for more detailed information about the particular command later in this manual. Specific Command Summary . . . . . . . . . . . . . . . . . . . . . . .
Specific Commands Specific Command Summary Specific Command Summary The commands are ordered in a command tree. Every command belongs to a node in this tree. The root nodes are also called the subsystems. A subsystem contains all commands belonging to a specific topic. In a subsystem there may be further subnodes. All the nodes have to be given with a command.
Specific Command Summary Specific Commands Table 4 Specific Command Summary (continued) Command Description Page :BRIGhtness/? Controls or queries the current display brightness. page 186 :CONTrast/? Controls or queries the current display contrast. page 186 :ENABle/? Switches the display on or off, or queries whether the display is on or off. page 187 :LOCKout/? Sets or queries local lockout mode. page 187 :POWer[:DC]? Returns a power value from a sensor.
Specific Commands Specific Command Summary Table 4 Specific Command Summary (continued) Command Description Page :CORRection:COLLection:ZERO? Queries the status of the last zero operation page 158 :PATH/? Sets or returns the regulated path. page 113 :POWer/? Sets or queries the output power value. page 152 :POWer:CONTRol/? Sets or queries power control mode status page 155 :POWer:OFFSet/? Sets or queries the power offset value.
Specific Command Summary Specific Commands Table 4 Specific Command Summary (continued) Command Description Page [:LOSS][:INPut][:MAGNitude]/? Sets or returns the value of correction data for a sensor. page 92 :COLLECT:ZERO Executes a zero calibration of a sensor module. page 92 :COLLECT:ZERO? Returns the current zero state of a sensor module. page 93 :COLLECT:ZERO:ALL Executes a zero calibration of all sensor modules.
Specific Commands Specific Command Summary Table 4 Specific Command Summary (continued) Command Description Page :SENSe[n][:CHANnel[m]]:POWer:Reference :DISPlay Sets the reference level for a sensor from the input power level. page 106 :STATe/? Sets or returns whether sensor results are in relative or absolute page 106 units. :STATe:RATio/? Sets or returns whether sensor results are displayed relative to a page 106 channel or to an absolute reference.
Specific Command Summary Specific Commands Table 4 Specific Command Summary (continued) Command Description Page :WAVelength:RESPonse:SIZE? Returns the no. of elements in the wavelength response table. page 84 Returns the mode of the modulation output mode of the BNC connector on the front panel of Agilent 81640A/80A/82A Tunable Laser modules. page 121 [:INTernal]:FREQuency[l]/? Sets or returns the frequency of an internal signal source.
Specific Commands Specific Command Summary Table 4 Specific Command Summary (continued) Command Description Page :DATA? Returns number of datapoints returned by the [:SOURce[n]][:CHANnel[m]]:READout:POINts? command. page 129 :DATA:BLOCk? Returns a specified binary block from either a lambda logging op- page 129 eration, or maximum power at wavelength characteristic. :DATA:MAXBlocksize? Returns the maximum blocksize that a lambda logging, or maximum power at wavelength characteristic will return.
Specific Command Summary Specific Commands Table 4 Specific Command Summary (continued) Command Description Page [:SOURce[n]][:CHANnel[m]:]WAVelength:SWEep :CHECkparams? Returns whether sweep parameters set are consistent. page 136 :CYCLes/? Sets or returns the number of cycles. page 137 :DWELl/? Sets or returns the dwell time. page 138 :EXPectedtriggers? Returns number of triggers (used to configure power meter).
Specific Commands Specific Command Summary Table 4 Specific Command Summary (continued) Command Description Page Reboots the mainframe and all modules. page 84 Presets all Enable Registers. page 69 :SPECial :REBoot :STATus[n] :PRESet :STATus:OPERation [:EVENt]? Returns the Operational Status Event Summary Register (OESR). page 68 [:EVENt]:LEVel1? Returns the Operational Status Event Summary Register for slots page 66 15 - 17 of the Agilent 8166A/B Lightwave Multichannel System.
Specific Command Summary Specific Commands Table 4 Specific Command Summary (continued) Command Description Page [:EVENt]? Returns the Questionable Slot Status Event Register for slot n. page 74 :CONDition? Returns the Questionable Slot Status Condition Register for slot n. page 74 :ENABle/? Sets or queries the Questionable Slot Status Enable Mask for page 75 slot n. :STATusn:QUEStionable :SYSTem :DATE/? Sets or returns the instrument’s internal date.
Specific Commands 54 Specific Command Summary Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Fifth Edition
3 Instrument Setup and Status This chapter gives descriptions of commands that you can use when setting up your instrument. The commands are split into the following separate subsytems: • IEEE specific commands that were introduced in “Common Commands” on page 29. • STATus subsystem commands that relate to the status model. • SYSTem subsystem commands that control the serial interface and internal data. IEEE-Common Commands . . . . . . . . . . . . . . . . . . . . . . . . . .
Instrument Setup and Status IEEE-Common Commands IEEE-Common Commands “Common Commands” on page 29 gave a brief introduction to the IEEEcommon commands which can be used with the instruments. This section gives fuller descriptions of each of these commands.
IEEE-Common Commands Instrument Setup and Status command: *CLS syntax: *CLS description: The CLear Status command *CLS clears the following: • Error queue • Standard event status register (SESR) • Status byte register (STB) After the *CLS command the instrument is left waiting for the next command. The instrument setting is unaltered by the command, although *OPC/*OPC? actions are cancelled.
Instrument Setup and Status command: *ESE? syntax: *ESE? description: The standard Event Status Enable query *ESE? returns the contents of the Standard Event Status Enable Mask (see *ESE for information on this register). parameters: none response: The bit value for the register (a 16-bit signed integer value). example: *ESE? → 21 command: *ESR? syntax: *ESR? description: The standard Event Status Register query *ESR? returns the contents of the Standard Event Status Register.
IEEE-Common Commands Instrument Setup and Status command: *IDN? syntax: *IDN? description: The IDeNtification query *IDN? gets the instrument identification over the interface. parameters: none response: The identification terminated by : For example.
Instrument Setup and Status IEEE-Common Commands command: *OPC? syntax: *OPC? description: The OPeration Complete query *OPC? parses all program message units in the input queue, sets the operation complete bit in the Standard Event Status register, and places an ASCII ’1’ in the output queue, when the contents of the input queue have been processed. Some module firmware includes commands that set a "StatNOPC" flag during execution to indicate that the module is busy.
IEEE-Common Commands Instrument Setup and Status command: *RST syntax: *RST description: The ReSeT command *RST sets the mainframe and all modules to the reset setting (standard setting) stored internally. Pending *OPC? actions are cancelled. The instrument is placed in the idle state awaiting a command. The *RST command clears the error queue. The *RST command is equivalent to the *CLS command AND the syst:preset command.
Instrument Setup and Status IEEE-Common Commands command: *TST? syntax: *TST? description: The self-TeST query *TST? makes the instrument perform a self-test and place the results of the test in the output queue. If the self-test fails, the results are also put in the error queue. We recommend that you read self-test results from the error queue. No further commands are allowed while the test is running.
IEEE-Common Commands Instrument Setup and Status command: *WAI syntax: *WAI description: The WAIt command prevents the instrument from executing any further commands until the current command has finished executing. Some module firmware includes commands that set a "StatNOPC" flag during execution to indicate that the module is busy. *WAI blocks the GPIB bus to all commands until every module hosted by the instrument is no longer busy. All pending operations, are completed during the wait period.
Instrument Setup and Status Status Reporting – The STATus Subsystem Status Reporting – The STATus Subsystem The Status subsystem allows you to return and set details from the Status Model. For more details, see “The Status Model” on page 33. command: :STATus:OPERation[:EVENt][:LEVel0]? syntax: :STATus:OPERation[:EVENt][:LEVel0]? description: Returns the Operational Status Event Summary Register (OSESR).
Status Reporting – The STATus Subsystem Instrument Setup and Status command: :STATus:OPERation:CONDition[:LEVel0]? syntax: :STATus:OPERation:CONDition[:LEVel0]? description: Reads the Operational Status Condition Summary Register.
Instrument Setup and Status Status Reporting – The STATus Subsystem command: :STATus:OPERation:ENABle[:LEVel0] syntax: :STATus:OPERation:ENABle[:LEVel0] description: Sets the bits in the Operational Status Enable Summary Mask (OSESM) that enable the contents of the OSESR to affect the Status Byte (STB). Setting a bit in this register to 1 enables the corresponding bit in the OSESR to affect bit 7 of the Status Byte. The bit value for the OSESM as a 16-bit signed integer value (0 ..
Status Reporting – The STATus Subsystem Instrument Setup and Status command: :STATus:OPERation:CONDition:LEVel1? syntax: :STATus:OPERation:CONDition:LEVel1? description: Returns the Operational Status Condition Summary Register for slots 15 to 17 of the Agilent 8166B Lightwave Multichannel System.
Instrument Setup and Status Status Reporting – The STATus Subsystem command: :STATusn:OPERation[:EVENt]? syntax: :STATusn:OPERation[:EVENt]? description: Returns the Operational Slot Status Event Register (OSSER) of slot n.
Status Reporting – The STATus Subsystem Instrument Setup and Status Type Bit 5 Bit 6 Bit 7 Decimal Value none 0 0 0 0 exact value 1 0 0 32 extrapolate below 1 1 0 96 extrapolate above 1 0 1 160 interpolated 1 1 1 224 command: :STATusn:OPERation:ENABle syntax: :STATusn:OPERation:ENABle description: Sets the bits in the Operation Slot Status Enable Mask (OSSEM) for slot n that enable the contents of the Operation Slot Status Event Register (OSSER) for slot n to
Instrument Setup and Status Status Reporting – The STATus Subsystem command: :STATus:QUEStionable[:EVENt][:LEVel0]? syntax: :STATus:QUEStionable[:EVENt][:LEVel0]? description: Returns the Questionable Status Event Summary Register (QSESR). parameters: none response: The sum of the results for the QSESR as a 16-bit signed integer value (0 ..
Status Reporting – The STATus Subsystem Instrument Setup and Status command: :STATus:QUEStionable:CONDition[:LEVel0]? syntax: :STATus:QUEStionable:CONDition[:LEVel0]? description: Returns the Questionable Status Condition Summary Register. parameters: none response: The sum of the results for the Questionable Status Condition Summary Register as a 16-bit signed integer value (0 ..
Instrument Setup and Status Status Reporting – The STATus Subsystem command: :STATus:QUEStionable:ENABle[:LEVel0] syntax: :STATus:QUEStionable:ENABle[:LEVel0] description: Sets the bits in the Questionable Status Enable Summary Mask (QSESM) that enable the contents of the QSESR to affect the Status Byte (STB). Setting a bit in this register to 1 enables the corresponding bit in the QSESR to affect bit 3 of the Status Byte.
Status Reporting – The STATus Subsystem Instrument Setup and Status command: :STATus:QUEStionable:CONDition:LEVel1? syntax: :STATus:QUEStionable:CONDition:LEVel1? description: Returns the Questionable Status Condition Summary Register for slots 15 to 17 of the Agilent 8166A/B Lightwave Multichannel System.
Instrument Setup and Status Status Reporting – The STATus Subsystem command: :STATusn:QUEStionable[:EVENt]? syntax: :STATusn:QUEStionable[:EVENt]? description: Returns the questionable status of slot n - the Questionable Slot Status Event Register (QSSER).
Status Reporting – The STATus Subsystem Instrument Setup and Status command: :STATusn:QUEStionable:ENABle syntax: :STATusn:QUEStionable:ENABle description: Sets the bits in the Questionable Slot Status Enable Mask (QSSEM) for slot n that enable the contents of the Questionable Slot Status Register (QSSR) for slot n to affect the QSESR. Setting a bit in this register to 1 enables the corresponding bit in the QSSER for slot n to affect bit n of the QSESR.
Instrument Setup and Status Interface/Instrument Behaviour Settings – The SYSTem Subsystem Interface/Instrument Behaviour Settings – The SYSTem Subsystem The SYSTem subsystem lets you control the instrument’s serial interface. You can also control some internal data (like date, time, and so on). command: :SYSTem:DATE syntax: :SYSTem:DATE,, description: Sets the instrument’s internal date.
Interface/Instrument Behaviour Settings – The SYSTem Subsystem Instrument Setup and Status command: :SYSTem:HELP:HEADers? syntax: :SYSTem:HELP:HEADers? description: Returns a list of GPIB commands. parameters: none response: Returns a list of GPIB commands example: syst:help:head? → Returns a list of all GPIB commands command: :SYSTem:PRESet syntax: :SYSTem:PRESet description: Sets the mainframe and all installed modules to their standard settings.
Instrument Setup and Status 78 Interface/Instrument Behaviour Settings – The SYSTem Subsystem command: :SYSTem:TIME? syntax: :SYSTem:TIME? description: Returns the instrument’s internal time. parameters: none response: The time in the format hour, minute, second. Hours are counted 0...23 (16-bit signed integer values). example: syst:time? → +20,+15,+30 command: :SYSTem:VERSion? syntax: :SYSTem:VERSion? description: Returns the SCPI revision to which the instrument complies.
4 Measurement Operations & Settings Root Layer Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Measurement Functions – The SENSe Subsystem . . . . . 85 Agilent 81635A and Agilent 81619A - Master and Slave Channels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Signal Generation – The SOURce Subsystem . . . . . . . . . 113 Signal Conditioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 The INPut and OUTput commands.
Measurement Operations & Settings Root Layer Command Root Layer Command command: :LOCK syntax: :LOCK, description: Switches the lock off and on. High power lasers cannot be switched on, if you switch the lock on. High power lasers are switched off immediately when you switch the lock on. parameters: A boolean value: 0 or OFF: switch lock off 1 or ON: switch lock on is the four-figure lock password.
Root Layer Command Measurement Operations & Settings command: :SLOT[n]:EMPTy? syntax: :SLOT[n]:EMPTy? description: Queries whether the module slot is empty. parameters: none response: A boolean value: 0: there is a module in the slot 1: the module slot is empty examples: slot1:empt? → 0 There is a module in slot1 affects: Independent of module type command: :SLOT[n]:IDN? syntax: :SLOT[n]:IDN? description: Returns information about the module.
Measurement Operations & Settings Root Layer Command command: :SLOT[n]:TST? syntax: :SLOT[n]:TST? description: Returns the latest selftest results for a module. NOTE This command does not perform a selftest. Use selfTeST command, *TST? on page 59, to perform a selftest. parameters: none response: Returns an error code and a short description of the error.
Root Layer Command Measurement Operations & Settings command: :SLOT[n]:HEAD[m]:OPTions? syntax: :SLOT[n]:HEAD[m]:OPTions? description: Returns information about an optical head’s options. parameters: none response: A string. example: slot1:head:opt? → NO CONNECTOR OPTION, NO INSTRUMENT OPTIONS affects: Optical heads command: :SLOT[n]:HEAD[m]:TST? syntax: :SLOT[n]:HEAD[m]:TST? description: Returns the latest selftest results for an optical head.
Measurement Operations & Settings Root Layer Command command: :SLOT[n]:HEAD[m]:WAVelength:RESPonse:CSV? syntax: :SLOT[n]:HEAD[m]:WAVelength:RESPonse:CSV? description: Returns the wavelength response from the attenuator module in CSV format. response: Wavelength Response table as a string response format: The string is a comma separated value (CSV) list and can be written to a file and be processed with a spreadsheet program. List format: λ1, c1\n λ2, c2\n .......
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings Measurement Functions – The SENSe Subsystem The SENSe subsystem lets you control measurement parameters for a Power Sensor, an Optical Head Interface module, or a return loss module. Agilent 81635A and Agilent 81619A - Master and Slave Channels For the Agilent 81635A Dual Power Sensor and Agilent 81619A Dual Optical Head Interface module, channel 1 is the master channel and channel 2 is the slave channel.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem The commands listed in Table 6 are independent for both master and slave channels.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :FETCh[n][:CHANnel[m]][:SCAlar]:POWer[:DC]? syntax: :FETCh[n]:[CHANnel[m]][:SCAlar]:POWer[:DC]? description: Reads the current power meter value, or for a return loss module returns current power value at return loss diode (back reflection path).
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :FETCh[n][:CHANnel[m]][:SCAlar]:MONitor? syntax: :FETCh[n]:[CHANnel[m]][:SCAlar]:MONitor? description: Reads current power value at a return loss module’s monitor diode (forward path).
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :INITiate[n]:[CHANnel[m]]:CONTinuous? syntax: :INITiate[n]:[CHANnel[m]]:CONTinuous? description: Queries whether the software trigger system operates continuously or not parameters: none response: A boolean value: example: init2:cont? → 1 affects: All power meters, return loss modules. dual sensors: Can only be sent to master channel, slave channel parameters are identical.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :READ[n][:CHANnel[m]]:POWer:ALL:CONFig? syntax: :READ[n]:[CHANnel[m]]:POWer[:DC]:ALL:CONFig? description: Returns the slot and channel numbers for all available power meter channels. Use this command to match returned power values to the appropriate slot and channel number. parameters: none response: A binary block (Intel byte order) consisting of 2-byte unsigned integer value pairs (so each pair has 4 bytes).
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :READ[n][:CHANnel[m]][:SCALar]:RETurnloss? syntax: :READ[n]:[CHANnel[m]][:SCALar]:RETurnloss? description: Reads the current return loss value. It provides its own software triggering and does not need a triggering command.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :SENSe[n]:[CHANnel[m]]:CORRection[:LOSS][:INPut][:MAGNitude] syntax: :SENSe[n]:[CHANnel[m]]:CORRection[:LOSS][:INPUT][:MAGNitude] [DB|MDB] description: Enters a calibration value for a module. parameters: The calibration factor as a float value If no unit type is specified, decibels (dB) is implied.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :SENSe[n]:[CHANnel[m]]:CORRection:COLLect:ZERO? syntax: :SENSe[n]:[CHANnel[m]]:CORREction:COLLect:ZERO? description: Returns the status of the most recent zero command. parameters: none response: 0: zero succeeded without errors. any other number: remote zeroing failed (the number is the error code returned from the operation).
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:LOGGing syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:LOGGing, [NS|US|MS|S] description: Sets the number of data points and the averaging time for the logging data acquisition function. parameters: Data Points: Data Points is the number of samples that are recorded before the logging mode is completed.
Measurement Functions – The SENSe Subsystem NOTE Measurement Operations & Settings Setting parameters for the MinMax function sets some parameters, including hidden parameters, for the stability and logging functions and vice versa. You must use the :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:MINMax command to set parameters before you start a MinMax function using the :SENSe[n][:CHANnel[m]]:FUNCtion:STATe command.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem example: sens1:func:par:minm? → WIND,+10 affects: All power meters and return loss modules dual sensors: Can only be sent to master channel, slave channel parameters are identical. NOTE Setting parameters for the stability function sets some parameters, including hidden parameters, for the logging and MinMax functions and vice versa.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:STABility? syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:STABility? description: Returns the total time, period time, and averaging time for the stability data acquisition function. parameters: none response: Total time, delay time, and averaging time are float values in seconds. example: sens1:func:par:stab? → +1.00000000E+000, +1.00000000E-001,+1.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult:BLOCk? syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult:BLOCk?,<# of data points> description: Returns a specific binary block (Intel byte order) from the data array for the last data acquisition function. parameters: A zero based offset; the number of data points to ignore. # data points The number of data points (not bytes!) to return.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult:MONitor? syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult:MONitor? description: Returns the monitor diode data array for the last data acquisition function. parameters: none response: The last data acquisition function’s data array as a binary block. For Logging and Stability Data Acquisition functions, one measurement value is a 4-bytelong float in Intel byte order.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :SENSe[n][:CHANnel[m]]:FUNCtion:STATe syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:STATe LOGGing|STABility|MINMax,STOP|STARt description: Enables/Disables the logging, MinMax, or stability data acquisition function mode.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :SENSe[n][:CHANnel[m]]:FUNCtion:THReshold syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:THReshold, [PW|NW|UW|MW|Watt|DBM] description: Sets the start mode and the threshold value.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :SENSe[n]:[CHANnel[m]]:POWer:ATIMe? syntax: :SENSe[n]:[CHANnel[m]]:POWer:ATIMe? description: Returns the averaging time for the module. parameters: none response: The averaging time as a float value in seconds. example: sens1:pow:atim? → +1.00000000E+000 affects: All power meters and return loss modules dual sensors: Can only be sent to master channel, slave channel parameters are identical.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :SENSe[n]:[CHANnel[m]]:POWer:RANGe[:UPPer]? syntax: :SENSe[n]:[CHANnel[m]]:POWer:RANGe[:UPPer]? description: Returns the range setting for the module. For a return loss module, returns the power range of the return loss diode. parameters: none response: The range setting as a float value in dBm (−110 ≤ value ≤ +30). example: sens1:pow:rang? → -2.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :SENSe[n]:[CHANnel[m]]:POWer:RANGe:MONitor[:UPPer]? syntax: :SENSe[n]:[CHANnel[m]]:POWer:RANGe[:UPPer]? description: Sets the power range for a retun loss module’s monitor diode. parameters: none response: The range setting as a float value in dBm (−110 ≤ value ≤ +30). example: sens1:pow:rang? → -2.00000000E+001 affects: All return loss modules.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :SENSe[n]:[CHANnel[m]]:POWer:REFerence syntax: :SENSe[n]:[CHANnel[m]]:POWer:REFerence TOMODule|TOREF,PW|NW|UW|MW|Watt|DBM|DB|MDB description: Sets the sensor reference value.
Measurement Operations & Settings 106 Measurement Functions – The SENSe Subsystem command: :SENSe[n]:[CHANnel[m]]:POWer:REFerence:DISPlay syntax: :SENSe[n]:[CHANnel[m]]:POWer:REFerence:DISPlay description: Takes the input power level value as the reference value. parameters: none response: none example: sens1:pow:ref:disp affects: All power meters dual sensors: Master and slave channels are independent.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :SENSe[n]:[CHANnel[m]]:POWer:REFerence:STATe:RATio syntax: :SENSe[n]:[CHANnel[m]]POWer:REFerence:STATe:RATio |255|TOREF, description: Selects the reference for the module.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :SENSe[n]:[CHANnel[m]]:POWer:UNIT syntax: :SENSe[n]:[CHANnel[m]]:POWer:UNITDBM|0|Watt|1 description: Sets the sensor power unit parameters: An integer value: 0: dBm 1: Watt or DBM or Watt response: none example: sens1:pow:unit 1 affects: All power meters dual sensors: Master and slave channels are independent.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :SENSe[n]:[CHANnel[m]]:POWer:WAVelength? syntax: :SENSe[n]:[CHANnel[m]]:POWer:WAVelength?[MIN|MAX|DEF] description: Inquires the current sensor wavelength.
Measurement Operations & Settings 110 Measurement Functions – The SENSe Subsystem command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:COLLect:TERMination syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:COLLect:TERMination description: For the currently selected source, start the calibration and save the calibration values for a defined termination reference measurement.
Measurement Functions – The SENSe Subsystem Measurement Operations & Settings command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:FPDelta[l] syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:FPDelta[l][dB] description: Sets the front panel delta, that is, the loss correction value, for example, due to the front panel connector. Twice this value is added to the measured Return Loss.
Measurement Operations & Settings Measurement Functions – The SENSe Subsystem command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l] syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l][dB] description: Sets the Return Loss Reference, the return loss value of your reference reflector. For example, the Agilent 81000BR reference reflector provides an accurate and stable 0.18 dB reference.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings Signal Generation – The SOURce Subsystem The SOURce subsystem allows you to control a laser source module, DFB source module, tunable laser module, or a return loss module that has an internal source. command: :OUTPut[n][:CHANnel[m]]:CONNection syntax: OUTPut[n][:CHANnel[m]]:CONNectionMOD|VPP description: Sets the analog output parameter. parameters: MOD: The modulation frequency modulates the analog output.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: :OUTPut[n][:CHANnel[m]]:PATH? syntax: :OUTPut[n][:CHANnel[m]]:PATH? description: Returns the regulated path. parameters: none response: HIGH: LOWS: BHR: BLR: example: output0:path? → HIGH affects: Tunable laser modules with two outputs. command: :OUTPut[n][:CHANnel[m]][:STATe] syntax: :OUTPut[n][:CHANnel[m]][:STATe]OFF|ON|0|1 description: Switches the laser current off and on.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:AM[:INTernal]:FREQuency[l] syntax: [:SOURce[n]][:CHANnel[m]]:AM[:INTernal]:FREQuency[l] [THZ|GHZ|MHZ|KHZ|HZ] description: Sets the frequency of the amplitude modulation of the laser output. parameters: The frequency as a float value in Hz.
Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:AM:SOURce[l] syntax: [:SOURce[n]][:CHANnel[m]]:AM:SOURce[l] INT|INT1|INT2|COHC|AEXT|EXT|DEXT|WVLL|BACK|0|1|2|3|5|6 description: Selects the type or source of the modulation of the laser output.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:AM:STATe[l] syntax: [:SOURce[n]][:CHANnel[m]]:AM:STATe[l] OFF|ON|0|1 description: Enables and disables amplitude modulation of the laser output. parameters: A boolean value: OFF or 0: amplitude modulation disabled (default) ON or 1: amplitude modulation enabled.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:AM:COHCtrl:COHLevel[l] syntax: [:SOURce[n]][:CHANnel[m]]:AM:COHCtrl:COHLevel[l][MIN | MAX | DEF] description: Sets the level of coherence, when using coherence control, on an arbitrary scale from 1 to 99.98%. A 100% coherence level corresponds to maximum coherence length and minimum linewidth.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:FM:SOURce[l]? syntax: [:SOURce[n]][:CHANnel[m]]:FM:SOURce[l]? description: Queries the type of frequency modulation currently set. Currently, only SBS Control is available. parameters: none response: 0 example: sour2:fm:sour? → +0 affects: Agilent 81980A, 81940A, 81989A, 81949A compact tunable lasers.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:FREQuency[l] syntax: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:FREQuency[l] [MHZ|KHZ|HZ|MIN|MAX|DEF] description: Sets the frequency of the SBS Control modulation. Enable frequency modulation before issuing this command. Refer to “[:SOURce[n]][:CHANnel[m]]:FM:SOURce[l]” on page 118 and “[:SOURce[n]][:CHANnel[m]]:FM:STATe[l]” on page 119.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:Level[l]? syntax: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:LEVel[l]?[MIN|MAX|DEF] description: Queries the currently set excursion level of the SBS Control frequency modulation. parameters: Optional response: Returns the currently set excursion level as a percentage of its maximum value. example: sour2:fm:sbsc:lev? → +8.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l] syntax: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l][DB|MDB] description: Sets the level of attenuation. parameters: Any value in the specified range (see the specifications in the appropriate User’s Guide).
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTO syntax: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTOOFF|ON|0|1 description: Selects Automatic or Manual Attenuation Mode. In Automatic Attenuation Mode, you specify the output power. In Manual Attenuation Mode, you must specify both the laser output power, and the attenuation level.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:DARK? syntax: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:DARK? description: Queries whether the attenuator is set to ‘dark’ position (where all light is blocked by the laser). parameters: none response: 0: dark position not set 1: dark position set example: sour0:pow:att:dark? → 1 affects: All tunable laser modules with a built-in optical attenuator.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel][:IMMediate][:AMPLitude[l]]? syntax: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel][:IMMediate][:AMPLitude[l]]? [MIN|DEF|MAX] description: Returns the amplitude level of the output power. The value returned is the actual amplitude that is output, which may be different from the value set for the output.
Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel]:RISetime[l] syntax: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel]:RISetime[l][NS|US|MS|S] description: Sets the laser rise time of the chosen source. parameters: Any value in the specified range (see the appropriate User’s Guide).
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:POWer:STATe syntax: [:SOURce[n]][:CHANnel[m]]:POWer:STATe description: Switches the laser of the chosen source on or off.
Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:POWer:WAVelength syntax: [:SOURce[n]][:CHANnel[m]:POWer:WAVelength[ EXTernal|LOWer|UPPer|BOTH|0|1|2|3] NOTE For compatibility reasons, WAVelength may be replaced with WAVE. description: Sets the wavelength source for a dual-wavelength laser source.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:READout:DATA? syntax: [:SOURce[n]][:CHANnel[m]:READout:DATA? description: Returns the data as a binary stream from either a lambda logging operation or the maximum power the laser can produce at each wavelength.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:READout:POINts? syntax: [:SOURce[n]][:CHANnel[m]:READout:POINts?LLOGging|PMAX description: Returns the number of datapoints that the [:SOURce[n]][:CHANnel[m]]:READout:DATA? command will return. parameters: LLOGging: PMAX: Returns the number of wavelength steps for a lambda logging operation, see “[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging” on page 140.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:WAVelength[:CW[l]|:FIXED[l]]? syntax: [:SOURce[n]][:CHANnel[m]:WAVelength[:CW[l]|:FIXED[l]]?[[MIN|DEF|MAX] description: Returns the wavelength value in meters.
Measurement Operations & Settings 132 Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ARA:ALL syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ARA:ALL description: Realigns the laser cavity of every tunable laser source in a mainframe.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO description: Executes a wavelength zero.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:TEMPerature:LASTzero? syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:TEMPerature:LASTzero? description: Reports the temperature at which the last auto lamda zero took place.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:WAVelength:FREQuency[l]? syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:FREQuency[l]? description: Returns the frequency difference used to calculate a relative wavelength. NOTE Use [l] to query the frequency of the upper or lower wavelength laser source of a dual-wavelength laser source or a return loss module with an internal dual-wavelength laser source.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:CHECkparams? syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:CHECkparams? description: Returns whether the currently set sweep parameters (sweep mode, sweep start, stop, width, etc.) are consistent. If there is a sweep configuration problem, the laser source is not able to pass a wavelength sweep.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:CYCLes syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:CYCLes |MIN|MAX|DEF|0 description: NOTE parameters: Sets the number of cycles. Cannot be set while a sweep is running. The number of cycles is an integer value.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:DWELl syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:DWELl |MIN|MAX|DEF[NS|US|MS|S] description: Sets the dwell time. Can only be used when sweep is stepped. NOTE parameters: Cannot be set while a sweep is running. The dwell time as a float value. If you specify no units in your command, seconds are used as the default.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:FLAG? syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:FLAG? description: The sweep flag is used to find out when logging data is available and when the next sweep cycle may be triggered.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGgingOFF|ON|0|1 description: Switches lambda logging on or off. Lambda logging is a feature that records the exact wavelength of a tunable laser module when a trigger is generated during a continuous sweep. You can read this data using the [:SOURce[n]][:CHANnel[m]]:READout:DATA? command.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:MODE syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:MODE description: Sets the sweep mode. NOTE Cannot be set while a sweep is running.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:REPeat syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:REPeat description: Sets the repeat mode. Applies in stopped-sweep and manual-sweep modes.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:SOFTtrigger syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:SOFTtrigger description: Softtrigger does the same as a normal (hardware) trigger at the backplane, but it doesn’t cause a PM to take a measurement because it is only a (software) message sent to the tunable laser source. It only works in continuous sweep.
Measurement Operations & Settings Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STARt syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STARt [PM|NM|UM|MM|M] description: Sets the starting point of the sweep. NOTE parameters: Cannot be set while a sweep is running. The wavelength at which the sweep starts as a float value. If you specify no units in your command, meters are used as the default.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STOP? syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STOP?[MIN|MAX] description: Returns the end point of the sweep. parameters: optional MIN Returns the minimum start wavelength available. This value is wavelength dependent. MAX Returns the maximum start wavelength available. This value is wavelength dependent.
Measurement Operations & Settings 146 Signal Generation – The SOURce Subsystem command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:[STATe]? syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:[STATe]? description: Returns the state of a sweep.
Signal Generation – The SOURce Subsystem Measurement Operations & Settings command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:[WIDTh]? syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:[WIDTh]?[MIN|MAX] description: Returns the width of the sweep step parameters: optional response: The sweep step as a float value in meters. example: wav:swe:step? → +5.00000000E-009 affects: All tunable laser modules MIN Returns the minimum step width available.
Measurement Operations & Settings Signal Conditioning Signal Conditioning The commands in this section allow you to control Agilent 8156x, and 8157x Attenuator modules The INPut and OUTput commands command: :INPut[n][:CHANnel[m]]:ATTenuation syntax: :INPut[n][:CHANnel[m]]:ATTenuation[dB] | MIN | DEF | MAX description: Sets the attenuation factor (α) for the instrument. The attenuation factor is used, together with an offset factor (α Offset ) to set the filter attenuation ( α filter ).
Signal Conditioning Measurement Operations & Settings command: :INPut[n][:CHANnel[m]]:OFFSet syntax: :INPut[n][:CHANnel[m]]:OFFSet[dB] | MIN | DEF | MAX description: Sets the offset factor (α Offset ) for the instrument. This factor does not affect the filter attenuation ( α filter ). It is used to offset the attenuation factor values. This offset factor is used, with the attenuation factor, to set the attenuation of the filter.
Measurement Operations & Settings Signal Conditioning command: :INPut[n][:CHANnel[m]]:OFFSet:POWermeter syntax: :INPut[n][:CHANnel[m]]:OFFSet:POWermeter, description: Sets the offset factor (αOffset ) to the difference between a power value measured by another powermeter (hosted by the same mainframe) (Pext ) and the power value measured by the attenuator module’s monitor diode (Patt ).
Signal Conditioning Measurement Operations & Settings command: :INPut[n][:CHANnel[m]]:WAVelength syntax: :INPut[n][:CHANnel[m]]:WAVelength[PM | NM | UM| MM | M] | MIN | MAX | DEF description: Sets the attenuator module’s operating wavelength. This value is used to compensate for the wavelength dependence of the filter, and to calculate a wavelegth dependent offset from the user offset table (if enabled). parameters: The wavelength in meters (if you do not specify a unit).
Measurement Operations & Settings Signal Conditioning command: :OUTPutn[:CHANnel[m]]:APMode? syntax: :OUTPutn[:CHANnel[m]]:APMode? description: Queries whether the user has amended the power value or the attenuation value. This use of this command is optional. Included for compatibility with Agilent 8156A mainframe. parameters: none response: boolean 0 User has amended the attenuation value. 1 User has amended the power value. example: OUTP1:APMode? → 0 affects: All attenuator modules.
Signal Conditioning Measurement Operations & Settings command: :OUTPutn[:CHANnel[m]]:POWer:REFerence syntax: :OUTPutn[:CHANnel[m]]:POWer:REFerence[PW | NW | UW | MW | W | DBM ] | MIN | MAX | DEF description: Sets the reference power (Pref ). The reference power is used to calculate the filter attenuation ( α filter ) from the output power (P ) . A change to the reference power does not affect the filter attenuation.
Measurement Operations & Settings Signal Conditioning command: :OUTPutn[:CHANnel[m]]:POWer:OFFSet syntax: :OUTPutn[:CHANnel[m]]:POWer:OFFSet[DB] | MIN | MAX | DEF description: Sets a power offset (Poffset ). This factor is used to offset the power value. It does not affect the filter, nor does it change the power output at the attenuator module. Pset(new) (dBm) = P att(dBm) - Poffset(new) (dB) If the wavelength offset table is enabled, the corresponding λ offset is added to this offset.
Signal Conditioning Measurement Operations & Settings command: :OUTPutn[:CHANnel[m]]:POWer:CONTRol syntax: :OUTPutn[:CHANnel[m]]:POWer:CONTRolOFF(0) | ON(1) description: Sets whether the power control mode is on or off. If power control is enabled, the attenuator automatically compensates for changes to input power. parameters: OFF or 0 Output power follows changes to input power.
Measurement Operations & Settings Signal Conditioning command: :OUTPutn[:CHANnel[m]]:POWer:UNit? syntax: :OUTPutn[:CHANnel[m]]:POWer:UNit? description: Queries whether the power unit is dBm or W parameters: none response: boolean 0 The power unit is dBm 1 The power unit is W. example: OUTP1:POW:UN? → 0 affects: All attenuator modules. command: :OUTPutn[:CHANnel[m]]:[STATe] syntax: :OUTPutn[:CHANnel[m]]:[STATe]OFF(0) | ON(1) description: Sets the state of the shutter.
Signal Conditioning Measurement Operations & Settings command: :OUTPutn[:CHANnel[m]]:STATe:APOWeron? syntax: :OUTPutn[:CHANnel[m]]:STATe:APOWeron? description: Queries the state of the shutter at power on. parameters: none response: boolean 0 The shutter is open after mainframe power on. 1 The shutter is closed after mainframe power on. example: OUTP1:APOW? → 0 affects: All attenuator modules.
Measurement Operations & Settings 158 Signal Conditioning command: :OUTPutn[:CHANnel[m]]:CORRection:COLLection:ZERO:ALL syntax: :OUTPutn[:CHANnel[m]]:CORRection:COLLection:ZERO:ALL description: Zero all available powermeter channels in the mainframe. parameters: none response: none example: OUTP1:CORR:COLL:ZERO:ALL affects: Powermeter modules; attenuator modules with power control, and return loss modules.
Signal Conditioning Measurement Operations & Settings The table of wavelength-dependent offsets When enabled, the attenuator uses its λ offset table to compensate for wavelength dependent losses in the test set-up. This table contains, for each wavelength specified, the additional power offset to be applied. • If the attenuator module is set to a wavelength corresponding to an entry in its λ offset table, the stored offset is added to the global power offset.
Measurement Operations & Settings Signal Conditioning command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:STATe syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:STATeOFF(0) | ON(1) description: Specifies whether the attenuator uses its λ offset table to compensate for wavelength dependent losses in the the test set-up. This table contains, for each wavelength specified, the additional power offset to be applied.
Signal Conditioning Measurement Operations & Settings command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:VALue[PM | NM | UM | MM| M], | TOREF description: Adds a value pair (wavelength; offset) to the offset table, or overwrites an existing value pair. The offset table entries are ordered from shortest to longest wavelength.
Measurement Operations & Settings Signal Conditioning command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:REFerence? syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:REFerence? description: Queries the currently selected slot and channel of the external powermeter (hosted in the same mainframe as the attenuator module) used by TOREF.
Signal Conditioning Measurement Operations & Settings command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue:PAIR? syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:VALue:PAIR? description: Queries an offset value pair (wavelength:offset) from the position, or index, of the associated wavelength in the offset table. Offset table entries are ordered from shortest to longest wavelength.
Measurement Operations & Settings Signal Conditioning command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:TABle? syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:TABle? description: Queries the complete the offset table. parameters: none response: SCPI binary block format format (Intel byte order); wavelength:offset pairs in ascending order. Each value pair is transferred as 12 bytes; 8 bytes represent the wavelength, 4 bytes represent the offset.
Signal Conditioning Measurement Operations & Settings Compatibility of the 81560A/1A/6A/7A modular attenuator family to the 8156A attenuator The 81560A/1A/6A/7A modular attenuator family is intended to be SCPI compatible with the 8156A attenuator but, because the modular attenuator family is part of a platform concept, there are some compatibility limitations. This section describes the differences between the SCPI syntax and the command semantic and how to deal with them.
Measurement Operations & Settings Signal Conditioning TIP: You can use INPut commands without a slot number if the 81560A/1A/6A/7A module is hosted by Slot 1. An INPut command is applied to Slot 1 by default. Command Semantic All the INPut and OUTPut commands applicable to the 8156A attenuator are also supported by the 81560A/1A/6A/7A modular attenuator family. In addition, the 81560A/1A/6A/7A modular attenuator family supports new commands to access its new features.
Signal Conditioning Measurement Operations & Settings Table 7 Comparison of command semantics beween 8156A attenuator and 8156xA modular attenuator family. Command Comment OUTPut:APMode? It is now possible to adjust both power and attenuation without changing the mode, so this command is supported only to address compatibility issues. This query returns whether power (1) or attenuation (0) was changed last. All other actions have no effect on this internal flag.
Measurement Operations & Settings Signal Conditioning Status Commands The instrument status model can be controlled, and its current state queried, using commands from the SCPI STATus subtree.
Signal Routing Measurement Operations & Settings Signal Routing The commands in this section allow you to control Agilent 8159x Optical Switch modules command: :ROUTe[n][:CHANnel[m]] syntax: :ROUTe[n]:[CHANnel[m]] description: Sets the channel route between two ports. NOTE parameters: When you use switches with dependent connections (e.g.
Measurement Operations & Settings Signal Routing command: :ROUTe[n][:CHANnel[m]]:CONFig? syntax: :ROUTe[n]:[CHANnel[m]]:CONFig? description: Queries the switch configuration of the instrument. For each channel, the minimum and maximum channel number of each port is given.
Triggering - The TRIGger Subsystem Measurement Operations & Settings Triggering - The TRIGger Subsystem The TRIGger Subsystem allows you to configure how the instrument reacts to incoming or outgoing triggers. Table 8 Triggering and Power Measurements Hardware Triggering Trigger Rearming Software Triggering Data Acquisition Functions sens:func:stat trig:inp trig:inp:rearm init:imm MINMax IGNore - One power mea- Automatically performs power surement is per- measurements. formed.
Measurement Operations & Settings Triggering - The TRIGger Subsystem Table 9 Generating Output Triggers from Power Measurements Hardware Triggering Trigger Rearming Software Triggering Data Acquisition Functions sens:func:stat trig:outp trig:outp:rearm init:imm MINMax DISabled - An output trigger will never be generated. AVGover ON An output trigger is generated for every new power measurement when the averaging time period finishes.
Triggering - The TRIGger Subsystem Measurement Operations & Settings command: :TRIGger[n][:CHANnel[m]]:INPut syntax: :TRIGger[n][:CHANnel[m]]:INPut description: Sets the incoming trigger response and arms the module. parameters: IGNore: SMEasure: CMEasure: NEXTstep: SWStart: NOTE Ignore incoming trigger. Start a single measurement.
Measurement Operations & Settings command: :TRIGger[n][:CHANnel[m]]:INPut? syntax: :TRIGger[n][:CHANnel[m]]:INPut? description: Returns the incoming trigger response. parameters: none response: IGNore: SMEasure: CMEasure: NEXTstep: SWStart: Ignore incoming trigger. Start a single measurement.
Triggering - The TRIGger Subsystem Measurement Operations & Settings command: :TRIGger[n][:CHANnel[m]]:INPut:REARm? syntax: :TRIGger[n][:CHANnel[m]]:INPut:REARm? description: Returns the arming response of a channel to an incoming trigger. parameters: none response: A boolean value: example: trig1:inp:rearm? → 0 affects: All Agilent 8163A/B series power meter modules, and Agilent 8161x series return loss modules.
Measurement Operations & Settings command: :TRIGger[n][:CHANnel[m]]:OUTPut syntax: :TRIGger[n][:CHANnel[m]]:OUTPut description: Specifies when an output trigger is generated and arms the module. parameters: DISabled: AVGover: MEASure: MODulation: STFinished: SWFinished: SWSTarted: response: none example: trig1:outp dis affects: All tunable laser modules, Agilent 8163A/B series power meters, and Agilent 8161x series return loss modules.
Triggering - The TRIGger Subsystem Measurement Operations & Settings command: :TRIGger[n][:CHANnel[m]]:OUTPut:REARm syntax: :TRIGger[n][:CHANnel[m]]:OUTPut:REARmOFF|ON|0|1 description: Sets the arming response of a channel to an outgoing trigger. NOTE parameters: NOTE See Table Table 9 , for information on how this command affects the generation of output triggers using power measurements.
Measurement Operations & Settings 178 Triggering - The TRIGger Subsystem command: :TRIGger:CONFiguration? syntax: :TRIGger:CONFiguration? description: Returns the hardware trigger configuration. parameters: none response: DIS: Trigger connectors are disabled.
Triggering - The TRIGger Subsystem Measurement Operations & Settings Extended Trigger Configuration This section includes information for advanced users about how to customize your use of the trigger system. You can configure the ouputs and inputs from two nodes, Node A and Node B. See Figure 7 on page 180 for more information on Node A and Node B. You can configure these nodes to be triggered by certain events and for these nodes to trigger particular actions.
Measurement Operations & Settings Triggering - The TRIGger Subsystem :trig 1 Node A Input Configuration Slot 0 Event 0 0 Node A Output Matrix Configuration OR 0 AND / ..... Slot 17 Event Input Trigger Connector Node B 0 0 0 0 .... :trig 2 0 Node B Input Configuration Slot 0 Event 0 0 0 0 OR 0 0 AND / .....
Triggering - The TRIGger Subsystem Measurement Operations & Settings Node A Input Configuration This 32-bit unsigned integer determines how inputs to Node A are generated. Bit Mnemonic Hexadecimal 31 30 Logic: 0 for OR, 1 for AND Input Trigger Connector: 0 - Inactive, 1 - Trigger at Input Trigger Connector can trigger Node A 29 Node B: 0 - Inactive, 1 - Trigger at Node B can trigger Node A 18-28 Not used.
Measurement Operations & Settings Triggering - The TRIGger Subsystem Output Matrix Configuration This 32-bit unsigned integer lets you choose Node A OR Node B to trigger each of the following: • the Output Trigger Connector or • individual module slots.
Triggering - The TRIGger Subsystem Measurement Operations & Settings trig:conf:ext #H2,#H0,#H0 trig2:outp dis trig2:inp next sour2:wav:swe star trig1:outp stf trig1:inp ign sour1:wav:swe star trig:conf:ext #H2,#H0,#H0 is described by Figure 4-1 and sets one bit: • for Node A Input Configuration: • Bit 1 - an event at slot 1 can trigger Node A. As trig1:outp stf is set, Node A can be triggered if a sweep step finishes for a tunable laser module installed in slot 1.
Measurement Operations & Settings 184 Triggering - The TRIGger Subsystem Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Fifth Edition
5 Mass Storage, Display, and Print Functions This chapter gives descriptions of commands that you can use when you want to change the instrument’s display. Display Operations – The DISPlay Subsystem . . . . . . . .
Mass Storage, Display, and Print Functions Display Operations – The DISPlay Subsystem Display Operations – The DISPlay Subsystem The DISPlay subsystem lets you control what you see on the instrument’s display. 186 command: :DISPlay:CONTrast syntax: :DISPlay:CONTrast description: Controls the contrast of the display.
Display Operations – The DISPlay Subsystem Mass Storage, Display, and Print Functions command: :DISPlay:BRIGhtness? syntax: :DISPlay:BRIGhtness? description: Queries the brightness of the display. parameters: none response: An integer value in the range 0 to 100 example: disp:brig? → +75 affects: Agilent 8163B Lightwave Multimeter and 8166B Lightwave Multichannel System 8164A Lightwave Measurement System: only checks if the value equals 0.
Mass Storage, Display, and Print Functions 188 Display Operations – The DISPlay Subsystem command: :DISPlay:LOCKout? syntax: :DISPlay:LOCKout? description: Queries whether local operation is locked out. parameters: none response: A boolean value: example: disp:lock → 1 0 – local operation is disabled 1 – local operation is enabled.
6 VISA Programming Examples How to Use VISA Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 How to Set up a Fixed Laser Source . . . . . . . . . . . . . . . . . 192 How to Measure Power using FETCh and READ . . . . . . 195 How to Co-ordinate Two Modules . . . . . . . . . . . . . . . . . . . 199 How Power Varies with Wavelength . . . . . . . . . . . . . . . . 203 How to Log Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VISA Programming Examples How to Use VISA Calls How to Use VISA Calls The following example demonstrates how to communicate using VISA calls. Also, the use of instrument identification commands is demonstrated. #include #include #include
How to Use VISA Calls VISA Programming Examples /* Initialize visa resource manger */ errStatus = viOpenDefaultRM (&defaultRM); if(errStatus < VI_SUCCESS) { printf("Failed to open VISA Resource manager\n"); exit(errStatus); } /* Open session to GPIB device at address 20; the VI_NULL parameters 3,4 are mandatory and not used for VISA 1.
VISA Programming Examples How to Set up a Fixed Laser Source How to Set up a Fixed Laser Source This example sets up a fixed laser source. Install a Laser Source in Slot 2, before executing this example. #include #include #include
How to Set up a Fixed Laser Source VISA Programming Examples errStatus = viSetAttribute(vi,VI_ATTR_TMO_VALUE,20000); if (errStatus < VI_SUCCESS) checkError(vi,errStatus); /* first get the wavelength of the laser source; to address the second channel of a dual laser source use "CHAN2" instead of "CHAN1"*/ errStatus = viQueryf(vi,"%s","%f","SOURCE2:CHAN1:WAV?\n",&wavelength); if (errStatus < VI_SUCCESS) checkError(vi,errStatus); else { printf("Source Wavelength:%g\n",wavelength); } /* to receive the maximum
VISA Programming Examples How to Set up a Fixed Laser Source { /* only errors should be displayed */ if(errMsg[0] != '+') printf("error:%ld - - > %s\n", err_status,errMsg) ; } } 194 Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Fifth Edition
How to Measure Power using FETCh and READ VISA Programming Examples How to Measure Power using FETCh and READ The example shows the difference between a "FETCh" and a "READ" command. Install a power meter in Slot 1, before executing this example. #include #include #include #include
VISA Programming Examples How to Measure Power using FETCh and READ } /*set timeout to 20 sec; this should work for all commands except zeroing */ errStatus = viSetAttribute(vi,VI_ATTR_TMO_VALUE,20000); if (errStatus < VI_SUCCESS) checkError(vi,errStatus); /* make sure that the reference is not used */ errStatus = viPrintf(vi,"SENS1:CHAN1:POW:REF:STATE 0\n"); if (errStatus < VI_SUCCESS) checkError(vi,errStatus); /* clear the error queue */ errStatus = viPrintf(vi,"*CLS\n"); if (errStatus < VI_SUCCESS) che
How to Measure Power using FETCh and READ VISA Programming Examples { if(!strcmp(compBuf,replyBuf)) { printf("Same:%s\n",replyBuf); } else printf("New:%s\n",replyBuf); } else printf("First:%s\n",replyBuf); strcpy(compBuf,replyBuf); } /* now the read command is used in the same manner to demonstrate the difference between fetch and read */ /* read also 10 values, compare them and display the result; */ for (i = 0; i < 10; i++) { /* In comparision to the "FETCH" command, the "READ" command implies triggerin
VISA Programming Examples How to Measure Power using FETCh and READ else { /* only errors should be displayed */ if(errMsg[0] != '+') printf("error:%ld - - > %s\n", err_status,errMsg) ; } } 198 Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Fifth Edition
How to Co-ordinate Two Modules VISA Programming Examples How to Co-ordinate Two Modules This example shows the interaction of two modules in the same frame. Install a Power Sensor in Slot 1 and a Laser Source in Slot 2 and connect the Laser Source output to the Power Sensor input, before executing this example. #include #include #include #include
VISA Programming Examples How to Co-ordinate Two Modules errStatus = viOpen (defaultRM, "GPIB::20::INSTR", VI_NULL,VI_NULL,&vi); if(errStatus < VI_SUCCESS) { printf("Failed to open instrument\n"); exit(errStatus); } /* set timeout to 20 sec; this should work for all commands except zeroing */ errStatus = viSetAttribute(vi,VI_ATTR_TMO_VALUE,20000); if (errStatus < VI_SUCCESS) checkError(vi,errStatus); /* clear error queue */ errStatus = viPrintf(vi,"*CLS\n"); checkError(vi,errStatus); /* read the waveleng
How to Co-ordinate Two Modules VISA Programming Examples errStatus = viPrintf(vi,"SENS1:CHAN1:POW:REF:STATE:RATIO TOREF,0\n"); checkError(vi,errStatus); /* set reference measuremant state to absolute units */ errStatus = viPrintf(vi,"SENS1:CHAN1:POW:REF:STAT 1\n"); checkError(vi,errStatus); /* turn laser on */ errStatus = viPrintf(vi,"SOURCE2:CHAN1:POW:STATE 1\n"); checkError(vi,errStatus); /*ask for command completion */ do { errStatus = viQueryf(vi,"*OPC?\n","%d",&cmdDone); checkError(vi,errStatus); } w
VISA Programming Examples How to Co-ordinate Two Modules { /* reduce the output power for 6.0 dB */ errStatus = viPrintf(vi,"SOURCE2:CHAN1:POW:ATT 6.
How Power Varies with Wavelength VISA Programming Examples How Power Varies with Wavelength This example shows how the measured power depends on wavelength. Install a Power Sensor in Slot 1 and a Tunable Laser Source in Slot 2 and connect the Tunable Laser Source output to the Power Sensor input, before executing this example. #include #include #include #include
VISA Programming Examples How Power Varies with Wavelength errStatus = viOpen (defaultRM, "GPIB::20::INSTR", VI_NULL,VI_NULL,&vi); if(errStatus < VI_SUCCESS) { printf("Failed to open instrument\n"); exit(errStatus); } /*set timeout to 20 sec; this should work for all commands except zeroing */ errStatus = viSetAttribute(vi,VI_ATTR_TMO_VALUE,20000); checkError(vi,errStatus); errStatus = viPrintf(vi,"*CLS\n"); checkError(vi,errStatus); /* read the minimum wavelength from the tunable laser source*/ errStat
How Power Varies with Wavelength VISA Programming Examples /* read the default power from the tunable laser source */ errStatus = viQueryf(vi,"SOURCE2:POW? DEF\n","%s",replyBuf); checkError(vi,errStatus); /* set the default power */ errStatus = viPrintf(vi,"SOURCE2:POW %s\n",replyBuf); checkError(vi,errStatus); /* turn auto range on*/ errStatus = viPrintf(vi,"SENS1:CHAN1:POW:RANGE:AUTO 1\n"); checkError(vi,errStatus); /*set the averaging time for measuring to 20ms*/ errStatus = viPrintf(vi,"SENS1:CHAN1:
VISA Programming Examples How Power Varies with Wavelength */ do { errStatus = viQueryf(vi,"*OPC?\n","%d",&cmdDone); checkError(vi,errStatus); } while (!cmdDone); } /* loop, until a key is pressed */ while(!scanf("%c",&c)); /* turn laser off */ errStatus = viPrintf(vi,"SOURCE2:CHAN1:POW:STATE 0\n"); checkError(vi,errStatus); /* close the session */ viClose(vi); } void checkError(ViSession session, ViStatus err_status ) { ViStatus error; ViChar errMsg[256]; error = viQueryf(session,"SYST:ERR?\n","%t",er
How to Log Results VISA Programming Examples How to Log Results This example demonstrates how to use logging functions. Install a Power Sensor in Slot 1, before executing this example. #include #include #include #include
VISA Programming Examples How to Log Results ViInt32 noOfDigits; data to be read */ ViUInt32 retCnt; calling viRead */ /*number of digits, specifing the amount /* returns the number of bytes read errStatus = InitVisa(&vi); if(errStatus < VI_SUCCESS) { exit(errStatus); } /* clear instrument error queue */ errStatus = viPrintf(vi,"*CLS\n"); checkError(vi,errStatus); /* turn auto range on */ errStatus = viPrintf(vi,"SENS1:CHAN1:POW:RANGE:AUTO 1\n"); checkError(vi,errStatus); /* send the command sequence f
How to Log Results VISA Programming Examples break; } /* find the substring "COMPLETE" in the reply of the instrument */ replySubStr = replyBuf; while(*replySubStr) { if(!strncmp(replySubStr,"COMPLETE",strlen("COMPLETE"))) break; replySubStr ++; } }while (!*replySubStr); /*substring "COMPLETE" not found */ /*continue polling */ /* The instrument returns the logging result in the following format: #xyyyffff...
VISA Programming Examples How to Log Results /* display the values using %g, a float format specifier, you may also use %e or %f */ for ( i = 0; i < noOfValues; i++) printf("\t%g\n",logResults[i]); /* loop, until a key is pressed */ while(!scanf("%c",&c)); /* close the session */ viClose(vi); } void checkError(ViStatus session, ViStatus err_status ) { ViStatus error; ViChar errMsg[256]; error = viQueryf(session,"SYST:ERR?\n","%t",errMsg); if (error == VI_ERROR_TMO) { printf("System Error!\n") ; exit(1); }
How to Log Results VISA Programming Examples { ViStatus ViSession errStatus; defaultRM; /* returned error code from visa call */ /* default visa resource manager variable */ /* First get initialized the visa library (see example 1) */ errStatus = viOpenDefaultRM (&defaultRM); if (errStatus < VI_SUCCESS) printf("Failed to open VISA Resource manager\n"); /* Open session to GPIB device at address 20; */ errStatus = viOpen (defaultRM, "GPIB::20::INSTR", VI_NULL,VI_NULL,iHandle); if (errStatus < VI_SUCCESS)
VISA Programming Examples 212 How to Log Results Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Fifth Edition
7 The Agilent 816x VXIplug&play Instrument Driver This chapter gives you extra information about installing and getting started with the Agilent 816x VXIplug&play instrument driver. There are details about opening and closing an instrument session, data types and constants used, error handling, and the programming environments supported. Installing the Agilent 816x Instrument Driver . . . . . . . . . 214 Using Visual Programming Environments . . . . . . . . . . . . 218 Getting Started with Agilent VEE . .
The Agilent 816x VXIplug&play Instrument Driver Installing the Agilent 816x Instrument Driver Installing the Agilent 816x Instrument Driver The Agilent 816x VXIplug&play Instrument Driver comes as a selfextracting archive with an installation wizard. The installation wizard extracts all the files to preset destinations, asking you appropriate questions as it does so. You install the driver by running the executable hp816x.exe. 1 Run hp816x.
Installing the Agilent 816x Instrument Driver The Agilent 816x VXIplug&play Instrument Driver If you see the message in Figure 9 , press Yes to install the driver or press No and contact your administrator. Figure 9 Non-Administrator Installation Pop-Up Box NOTE If Agilent 816x VXIplug&play Instrument Driver is already installed on your system, you see a message asking you if you want to uninstall the old version.
The Agilent 816x VXIplug&play Instrument Driver Installing the Agilent 816x Instrument Driver 6 Close these programs and press Next> to continue. Then, you see a message informing you if VISA is installed on your PC. NOTE If you do not have VISA installed, press Cancel to temporarily exit this installation procedure; install VISA on your PC, then run hp816x.exe again. If you have VISA installed, press Next> to continue. You see a window that requests you to choose your Setup.
Installing the Agilent 816x Instrument Driver The Agilent 816x VXIplug&play Instrument Driver 8 Press Next> to continue. Specify the program folder required; the default choice is VXIPNP. 9 Press Next> to continue. Review the settings that you have specified. If you want to review or change any settings press Back> 10 Press Next> to continue. The instrument driver is installed.
The Agilent 816x VXIplug&play Instrument Driver Using Visual Programming Environments Using Visual Programming Environments Getting Started with Agilent VEE Agilent Technologies Visual Engineering Environment (Agilent VEE) is a visual programming language optimized for instrument control applications. To develop programs in Agilent VEE, you connect graphical ‘objects’ instead of writing lines of code. These programs resemble easyto-understand block diagrams with lines.
Using Visual Programming Environments The Agilent 816x VXIplug&play Instrument Driver 2 Double-click on the Add button to bring up the Device Configuration screen, see Figure 13 . Figure 13 Device Configuration 3 Enter the following information: • Name: enter hp816X. • Interface: GPIB • Address: Enter the GPIB address of your GPIB interface board (the default is 7). Append the GPIB address of your instrument (the default is 20).
The Agilent 816x VXIplug&play Instrument Driver NOTE Using Visual Programming Environments If you do not see this driver in the list, the driver has not installed properly. If you do not see this driver in the list, the driver has not installed properly. 6 Enter the Parameters to the init() call by entering GPIB::xx::INSTR where xx is your instrument’s GPIB address. NOTE 20 is the default GPIB address for your instrument.
Using Visual Programming Environments The Agilent 816x VXIplug&play Instrument Driver Getting Started with LabView The 32-bit Agilent 816x driver can be used with LabView 5.0 and above. LabView 5.0 is a 32-bit version of LabView which runs on Windows 95 and Windows NT. After installing the Agilent 816x instrument driver, the driver must be converted for use with LabView.
The Agilent 816x VXIplug&play Instrument Driver Using Visual Programming Environments 7 Click on the Next > button. 8 The Identify Found Instruments… window appears, click on the Next > button. 9 The Update VXI Plug and Play Drivers window appears, select HP816X, and click on the Convert button. 10 The Manage Instrument Drivers window appears, click on the Finish button. 11 The first window appears again, click on the New VI button. 12 Select File and then select Convert CVI FP file.
Using Visual Programming Environments NOTE The Agilent 816x VXIplug&play Instrument Driver You must check the Add Front Panel Controls for Size of Array Parameters box. There will be a front panel control created for each VI that requires you to assign the array size. 19 Press OK. The CVI Function Panel Converter window appears. 20 Press OK. 21 The Select a library window appears. Browse to :\vxipnp\winXX\Bin, where XX stands for NT, or 95, select hp816x_32.dll and click on Open.
The Agilent 816x VXIplug&play Instrument Driver Using Visual Programming Environments Getting Started with LabWindows The 32-bit Agilent 816x VXIplug&play Instrument Driver can be used with LabWindows 4.0 and above. LabWindows 4.0 is a 32-bit version of LabWindows which runs on Windows 95 and Windows NT. To access the functions of the Agilent 816x VXIplug&play Instrument Driver from within LabWindows, select INSTRUMENT from the main menu, and then select the LOAD... submenu item.
Features of the Agilent 816x Instrument Driver The Agilent 816x VXIplug&play Instrument Driver Features of the Agilent 816x Instrument Driver The Agilent 816x VXIplug&play instrument driver conforms to all aspects of the VXIplug&play driver standard which apply to conventional rack and stack instruments. The following features are available: • The Agilent 816x VXIplug&play Instrument Driver conforms with the VXIplug&play standard.
The Agilent 816x VXIplug&play Instrument Driver Directory Structure Directory Structure The setup program which installs the Agilent 816x instrument driver creates the VXIPNP directory if it does not already exist. The structures for the Windows NT and Windows 95 vxipnp subdirectory tree are shown in Figure 17 . Figure 17 Windows 95 and Windows NT VXIPNP Directory Structure In the directory example, hp816x is a directory containing the instrument driver.
Opening an Instrument Session The Agilent 816x VXIplug&play Instrument Driver Opening an Instrument Session To control an instrument from a program, you must open a communication path between the computer/controller and the instrument. This path is known as an instrument session, and is opened with the function ViStatus hp816x_init( ViRsrc InstrDesc, ViBoolean id_query, ViBoolean reset, ViPSession instrumentHandle ); Instruments are assigned a handle when the instrument session is opened.
The Agilent 816x VXIplug&play Instrument Driver Closing an Instrument Session Closing an Instrument Session Sessions (instrumentHandle) opened with the hp816x_init() function are closed with the function: hp816x_close( ViSession instrumentHandle); When no further communication with an instrument is required, the session must be explicitly closed (hp816x_close() function). VISA does not remove sessions unless they are explicitly closed.
VISA Data Types and Selected Constant Definitions The Agilent 816x VXIplug&play Instrument Driver VISA Data Types and Selected Constant Definitions The driver functions use VISA data types. VISA data types are identified by the Vi prefix in the data type name (for example, ViInt16, ViUInt16, ViChar). The file visatype.h contains a complete listing of the VISA data types, function call casts and some of the common constants.
The Agilent 816x VXIplug&play Instrument Driver Error Handling Error Handling Events and errors within a instrument control program can be detected by polling (querying) the instrument. Polling is used in application development environments (ADEs) that do not support asynchronous activities where callbacks can be used. Programs can set up and use polling as shown below. 1 Declare a variable to contain the function completion code.
Error Handling The Agilent 816x VXIplug&play Instrument Driver void check (ViSession instrumentHandle, ViStatus errStatus) { /* variables for error code and message */ ViInt32 inst_err; ViChar err_message[256]; /* VI_SUCCESS is 0 and is defined in VISATYPE.h */ if(VI_SUCCESS > errStatus) { /* hp816x_INSTR_ERROR_DETECTED defined in hp816x.
The Agilent 816x VXIplug&play Instrument Driver Introduction to Programming Introduction to Programming Example Programs See the Online Help and “VISA Programming Examples” on page 189. VISA-Specific Information The following information is useful if you are using the driver with a version of VISA. Instrument Addresses When you are using Agilent VXIplug&play instrument drivers, you should enter the instrument addresses using only upper case letters. This is to ensure maximum portability.
Introduction to Programming The Agilent 816x VXIplug&play Instrument Driver Microsoft Visual Basic 4.0 (or higher) Please refer to your Microsoft Visual Basic manual for information on calling DLLs. The BASIC include file is hp816x.bas. You can find this file in the directory ~vxipnp\win95\include, where ~ is the directory in the VXIPNP variable. By default, ~ is equivalent to C:\. This means that the file is in C:\vxipnp\win95\include. You may also need to include the file visa.bas. visa.
The Agilent 816x VXIplug&play Instrument Driver Online Information Online Information The latest copy of this driver can be downloaded via: http://www.agilent.com/comms/comp-test If you do not have web access, use the version of hp816x.exe on your OCT Support CD, or contact your Agilent Technologies supplier.
Lambda Scan Applications The Agilent 816x VXIplug&play Instrument Driver Lambda Scan Applications These functions combine multiple SCPI commands into a single, functional operation. They are designed to allow quick and easy access to common instrument command sequences.
The Agilent 816x VXIplug&play Instrument Driver Lambda Scan Applications Equally Spaced Datapoints A linear interpolation is performed on all wavelength and power data for the Lambda Scan Application and is optional for the Multi Frame Lambda Scan Application. The advantage of spacing all measurements equally is that presenting results through use of a spreadsheet is greatly simplified. The operation returns one wavelength array and a power array for each power meter channel.
Lambda Scan Applications The Agilent 816x VXIplug&play Instrument Driver How to Perform a Lambda Scan Application Figure 19 Lambda Scan Operation Setup The Prepare Lambda Scan Function The Prepare Lambda Scan (hp816x_prepareLambdaScan) function prepares a Lambda Scan operation. The Prepare Lambda Scan (hp816x_prepareLambdaScan) function must be called before a Lambda Scan operation is executed.
The Agilent 816x VXIplug&play Instrument Driver Lambda Scan Applications 2 If the Step Size is too small and results in a trigger frequency that is to high for the installed Power Meters, the error "could not calculate a sweep speed!" will be returned. Increase the Step Size. 3 If the chosen wavelength range is too large and Step Size is too small, the error "too many datapoints to log!" will be returned. In this case, reduce the wavelength range and/or increase the Step Size.
Lambda Scan Applications The Agilent 816x VXIplug&play Instrument Driver How to Perform a Multi-Frame Lambda Scan Application Power Power Power Sensor Sensor Sensor 8164A or B Trigger Cable Output Trigger Connector Tunable Laser GPIB Cable Power Power Power Power Power Power 8166A or B Sensor Sensor Sensor Sensor Sensor Sensor Input Trigger Connector Power Power Power Power Power Power Power Sensor Sensor Sensor Sensor Sensor Sensor Sensor Power Power Sensor Sensor 8163A or B Input Trigger Connect
The Agilent 816x VXIplug&play Instrument Driver Lambda Scan Applications The Equally Spaced Datapoints Function The Equally Spaced Datapoints (hp816x_returnEquidistantData) function allows you to select whether you the results will be equally spaced by performing a linear interpolation on the wavelength point and power measurement data, see“Equally Spaced Datapoints” on page 236 for more details.
Lambda Scan Applications The Agilent 816x VXIplug&play Instrument Driver The Prepare Multi Frame Lambda Scan Function The Prepare Multi Frame Lambda Scan (hp816x_prepareMfLambdaScan) function prepares a Lambda Scan operation for multiple Mainframes. That is, it prepares an operation where a Agilent 8164A/B Lightwave Measurement System with a back-loadable Tunable Laser module and up to 100 Power Meter Channels located in different Mainframes are installed.
The Agilent 816x VXIplug&play Instrument Driver Lambda Scan Applications 2 If the Step Size is too small and results in a trigger frequency that is to high for the installed Power Meters, the error "could not calculate a sweep speed!" will be returned. Increase the Step Size. 3 If the chosen wavelength range is too large and Step Size is too small, the error "too many datapoints to log!" will be returned. In this case, reduce the wavelength range and/or increase the Step Size.
Lambda Scan Applications The Agilent 816x VXIplug&play Instrument Driver Only Power Meters whose mainframe was registered using the Register Mainframe (hp816x_registerMainframe) function are counted. The Get Channel Location Function The Get Channel Location function (hp816x_getChannelLocation_Q) returns the location of the chosen Power Meter channel as used in a Multi Frame Lambda Scan operation. The maximum number of channels that may be specified is 1000.
The Agilent 816x VXIplug&play Instrument Driver 244 Lambda Scan Applications Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Fifth Edition
8 GPIB Command Compatibility List This chapter gives information about adapting programs developed for use with HP 8153A Lightwave Multimeter or HP 8167B/8D/8E/8F Tunable Laser Source. Compatibility Issues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 GPIB Bus Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Status Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Preset Defaults . . . . . . . . . . . . . . . . . . . . .
GPIB Command Compatibility List Compatibility Issues Compatibility Issues For each table entry in this chapter, it is noted whether the compatibility change affects either: • the HP 8153A Lightwave Multimeter - 8153, • the HP 8167B/8D/8E/8F Tunable Laser Source - 8167/8, or • both of these instruments - Both. GPIB Bus Compatibility These commands are incompatible.
Status Model GPIB Command Compatibility List Status Model The status model is completely incompatible with the HP 8153A and HP 8167/8.
GPIB Command Compatibility List Preset Defaults Preset Defaults The preset defaults are different.
Removed Command GPIB Command Compatibility List Removed Command Table 11 contains details of commands that have been removed without replacement. Table 11 Removed Commands Command Change Affects *SRE/? No support for this command/query. Both *TRG No support for triggered commands. 8153 ABORt This command is not supported; in every case, the bus is blocked during command execution. 8153 STATus:OPERation: NTRansition/? These status model features are not supported.
GPIB Command Compatibility List Obsolete Commands Obsolete Commands Table 12 contains details of commands that have been directly replaced. Table 12 Obsolete Commands 250 Old Command New Command Affects DISPlay:STATe/? DISPlay:ENABle/? 8153 PROGram command tree SENSe:FUNCtion command tree. 8153 Some commands from the PROGram command tree have not been replaced. The HP 8153A application interface on the GPIB is not supported. Stability/Logging and Min/Max are available via a new interface.
Changed Parameter Syntax and Semantics GPIB Command Compatibility List Changed Parameter Syntax and Semantics Table 13 details commands whose parameter syntax or semantics have changed. Table 13 Commands with Different Parameters or Syntax Command Change Affects SOUR:AM:FREQ/? This command does not accept the value CW, instead use SOUR:AM:STAT ON|OFF to switch from and to CW mode. The commands accepts floating point values.
GPIB Command Compatibility List Changed Query Result Values Changed Query Result Values Table 14 details queries that respond with different return codes than the old instruments. Table 14 Queries with Different Result Values 252 Command Change Affects *IDN? Returns new instrument and module identifi- Both ers. *OPT? Returns new module options. Both *TST Selftest result codes are completely new. 0 still means passed. Both A head adapter is not overwritten with the head when it is inserted.
Timing Behavior GPIB Command Compatibility List Timing Behavior Table 15 details the ways in which timing behavior is different. Table 15 Timing Behavior Changes Change Affects Command execution may be different. Both In all mainframes and modules firmware revisions before 3.x GPIB will Both block during command execution, except when executing functions, such as logging and sweep, that don’t tolerate blocking. This is identical to the behavior of the 8167/8.
GPIB Command Compatibility List Error Handling Error Handling Most error commands and error texts for all instruments are new. The HP 8153A timed out for every error. Errors are handled differently by the Agilent 8163A/B and 8164A/B; instead of timing out for every error, special values are returned for erroneous queries. Table 16 and Table 17 detail the new errors The error queue is written to as before.
Command Order GPIB Command Compatibility List Command Order It is not yet known if there are any changes in the command order behavior.
GPIB Command Compatibility List Instrument Status Settings Instrument Status Settings The trigger configuration automatically overrides other instrument setting and control capabilities. This applies to both the HP 8153A and HP 8167/8.
9 Error Codes This chapter gives information about error codes used with the Agilent 8163A/B Lightwave Multimeter, the Agilent 8164A/B Lightwave Measurement System, and the Agilent 8166A/B Lightwave Multichannel System. GPIB Error Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Error Codes GPIB Error Strings GPIB Error Strings Error strings in the range -100 to -183 are defined by the SCPI standard, downloadable from: http://www.scpiconsortium.org/scpistandard.htm String descriptions taken from this standard (VERSION 1999.0 May, 1999), whether in whole or in part, are enclosed by [ ]. Table 18 Overview for Supported Strings Error New/Old/Standard Number Note: String Error strings in the range -100 to -183 are defined by the SCPI standard, downloadable from: http://www.
GPIB Error Strings Error Codes Table 18 Overview for Supported Strings Error New/Old/Standard Number String Standard "Missing parameter" -109 [Fewer parameters were recieved than required for the header] Standard -112 "Program mnemonic too long" [The header contains more than twelve characters (see IEEE 488.2, 7.6.1.4.1).] Standard -113 "Undefined header" [The header is syntactically correct, but it is undefined for this specific device; for example, *XYZ is not defined for any device.
Error Codes GPIB Error Strings Table 18 Overview for Supported Strings Error New/Old/Standard Number String Standard “String data error” -150 [This error, as well as errors -151 through -159, are generated when parsing a string data element. This error message is used when the device cannot detect a more specific error.] Standard -151 “Invalid string data” [A string data element was expected, but was invalid for some reason (see IEEE 488.2, 7.7.5.
GPIB Error Strings Error Codes Table 18 Overview for Supported Strings Error New/Old/Standard Number String New “Subop out of range” -185 Description: Suboperations are parameters that are passed to refine the destination of a command. They are used to address slots, channels, laser selections and GPIB/SCPI register levels. This error is generated if the parameter is not valid in the current context or system configuration.
Error Codes GPIB Error Strings Table 18 Overview for Supported Strings Error New/Old/Standard Number String Old “Trigger ignored” -211 Description: A trigger has been detected but ignored because of timing contraints. (For Example: average time to large). Old -212 “Arm ignored” Description: The user can set the automatic re-arming option for input and output trigger events (see “Triggering - The TRIGger Subsystem” on page 171).
GPIB Error Strings Error Codes Table 18 Overview for Supported Strings Error New/Old/Standard Number String Old "Settings conflict (StatParmInconsistent)" -221 Description: The user has passed a parameter that conflicts with other already configured parameters. Example: There are constrains for TLS sweep parameters: this error is generated when lambda step size exceeds the difference between start and stop wavelength.
Error Codes GPIB Error Strings Table 18 Overview for Supported Strings Error New/Old/Standard Number String Standard “Too much data” -223 Description: A function returns more data or the user requests more data than the application is able to handle. Example: A tunable laser source produces more data when lambda values of a sweep are stored than the 816x instrument is able to handle. Use the new SENSE:FUNC:RES:BLOCK? command to split the data aquisition into multiple parts.
GPIB Error Strings Error Codes Table 18 Overview for Supported Strings Error New/Old/Standard Number String Standard “Macro execution error” -272 [Indicates that a syntactically legal macro program data sequence could not beexecuted due to some error in the macro definition (see IEEE 488.2, 10.7.6.3.)] Standard -273 “Illegal macro label” [Indicates that the macro label defined in the *DMC command was a legal string syntax, but could not be accepted by the device (see IEEE 488.2, 10.7.3 and 10.7.6.
Error Codes GPIB Error Strings Table 18 Overview for Supported Strings Error New/Old/Standard Number String New “Application currently running - no GPIB support” -290 Description: The instrument has built-in applications that have no GPIB support ( such as Logging,Stability,PACT).
GPIB Error Strings Error Codes Table 18 Overview for Supported Strings Error New/Old/Standard Number String New "Internal messaging error (StatCmdError)" -305 "Internal messaging error (StatCmdNotAllowed)" "Internal messaging error (StatWrongLength)" "Internal messaging error (StatWrongReceiver)" "Internal messaging error (StatBufAllocError)" "Internal messaging error (StatDPRamFull)"; } "Internal messaging error (StatSemError)" Description: An error has occured in the instrument communication system
Error Codes GPIB Error Strings Table 18 Overview for Supported Strings Error New/Old/Standard Number String New "Flash programming error (StatUserCalTable Empty)" -323 It is not possible to activate the offset (l) functionality when the offset table is empty "Flash programming error (StatUserCalTable Full)" The offset (l) table is full and no more ? can be stored "Flash programming error (StatUserCalActive)" It is not possible to program the offset (l) table when the offset (l) feature is activated.
GPIB Error Strings Error Codes Table 18 Overview for Supported Strings Error New/Old/Standard Number String Standard “Query UNTERMINATED” -420 [Indicates that a condition causing an UNTERMINATED Query error occurred (see IEEE 488.2, 6.3.2.2); for example, the device was addressed to talk and an incomplete program message was received.] Standard -430 “Query DEADLOCKED” [Indicates that a condition causing an DEADLOCKED Query error occurred (see IEEE 488.2, 6.3.1.
Error Codes GPIB Error Strings Table 19 Overview for Unsupported Strings Error New/Old/Standard Number String 270 Old all positive errors Old -110 “Command header error” Old -111 “Header seperator error” Old -114 “Header suffix out of range” Old -130 “Suffix error” Old -140 “Character data error” Old -144 “Character data too long” Old -160 “Block data error” Old -201 “Invalid while in local” Old -202 “Settings lost due to ???” Old -210 “Trigger error” Old -214 “Trigger
Index B I example of FETCh and READ usage 195 Power Meter continuous measurement 88 start measurement 88 Binary block 26 Identification 59 Brightness 186, 187 IEEE-Common Commands 56 C INITiate subsystem 88 Channel Numbers 26 Installed options 60 Command summary 44 Instrument addresses 232 Power meter configure all 90 continuous measurement 89 current value 90 read all 89 Common commands 29 Instrument Behaviour Settings 76 Power variation with wavelength 203 Compatibility 246 Instrument dr
Status Reporting 64 STATus subsystem 64 Stop laser 127 Subsystem DISPlay 186 FETCh 87 INITiate 88 LOCK 80 OUTPut 113, 148 READ 91 SENSe 92 SLOT 81 SOURce 113 SPECial 84 STATus 64 SYSTem 76 TRIGger 171 SYSTem subsystem 76 T Test 62 Time 78 Trace Data Access 78 TRIGger Subsystem 171 U Units 25 unregister mainframe 240 V Visa calls How to use 190 VISA data types 229 Visual programming environment 218 Vxipnp directory 226 W Wait 63 Wavelength dependent offset table 159 272 Agilent 8163A/B, 8164A/B & 8166A
www.agilent.