Agilent 8163B Lightwave Multimeter Programming Guide
Agilent 8163B Lightwave Multimeter Programming Guide
Agilent 8163B Lightwave Multimeter Programming Guide
Programming Guide
Agilent Technologies
Notices
© Agilent Technologies, Inc. 2002-2005 Agilent warrants that its software and that its calibration measurements are
This document contains proprietary firmware designated by Agilent for use traceable to the United States National
information that is protected by with an instrument will execute its Institute of Standards and Technology,
copyright. All rights are reserved. programming instructions when NIST (formerly the United States
No part of this document may repro- properly installed on that instrument. National Bureau of Standards, NBS) to
duced in (including electronic storage Agilent does not warrant that the the extent allowed by the Institutes’s
and retrieval or translation into a for- operation of the instrument, software, calibration facility, and to the
eign language) without prior agree- or firmware will be uninterrupted or calibration facilities of other
ment and written consent from Agilent error free. International Standards Organization
Technologies GmbH as governed by members.
United States and international Limitation of Warranty
copyright laws. ISO 9001 Certification
The foregoing warranty shall not apply
Agilent Technologies Deutschland to defects resulting from improper or Produced to ISO 9001 international
GmbH inadequate maintenance by Buyer, quality system standard as part of our
Herrenberger Str. 130 Buyer-supplied software or interfacing, objective of continually increasing
71034 Böblingen unauthorized modification or misuse, customer satisfaction through
Germany operation outside of the environmental improved process control.
specifications for the product, or
Manual Part Number improper site preparation or Safety Notices
maintenance.
08164-90B64 No other warranty is expressed or
implied. Agilent Technologies CAU T ION
Edition specifically disclaims the implied
warranties of Merchantability and A CAUTION notice denotes a
Fifth edition, January 2005 hazard. It calls attention to an
Fitness for a Particular Purpose.
Fourth edition, April 2003 operating procedure, practice, or
Exclusive Remedies the like that, if not correctly per
Third edition, February 2002
formed or adhered to, could result
Second edition, Oktober 2001 The remedies provided herein are in damage to the product or loss of
Buyer's sole and exclusive remedies. important data. Do not proceed
First edition, July 2001 Agilent Technologies shall not be liable
beyond a CAUTION notice until the
for any direct, indirect, special,
indicated conditions are fully
Warranty incidental, or consequential damages
whether based on contract, tort, or any understood and met.
This Agilent Technologies instrument other legal theory.
product is warranted against defects in
material and workmanship for a period Assistance WARN IN G
of one year from date of shipment.
During the warranty period, Agilent Product maintenance agreements and A WARNING notice denotes a
will, at its option, either repair or other customer assistance agreements hazard. It calls attention to an
replace products that prove to be are available for Agilent Technologies operating procedure, practice, or
defective. products. For any assistance contact the like that, if not correctly per
For warranty service or repair, this your nearest Agilent Technologies formed or adhered to, could result
product must be returned to a service Sales and Service Office. in personal injury or death. Do not
facility designated by Agilent. Buyer
proceed beyond a WARNING
shall prepay shipping charges to Certification
Agilent and Agilent shall pay shipping
notice until the indicated
charges to return the product to Buyer. Agilent Technologies Inc. certifies that conditions are fully understood
However, Buyer shall pay all shipping this product met its published and met.
charges, duties, and taxes for products specifications at the time of shipment
returned to Agilent from another from the factory.
country. Agilent Technologies further certifies
Warnings and Notices
WARN IN 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.
WARN IN 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.
Related Manuals
You can find more information about the instruments covered by this
manual in the following manuals:
• Agilent 8163A/B Lightwave Multimeter, Agilent 8164A/B Lightwave
Measurement System, & Agilent 8166A/B Lightwave Multichannel
System User’s Guide (Agilent Product Number 08164-90B14).
Introduction to Programming 15
GPIB Interface 16
Returning the Instrument to Local Control 18
Message Queues 19
How the Input Queue Works 20
Clearing the Input Queue 20
The Output Queue 21
The Error Queue 22
Programming and Syntax Diagram Conventions 23
Short Form and Long Form 24
Command and Query Syntax 25
Units 25
Data Types 26
Slot and Channel Numbers 26
Laser Selection Numbers 27
Common Commands 29
Common Command Summary 30
Common Status Information 31
The Status Model 33
Status Registers 33
Status System for 8163A/B & 8164A/B 35
Status System for 8166A/B 36
Annotations 37
Status Byte Register 37
Standard Event Status Register 37
Operation/Questionable Status Summary 37
Operation/Questionable Status Summary Register 38
Operation/Questionable Slot Status 38
Operation Slot Status Register 38
Questionable Slot Status Register 38
Status Command Summary 40
Other Commands 41
IEEE-Common Commands 56
Status Reporting – The STATus Subsystem 64
Interface/Instrument Behaviour Settings – The SYSTem
Subsystem 76
Index 271
GPIB Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Setting the GPIB Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Returning the Instrument to Local Control . . . . . . . . . . . . . . . . 18
Message Queues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
How the Input Queue Works. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
The Output Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
The Error Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Programming and Syntax Diagram Conventions. . . . . . . 23
Short Form and Long Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Command and Query Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Common Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Common Command Summary . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Common Status Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
The Status Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Status System for 8163A/B & 8164A/B. . . . . . . . . . . . . . . . . . 35
Status System for 8166A/B . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Annotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Status Command Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Other Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
GPIB Interface
Mnemonic Function
Message Queues
If more than 29 errors are put into the queue, the message:
-350, "Queue overflow"
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.
For example, the above command would be written
:STATus:OPERation:ENABle
The first colon can be left out for the first command or query in your
message. That is, the example given above could also be sent as
STAT:OPER:ENAB 768
Units
Where units are given with a command, usually only the base units are
specified. The full sets of units are given in the table below.
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).
All Float values conform to the 32 bit IEEE Standard, that is, all Float
values are returned as 32-bit real values.
• A string is contained between double quotes ("...") or single quotes
(‘...’). When the instrument returns a string, it is always included in " "
and terminated by <END>.
• When a register value is given or returned (for example *ESE), the
decimal values for the single bits are added. For example, a value of
nine means that bit 0 and bit 3 are set.
• Larger blocks of data are given as Binary Blocks, preceded by
“#<H><Len><Block>”, terminated by <END>; <H> represents the
number of digits, <Len> represents the number of bytes, and <Block> is
the data block. For example, for a Binary Block with 1 digit and 6 bytes
this is: #16TRACES<END>.
For example, if you want to query slot 1, channel 2 with the command,
“:SENSe[n]:[CHANnel[m]]:POWer:WAVelength?” on page 109, you should
send the command:
• :sens1:chan2:pow:wav?
If you do not specify a slot or channel number, the lowest possible number
N O TE is used as the default value. This means:
• Slot 1 for the Agilent 8163A/B and Agilent 8166A/B mainframes.
• Slot 0 for the Agilent 8164A/B mainframe.
• Channel 1 for all channels.
For Return Loss modules, 0 denotes the use of an external laser source as
N O TE 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
page 111.
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.
OR &
&
&
All bits shown as are unused
&
Event 7 6 5 4 3 2 1 0
Status 0 0 0 0 0 1
Register
*ESR? returns the Standard Event Status Register
Figure 2 The Event Status Bit
The SESR contains the information about events that are not slot specific.
For details of the function of each bit of the SESR, see “Standard Event
Status Register” on page 37.
The SESEM allows you to choose the event that may affect the ESB of the
Status Byte. If you set a bit of the SESEM to zero, the corresponding event
cannot affect the ESB. The default is for all the bits of the SESEM to be set
to 0.
The questionable and operation status systems set the Operational Status
Bit (OSB) and the Questionable Status Bit (QSB). These status systems
are described in “The Status Model” on page 33 and “Status Reporting –
The STATus Subsystem” on page 64.
Unused bits in any of the registers change to 0 when you read them.
N O TE
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. The contents of this register are cleared when it is
read. The contents of any higher-level registers are affected with regard
to the appropriate bit.
• The enable register (ENABle), which enables changes in the event
register to affect the next stage of registers.
The event register is the only kind of register that can affect the next stage
N O TE of registers.
Enable Registers
To the
OR Condition Register
of the Next Node
Event Registers
Condition Registers
Figure 3 The Registers and Filters for a Node
Slot 1 Operational/Questionable
Slot Status Enable Mask to next
level
Register &
& OR
&
&
Operational/Questionable
Slot Status Event
Register
for a positive
Operational/Questionable transition
Slot Status Condition
Register
Slot 15 Operational/Questionable
Slot Status Enable Mask to next
Register level
&
& OR
&
&
Operational/Questionable
Slot Status Event
Register
for a positive
Operational/Questionable transition
Slot Status Condition
Register
Annotations
• 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.
• Bit 8 is set if coherence control is uncalibrated
• Bit 9 is set if attenuator beam path protection is enabled (shutter is
closed)
• Bit 10 is set if lambda zeroing is recommended.
• All other bits are unused, and therefore set to 0.
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 re
spectively. 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.
*IDN? identifies the instrument; returns the manufacturer, instrument model
number, serial number, and firmware revision level.
Table 4 gives an overview of the command tree. You see the nodes, the
subnodes, and the included commands.
:CONFigure[n][:CHANnel[m]]:OFFSet
:WAVelength:REFerence/? Sets or queries the slot and channel of the external reference page 161
powermeter.
:WAVelength:STATe/? Switches or queries attenuator Offset Table on or off/? page 160
:WAVelength:VALue Adds a value pair (wavelength, offset) to the offset table. page 161
:WAVelength:VALue:DELete:ALL Deletes all value pairs from the offset table. page 163
:DISPlay
:BRIGhtness/? Controls or queries the current display brightness. page 186
:ENABle/? Switches the display on or off, or queries whether the display is page 187
on or off.
:LOCKout/? Sets or queries local lockout mode. page 187
:FETCh[n][:CHANnel[m]][:SCALar]
:POWer[:DC]? Returns a power value from a sensor. page 87
:MONitor? Returns the current power value from the monitor diode within a page 88
return loss module.
:INITiate[n]:[CHANnel[m]]
[:IMMediate] Starts a measurement. page 88
:LOCK/? Switches the lock on/off or returns the current state of the lock. page 80
:INPUT[n][:CHANnel[m]]
:ATTenuation/? Sets or returns the attenuation factor for the instrument. page 148
:OFFset/? Sets or returns the offset factor for the instrument. page 149
:OFFset:DISPlay Sets the offset factor so that attenuation factor is zero. page 149
:OFFset:POWermeter Sets the offset factor to the difference between the power mea- page 150
sured with a powermeter and with the monitor diode.
:ATTenuation:SPEed/? Sets or queries the filter transition speed page 150
:OUTPut[n][:CHANnel[m]]
:APMode/? Sets or queries whether power setting or attenuation value has page 151
been changed.
:APOWeron/? Sets or queries the shutter status at power on. page 157
:POWer:OFFSet:POWermeter Calculates power offset from measured power values page 154
:POWer:REFerence:POWermeter Copies power value from power meter to attenuator module ref. page 153
power parameter
:POWer:UNit/? Sets or queries power unit used (dBm or W) page 155
[:STATe]/? Sets a source’s or attenuators output terminals to open or closed page 114
or returns the current status of a source’s or attenuators output
terminals.
:READ[n][:CHANnel[m]]
[:SCALar]:POWer[:DC]? Reads the current power value from a sensor. page 89
:POWer[:DC]:ALL:CONFig? Return all the slot and channel number of every available power page 90
meter channel.
[:SCALar]:RETurnloss? Reads the current return loss value. page 91
[:SCALar]:MONitor? Returns the current power value from the monitor diode within a page 91
return loss module.
:ROUTe[n]
[:CHANnel[m]]/? Sets or returns the channel route between two ports. page 169
:SENSe[n][:CHANnel[m]]:CORRection
[:LOSS][:INPut][:MAGNitude]/? Sets or returns the value of correction data for a sensor. page 92
:SENSe[n][:CHANnel[m]]:FUNCtion
:PARameter:LOGGing/? Sets or returns the number of samples and the averaging time, page 94
tavg, for logging.
:PARameter:MINMax/? Sets or returns the minmax mode and the window size. page 95
:PARameter:STABility/? Sets or returns the total time, delay time and the averaging time, page 96
tavg, for stability.
:RESult? Returns the data array of the last function. page 97
:RESult:BLOCk? Returns a specified binary block from the data array for the last page 98
power meter data acquisition function.
:RESult:MAXBlocksize? Returns the maximum block size for power meter data acquisition page 98
functions.
:RESult:MONitor? For return loss module, returns monitor diode data array of last page 99
function.
:STATe/? Enables/disables the function mode or returns whether the func- page 100
tion mode is enabled.
:THReshold/? Sets or returns the threshold value and the start mode. page 101
:SENSe[n][:CHANnel[m]]:POWer
:ATIMe/? Sets or returns the average time of a sensor. page 101
:RANGe[:UPPer]/? Sets or returns the most positive signal entry expected for a sen- page 102
sor.
:RANGe:MONitor[:UPPer]/? Sets or returns the range of the monitor diode within a return loss page 103
module.
:RANGe:AUTO/? Sets or returns the range of a sensor to produce the most dynam- page 104
ic range without overloading.
:REFerence/? Sets or returns the reference level of a sensor. page 105
:UNIT/? Sets or returns the units used for absolute readings on a sensor. page 108
: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.
:SENSe[n][:CHANnel[m]]:RETurnloss:CALibration
:FACTory Sets the calibration value to factory settings. page 109
:COLLect:REFLectance Sets the reference reflectance calibration values to the values page 109
currently measured by the chosen return loss module. (When, for
example, a gold reflector is used.)
:COLLect:TERMination Sets the termination calibration values to the values currently page 110
measured by the chosen return loss module.
:COLLect:VALues? Returns current calibration values. page 110
:TERMination? Returns T-Value page 110
:SENSe[n][:CHANnel[m]]:RETurnloss:CORRection
:FPDelta[l]/? Sets or returns front panel delta, that is, the loss correction value page 111
due, for example, to the front panel connector.
:REFLectance[l]/? Sets or returns the return loss reference, the return loss value of page 112
your reference reflector.
:SLOT[n]
:EMPTy? Returns whether the module slot is empty. page 81
:SLOT[n][:HEAD[m]]
:EMPTy? Returns whether an optical head is connected. page 82
:TST? Returns the latest selftest results for an optical head. page 83
:WAVelength:RESPonse? Returns the wavelength response from the module with wave- page 83
length calibration.
:WAVelength:RESPonse:CSV? Returns the wavelength response from the module with wave- page 84
length calibration.
[:SOURce[n]][:CHANnel[m]]
:MODout/? Returns the mode of the modulation output mode of the BNC page 121
connector on the front panel of Agilent 81640A/80A/82A Tun-
able Laser modules.
[:SOURce[n]][:CHANnel[m]]:AM
[:INTernal]:FREQuency[l]/? Sets or returns the frequency of an internal signal source. page 115
:SOURce[l]/? Sets or returns a source for the modulating system. page 116
[:SOURce[n]][:CHANnel[m]]:FM
:SOURce[l]/? Sets or returns the type of frequency modulaion employed, spe- page 118
cifically Simulated Brillouin Scattering (SBS) control.
:STATe[l]/? Turns Frequency Modulation of a source on or off or queries page 119
whether Frequency Modulation is on or off.
:SBSCtrl:FREQuency[l]/? Sets or returns the frequency of SBS Control modulation. page 120
:SBSCtrl:LEVel[l]/? Sets or returns the level of SBS Control modulation page 120
(as a percentage of maximum)
[:SOURce[n]][:CHANnel[m]:]POWer
[:LEVel][:IMMediate][:AMPLitude[l]] Sets the laser output power of a source. page 124
[:LEVel]:RISetime[l]/? Sets or returns the laser rise time of a source. page 126
:ATTenuation[l]/? Sets or returns the attenuation level for a source. page 122
:STATe/? Sets or returns the state of the source output signal. page 127
[:SOURce[n]][:CHANnel[m]:]READout
:DATA? Returns number of datapoints returned by the page 129
[:SOURce[n]][:CHANnel[m]]:READout:POINts? command.
: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 maxi- page 129
mum power at wavelength characteristic will return.
:POINts? Returns the data as a binary stream from either a lambda logging page 130
operation or the maximum power the laser can produce at each
wavelength.
[:SOURce[n]][:CHANnel[m]:]WAVelength
[:CW[l]:FIXED] Sets the absolute wavelength of a source. page 130
:FREQuency[l]/? Sets the frequency difference used to calculate a relative wave- page 134
length for a source.
:REFerence[l]? Returns the reference wavelength of a source. page 135
[:SOURce[n]][:CHANnel[m]:]WAVelength:CORRection
:ARA Realigns the laser cavity. page 131
:ARA:ALL Realigns the laser cavity of every tunable laser source in the page 132
mainframe.
:AUTocalib Sets or returns tunable laser source Auto Calibration state. page 132
:ZERO:ALL Executes a wavelength zero on every tunable laser source in the page 133
mainframe.
:ZERO:TEMPerature:ACTual? Reports the current lambda zero temperature page 133
:ZERO:TEMPerature:DIFFerence? Reports the temperature difference required to trigger an auto page 134
lamda zero.
:ZERO:TEMPerature:LASTzero? Reports the temperature at which the last auto lamda zero took page 134
place.
:ZERO:AUTO Forces an auto lamda zero. This is quicker than the equilavent page 134
manual process.
[:SOURce[n]][:CHANnel[m]:]WAVelength:REFerence
:DISPlay Sets the reference wavelength of a source to the value of the out- page 135
put wavelength.
[:SOURce[n]][:CHANnel[m]:]WAVelength:SWEep
:CHECkparams? Returns whether sweep parameters set are consistent. page 136
:EXPectedtriggers? Returns number of triggers (used to configure power meter). page 138
:FLAG? Returns whether waiting for trigger, or logging data available. page 139
:LLOGging/? Switches lambda logging on or off or queries the state of lambda page 140
logging.
:MODE/? Sets or returns the sweep mode. page 141
:PMAX? Returns the highest permissible power for a wavelength sweep. page 141
:SPEed/? Sets or returns the speed for continuous sweeping. page 143
:STARt/? Sets or returns the start point of the sweep. page 144
:STOP/? Sets or returns the end point of the sweep. page 144
[:STATe]/? Stops, starts, pauses or continues a wavelength sweep or returns page 145
the the state of a sweep.
[:SOURce[n]][:CHANnel[m]:]WAVelength:SWEep:STEP
:NEXT Performs the next sweep step. page 146
[:WIDTh]/? Sets or returns the width of the sweep step. page 146
:SPECial
:REBoot Reboots the mainframe and all modules. page 84
:STATus[n]
:PRESet Presets all Enable Registers. page 69
: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.
:CONDition? Returns the Operational Status Condition Summary Register. page 68
:CONDition:LEVel1? Returns the Operational Status Condition Summary Register for page 67
slots 15 - 17 of the Agilent 8166A/B Lightwave Multichannel Sys-
tem.
:ENABle/? Sets or queries the Operational Status Enable Summary Mask. page 69
:ENABle:LEVel1/? Sets or queries the Operational Status Enable Summary Mask for page 67
slots 15 - 17 of the Agilent 8166A/B Lightwave Multichannel Sys-
tem.
:STATusn:OPERation
[:EVENt]? Returns the Operational Slot Status Event Register for slot n. page 68
:CONDition? Returns the Operational Slot Status Condition Register for slot n. page 68
:ENABle/? Sets or queries the Operation Slot Status Enable Mask for slot n. page 69
:STATus:QUEStionable
[:EVENt]? Returns the Questionable Status Event Summary Register. page 74
[:EVENt]:LEVel1? Returns the Questionable Status Event Summary Register for page 72
slots 15 - 17 of the Agilent 8166A/B Lightwave Multichannel Sys-
tem.
:CONDition? Returns the Questionable Status Condition Summary Register. page 74
:CONDition:LEVel1? Returns the Questionable Status Condition Summary Register for page 73
slots 15 - 17 of the Agilent 8166A/B Lightwave Multichannel Sys-
tem.
:ENABle/? Sets or queries the Questionable Status Enable Summary Mask. page 75
:ENABle:LEVel1/? Sets or queries the Questionable Status Enable Summary Mask page 73
for slots 15 - 17 of the Agilent 8166A/B Lightwave Multichannel
System.
:STATusn:QUEStionable
[:EVENt]? Returns the Questionable Slot Status Event Register for slot n. page 74
:CONDition? Returns the Questionable Slot Status Condition Register for slot page 74
n.
:ENABle/? Sets or queries the Questionable Slot Status Enable Mask for page 75
slot n.
:SYSTem
:DATE/? Sets or returns the instrument’s internal date. page 76
:ERRor? Returns the contents of the instrument’s error queue. page 76
:HELP:HEADers? Returns a list of GPIB commands. page 77
:PRESet Sets all parameters to their default values. page 77
:TIME/? Sets or returns the instrument’s internal time. page 77
:VERSion? Returns the instrument’s SCPI version. page 78
:SYSTem:COMMunicate:GPIB
[:SELF]:ADDress/? Sets or returns the GPIB address. page 78
:TRIGger:CONFiguration
:EXTended/? Sets or returns extended trigger configuration. page 179
:FPEDal/? Enables/disables the Input Trigger connector to be triggered us- page 178
ing a Foot Pedal or returns whether the Input Trigger connector
can be triggered using a Foot Pedal.
:TRIGger[n][CHANnel[m]]
:INPut/? Sets or returns the incoming trigger response . page 173
:OFFset/? Sets or returns the number of incoming triggers received before page 175
data logging begins
:INPut:REARm/? Re-arms input trigger page 174
:OUTPut/? Sets or returns the outgoing trigger response. page 176
:OUTPut:REARm/? Re-arms output trigger page 177
IEEE-Common Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Status Reporting – The STATus Subsystem. . . . . . . . . . . . 64
Interface/Instrument Behaviour Settings – The SYSTem
Subsystem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
IEEE-Common Commands
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 instru-
ment setting is unaltered by the command, although *OPC/*OPC? actions are cancelled.
parameters: none
response: none
example: *CLS
command: *ESE
syntax: *ESE<wsp><value>
0 ≤ value ≤ 255
description: The standard Event Status Enable command (*ESE) sets bits in the Standard Event Status
Enable Mask (SESEM) that enable the corresponding bits in the standard event status regis-
ter (SESR).
The register is cleared:
• at power-on,
• by sending a value of zero.
The register is not changed by the *RST and *CLS commands.
parameters: The bit value for the register (a 16-bit signed integer value):
Bit Mnemonic Decimal Value
7 (MSB) Power On 128
6 Not Used 0
5 Command Error 32
4 Execution Error 16
3 Device Dependent Error 8
2 Query Error 4
1 Not Used 0
0 (LSB) Operation Complete 1
response: none
example: *ESE 21
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<END>
command: *ESR?
syntax: *ESR?
description: The standard Event Status Register query *ESR? returns the contents of the Standard
Event Status Register. The register is cleared after being read.
parameters none
response The bit value for the register (a 16-bit signed integer value):
Bit Mnemonic Decimal Value
7 (MSB) Power On 128
6 Not used 0
5 Command Error 32
4 Execution Error 16
3 Device Dependent Error 8
2 Query Error 4
1 Not used 0
0 (LSB) Operation Complete 1
example: *ESR? → 21<END>
command: *IDN?
syntax: *IDN?
description: The IDeNtification query *IDN? gets the instrument identification over the interface.
parameters: none
response: The identification terminated by <END>:
For example.
Agilent Technologies manufacturer
mmmm instrument model number (for example 8164B)
ssssssss serial number
rrrrrrrrrr firmware revision level
example: *IDN? → Agilent Techologies,mmmm,ssssssss,rrrrrrrrrr<END>
NOTE The Agilent 8163A, Agilent 8164A, and Agilent8166A will always return Agilent Technologies as the
manufacturer. This will not be affected by the transition of these instruments to Agilent Technologies. This will
allow programs that use this string to continue functioning.
See “:SLOT[n]:HEAD[n]:IDN?” on page 82 for information on module identity strings.
command: *OPC
syntax: *OPC
description: The instrument parses and executes all program message units in the input queue and
sets the operation complete bit in the standard event status register (SESR). This com-
mand can be used to avoid filling the input queue before the previous commands have fin-
ished executing.
Some module firmware includes commands that set a "StatNOPC" flag during execution
to indicate that the module is busy. *OPC blocks the GPIB bus to all commands until every
module hosted by the instrument is no longer busy.
The following actions cancel the *OPC command (and put the instrument into Operation
Complete, Command Idle State):
• Power-on
• the Device Clear Active State is asserted on the interface.
• *CLS
• *RST
parameters: none
response: none
example: *OPC
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. If a module is executing a command which generates a
"StatNOPC" flag, the GPIB bus is not blocked to a command to another module. A second
command to a busy module is blocked until the module flag "StatOK" is set. Taking advan-
tage of this feature, and using *OPC? in a loop to query until the instrument returns 1, can
lead to useful gains in program execution efficiency.
The following actions cancel the *OPC? query (and put the instrument into Operation Com-
plete, Command Idle State):
• Power-on
• the Device Clear Active State is asserted on the interface.
• *CLS
• *RST
parameters: none
response: 1<END> is returned if all modules are ready to execute a new operation.
0<END> is returned if any module is busy.
example: *OPC? → 1<END>
command: *OPT?
syntax: *OPT?
description: The OPTions query *OPT? returns the modules installed in your instrument.
parameters: none
response: Returns the part number of all installed modules, separated by commas.
Slots are listed starting with the lowest slot number, that is, slot 0 for the Agilent 8164A/B
and Slot 1 for the Agilent 8163A/B and Agilent 8166A/B.
If any slot is empty or not recognised, two spaces are inserted instead of the module’s part
number. See the example below, where slots 1 and 4 are empty.
example: *OPT? → 81682A , , 81533B, 81532A, <END>
command: *RST
syntax: *RST
description: The ReSeT command *RST sets the mainframe and all modules to the reset setting (stan-
dard 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.
The following are not changed:
• GPIB (interface) state
• Instrument interface address
• Output queue
• Service request enable register (SRE)
• Standard Event Status Enable Mask (SESEM)
parameters: none
response: none
example: *RST
command: *STB?
syntax: *STB?
description: The STatus Byte query *STB? returns the contents of the Status Byte register.
parameters: none
response: The bit value for the register (a 16-bit signed integer value):
Bit Mnemonic Decimal Value
7 (MSB) Operation Status (OSB) 128
6 Not used 0
5 Event Status Bit (ESB) 32
4 Message Available (MAV) 16
3 Questionable Status (QSB) 8
2 Not used 0
1 Not used 0
0 Not used 0
example: *STB? → 128<END>
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. After the self-test the instrument is returned to the set-
ting that was active at the time the self-test query was processed. The self-test does not re-
quire operator interaction beyond sending the *TST? query.
parameters: none
response: The sum of the results for the individual tests (a 32-bit signed integer value, where 0 ≤ value
≤ 4294967296):
Bits Mnemonic Decimal Value
31 Selftest failed on Mainframe A negative value
18 - 30 Not used 0
17 Selftest failed on Slot 17 131072
16 Selftest failed on Slot 16 65536
15 Selftest failed on Slot 15 32768
14 Selftest failed on Slot 14 16384
13 Selftest failed on Slot 13 8192
12 Selftest failed on Slot 12 4096
11 Selftest failed on Slot 11 2048
10 Selftest failed on Slot 10 1024
9 Selftest failed on Slot 9 512
8 Selftest failed on Slot 8 256
7 Selftest failed on Slot 7 128
6 Selftest failed on Slot 6 64
5 Selftest failed on Slot 5 32
4 Selftest failed on Slot 4 16
3 Selftest failed on Slot 3 8
2 Selftest failed on Slot 2 4
1 Selftest failed on Slot 1 2
0 Selftest failed on Slot 0 1
If 16 is returned, the module in slot 4 has failed.
If 18 is returned, the modules in slots 1 and 4 have failed.
A value of zero indicates no errors.
example: *TST? → 0<END>
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.
parameters: none
response: none
example: *WAI
command: :STATus:OPERation[:EVENt][:LEVel0]?
syntax: :STATus:OPERation[:EVENt][:LEVel0]?
description: Returns the Operational Status Event Summary Register (OSESR).
parameters: none
response: The sum of the results for the slots (a 16-bit signed integer value, where 0 ≤ value ≤ 32767):
Bits Mnemonics Decimal Value
Agilent 8163A/B Agilent 8164A/B Agilent 8166A/B
15 Not used Not used Not used 0
14 Not used Not used Slot 14 Summary 16384
13 Not used Not used Slot 13 Summary 8192
12 Not used Not used Slot 12 Summary 4096
11 Not used Not used Slot 11 Summary 2048
10 Not used Not used Slot 10 Summary 1024
9 Not used Not used Slot 9 Summary 512
8 Not used Not used Slot 8 Summary 256
7 Not used Not used Slot 7 Summary 128
6 Not used Not used Slot 6 Summary 64
5 Not used Not used Slot 5 Summary 32
4 Not used Slot 4 Summary Slot 4 Summary 16
3 Not used Slot 3 Summary Slot 3 Summary 8
2 Slot 2 Summary Slot 2 Summary Slot 2 Summary 4
1 Slot 1 Summary Slot 1 Summary Slot 1 Summary 2
0 Not used Slot 0 Summary Level 1 Summary 1
example: stat:oper? → +0<END>
command: :STATus:OPERation:CONDition[:LEVel0]?
syntax: :STATus:OPERation:CONDition[:LEVel0]?
description: Reads the Operational Status Condition Summary Register.
parameters: none
response: The sum of the results for the individual slots (a 16-bit signed integer value, where 0 ≤ value ≤
32767):
Bits Mnemonics Decimal Value
Agilent 8163A/B Agilent 8164A/B Agilent 8166A/B
15 Not used Not used Not used 0
14 Not used Not used Slot 14 Summary 16384
13 Not used Not used Slot 13 Summary 8192
12 Not used Not used Slot 12 Summary 4096
11 Not used Not used Slot 11 Summary 2048
10 Not used Not used Slot 10 Summary 1024
9 Not used Not used Slot 9 Summary 512
8 Not used Not used Slot 8 Summary 256
7 Not used Not used Slot 7 Summary 128
6 Not used Not used Slot 6 Summary 64
5 Not used Not used Slot 5 Summary 32
4 Not used Slot 4 Summary Slot 4 Summary 16
3 Not used Slot 3 Summary Slot 3 Summary 8
2 Slot 2 Summary Slot 2 Summary Slot 2 Summary 4
1 Slot 1 Summary Slot 1 Summary Slot 1 Summary 2
0 Not used Slot 0 Summary Level 1 Summary 1
example: stat:oper:cond? → +0<END>
command: :STATus:OPERation:ENABle[:LEVel0]
syntax: :STATus:OPERation:ENABle[:LEVel0]<wsp><value>
description: Sets the bits in the Operational Status Enable Summary Mask (OSESM) that enable the con-
tents 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.
parameters: The bit value for the OSESM as a 16-bit signed integer value (0 .. +32767)
The default value is 0.
response: none
example: stat:oper:enab 128
command: :STATus:OPERation:ENABle[:LEVel0]?
syntax: :STATus:OPERation:ENABle[:LEVel0]?
description: Returns the OSESM for the OSESR
parameters: none
response: The bit value for the operation enable mask as a 16-bit signed integer value (0 .. +32767)
example: stat:oper:enab? → +128<END>
command: :STATus:OPERation[:EVENt]:LEVel1?
syntax: :STATus:OPERation[:EVENt]:LEVel1?
description: Returns the Operational Status Event Summary Register (OSESR) for slots 15 to 17 of the
Agilent 8166A/B Lightwave Multichannel System.
parameters: none
response: The sum of the results for the slots (a 16-bit signed integer value, where 0 ≤ value ≤ 32767):
Bits Mnemonics Decimal Value
Agilent 8166A/B
15-4 Not used 0
3 Slot 17 Summary 8
2 Slot 16 Summary 4
1 Slot 15 Summary 2
0 Not used 0
example: stat:oper:level1? → +0<END>
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.
parameters: none
response: The sum of the results for slots 15 to 17 (a 16-bit signed integer value, where 0 ≤ value ≤
32767):
Bits Mnemonics Decimal Value
Agilent 8166A/B
15-4 Not used 0
3 Slot 17 Summary 8
2 Slot 16 Summary 4
1 Slot 15 Summary 2
0 Not used 0
example: stat:oper:cond:level1? → +0<END>
command: :STATus:OPERation:ENABle:LEVel1
syntax: :STATus:OPERation:ENABle:LEVel1<wsp><value>
description: Sets the bits in the Operational Status Enable Summary Mask (OSESM) that enable the con-
tents of the OSESR for slots 15 - 17 of the Agilent 8166A/B Lightwave Measurement System
to affect the Status Byte (STB).
Setting a bit in this register to 1 enables the corresponding bit in the OSESR for slots 15 - 17 of
the Agilent 8166A/B Lightwave Measurement System to affect bit 7 of the Status Byte.
parameters: The bit value for the OSESM as a 16-bit signed integer value (0 .. +32767)
The default value is 0.
response: none
example: stat:oper:enab:level1 128
command: :STATus:OPERation:ENABle:LEVel1?
syntax: :STATus:OPERation:ENABle:LEVel1?
description: Returns the OSESM for the OSESR for slots 15 - 17 of the Agilent 8166A/B Lightwave Mea-
surement System
parameters: none
response: The bit value for the operation enable mask as a 16-bit signed integer value (0 .. +32767)
example: stat:oper:enab:level1? → +128<END>
command: :STATusn:OPERation[:EVENt]?
syntax: :STATusn:OPERation[:EVENt]?
description: Returns the Operational Slot Status Event Register (OSSER) of slot n.
parameters: none
response: The results for the individual slot events (a 16-bit signed integer value, where 0 ≤ value ≤
32767):
Bit Mnemonic Decimal Value
8-15 Not used 0
7 Slot n: offset (λ) type bit 2 128
6 Slot n: offset (λ) type bit 1 64
5 Slot n: offset (λ) has been enabled 32
4 Slot n: shutter has been opened 16
3 Slot n: Zeroing ongoing 8
2 Not used 0
1 Slot n: Coherence Control has been switched on 2
0 Slot n: Laser has been switched on 1
example: stat1:oper? → +0<END>
command: :STATusn:OPERation:CONDition?
syntax: :STATusn:OPERation:CONDition?
description: Returns the Operational Slot Status Condition Register of slot n.
parameters: none
response: The results for the individual slot events (a 16-bit signed integer value, where 0 ≤ value ≤
32767):
Bit Mnemonic Decimal Value
8-15 Not used 0
7 Slot n: offset (λ) type bit 2 128
6 Slot n: offset (λ) type bit 1 64
5 Slot n: offset (λ) enabled 32
4 Slot n: shutter open 16
3 Slot n: Zeroing ongoing 8
2 Not used 0
1 Slot n: Coherence Control is switched on 2
0 Slot n: Laser is switched on 1
example: stat1:oper:cond? → +0<END>
NOTE: Only attenuator bits 5 to 7 are used to show whether the offset feature is
used and which algorithm is used to calculate the wavelength dependent
offset.
Bit 5 states if the feature is enabled or disabled. Bits 6 and 7 are decoded as
shown below to say whether the attenuator uses saved, interpolated, or
extrapolated values.
command: :STATusn:OPERation:ENABle
syntax: :STATusn:OPERation:ENABle<wsp><value>
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 affect the OSESR.
Setting a bit in this register to 1 enables the corresponding bit in the OSSER for slot n to af-
fect bit n of the OSESR.
parameters: The bit value for the OSSEM as a 16-bit signed integer value (0 .. +32767)
response: none
example: stat:oper:enab 128
command: :STATusn:OPERation:ENABle?
syntax: :STATusn:OPERation:ENABle?
description: Returns the OSSEM of slot n
parameters: none
response: The bit value for the OSSEM as a 16-bit signed integer value (0 .. +32767)
example: stat:oper:enab? → +128<END>
command: :STATus:PRESet
syntax: :STATus:PRESet
description: Presets all bits in all the enable masks for both the OPERation and QUEStionable status sys-
tems to 0, that is, OSSEM, QSSEM, OSESM, and QSESM.
parameters: none
response: none
example: stat:pres
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 .. +32767)
Bits Mnemonics Decimal Value
Agilent 8163A/B Agilent 8164A/B Agilent 8166A/B
15 Not used Not used Not used 0
14 Not used Not used Slot 14 Summary 16384
13 Not used Not used Slot 13 Summary 8192
12 Not used Not used Slot 12 Summary 4096
11 Not used Not used Slot 11 Summary 2048
10 Not used Not used Slot 10 Summary 1024
9 Not used Not used Slot 9 Summary 512
8 Not used Not used Slot 8 Summary 256
7 Not used Not used Slot 7 Summary 128
6 Not used Not used Slot 6 Summary 64
5 Not used Not used Slot 5 Summary 32
4 Not used Slot 4 Summary Slot 4 Summary 16
3 Not used Slot 3 Summary Slot 3 Summary 8
2 Slot 2 Summary Slot 2 Summary Slot 2 Summary 4
1 Slot 1 Summary Slot 1 Summary Slot 1 Summary 2
0 Not used Slot 0 Summary Level 1 Summary 1
example: stat:ques? → +0<END>
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 .. +32767)
Bits Mnemonics Decimal Value
Agilent 8163A/B Agilent 8164A/B Agilent 8166A/B
15 Not used Not used Not used 0
14 Not used Not used Slot 14 Summary 16384
13 Not used Not used Slot 13 Summary 8192
12 Not used Not used Slot 12 Summary 4096
11 Not used Not used Slot 11 Summary 2048
10 Not used Not used Slot 10 Summary 1024
9 Not used Not used Slot 9 Summary 512
8 Not used Not used Slot 8 Summary 256
7 Not used Not used Slot 7 Summary 128
6 Not used Not used Slot 6 Summary 64
5 Not used Not used Slot 5 Summary 32
4 Not used Slot 4 Summary Slot 4 Summary 16
3 Not used Slot 3 Summary Slot 3 Summary 8
2 Slot 2 Summary Slot 2 Summary Slot 2 Summary 4
1 Slot 1 Summary Slot 1 Summary Slot 1 Summary 2
0 Not used Slot 0 Summary Level 1 Summary 1
example: stat:ques:cond? → +0<END>
command: :STATus:QUEStionable:ENABle[:LEVel0]
syntax: :STATus:QUEStionable:ENABle[:LEVel0]<wsp><value>
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.
parameters: The bit value for the questionable enable mask as a 16-bit signed integer value (0 .. +32767)
The default value is 0.
response: none
example: stat:ques:enab 128
command: :STATus:QUEStionable:ENABle[:LEVel0]?
syntax: :STATus:QUEStionable:ENABle[:LEVel0]?
description: Returns the QSESM for the event register
parameters: none
response: The bit value for the QSEM as a 16-bit signed integer value (0 .. +32767)
example: stat:ques:enab? → +128<END>
command: :STATus:QUEStionable[:EVENt]:LEVel1?
syntax: :STATus:QUEStionable[:EVENt]:LEVel1?
description: Returns the Questionable Status Event Summary Register (QSESR) for slots 15 to 17 of the
Agilent 8166A/B Lightwave Multichannel System.
parameters: none
response: The sum of the results for the slots (a 16-bit signed integer value, where 0 ≤ value ≤ 32767):
Bits Mnemonics Decimal Value
Agilent 8166A/B
15-4 Not used 0
3 Slot 17 Summary 8
2 Slot 16 Summary 4
1 Slot 15 Summary 2
0 Not used 0
example: stat:ques:level1? → +0<END>
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.
parameters: none
response: The sum of the results for the slots (a 16-bit signed integer value, where 0 ≤ value ≤ 32767):
Bits Mnemonics Decimal Value
Agilent 8166A/B
15-4 Not used 0
3 Slot 17 Summary 8
2 Slot 16 Summary 4
1 Slot 15 Summary 2
0 Not used 0
example: stat:ques:cond:level1? → +0<END>
command: :STATus:QUEStionable:ENABle:LEVel1
syntax: :STATus:QUEStionable:ENABle:LEVel1<wsp><value>
description: Sets the bits in the Questionable Status Enable Summary Mask (QSESM) that enable the
contents of the QSESR for slots 15 - 17 of the Agilent 8166A/B Lightwave Measurement
System to affect the Status Byte (STB).
Setting a bit in this register to 1 enables the corresponding bit in the OSESR for slots 15 - 17
of the Agilent 8166A/B Lightwave Measurement System to affect bit 7 of the Status Byte.
parameters: The bit value for the QSESM as a 16-bit signed integer value (0 .. +32767)
The default value is 0.
response: none
example: stat:oper:enab:level1 128
command: :STATus:QUEStionable:ENABle:LEVel1?
syntax: :STATus:QUEStionable:ENABle:LEVel1?
description: Returns the QSESM for the QSESR for slots 15 - 17 of the Agilent 8166A/B Lightwave Mea-
surement System
parameters: none
response: The bit value for the QSESM as a 16-bit signed integer value (0 .. +32767)
example: stat:oper:enab:level1? → +128<END>
command: :STATusn:QUEStionable[:EVENt]?
syntax: :STATusn:QUEStionable[:EVENt]?
description: Returns the questionable status of slot n - the Questionable Slot Status Event Register (QSS-
ER).
parameters: none
response: The results for the individual slot events (a 16-bit signed integer value, where 0 ≤ value ≤
32767):
Bit Mnemonic Decimal Value
11-15 Not Used 0
10 Slot n: Lambda zeroing has been recommended 1024
9 Slot n: Beam Path Protection on (shutter off) 512
8 Slot n: Coherence control is uncalibrated 256
7 Slot n: Duty cycle has been out of range 128
6 Slot n: ARA has been recommended 64
5 Slot n: Module has been out of specification 32
4 Slot n: Module has settled unsuccessfully 16
3 Slot n: Laser protection has been on 8
2 Slot n: Temperature has been out of range 4
1 Slot n: A Zeroing operation has failed 2
0 Slot n: Excessive Value has occurred 1
Every nth bit is the summary of slot n.
example: stat1:oper? → +0<END>
command: :STATusn:QUEStionable:CONDition?
syntax: :STATusn:QUEStionable:CONDition?
description: Returns the Questionable Slot Status Condition Register for slot n.
parameters: none
response: The results for the individual slot events (a 16-bit signed integer value, where 0 ≤ value ≤
32767):
Bit Mnemonic Decimal Value
11 - 15 Not Used
10 Slot n: Lambda zeroing is recommended 1024
9 Slot n: Beam Path Protection on (shutter off) 512
8 Slot n: Coherence control is uncalibrated 256
7 Slot n: Duty cycle is out of range 128
6 Slot n: ARA recommended 64
5 Slot n: Module is out of specification 32
4 Slot n: Module has not settled 16
3 Slot n: Laser protection on 8
2 Slot n: Temperature out of range 4
1 Slot n: Zeroing failed 2
0 Slot n: Excessive Value 1
Every nth bit is the summary of slot n.
example: stat1:ques:cond? → +0<END>
command: :STATusn:QUEStionable:ENABle
syntax: :STATusn:QUEStionable:ENABle<wsp><value>
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 af-
fect bit n of the QSESR.
parameters: The bit value for the QSSEM as a 16-bit signed integer value (0 .. +32767)
response: none
example: stat:ques:enab 128
command: :STATusn:QUEStionable:ENABle?
syntax: :STATusn:QUEStionable:ENABle?
description: Returns the QSSEM for slot n
parameters: none
response: The bit value for the QSSEM as a 16-bit signed integer value (0 .. +32767)
example: stat:ques:enab? → +128<END>
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<wsp><year>,<month>,<day>
description: Sets the instrument’s internal date.
parameters: • the first value is the year (four digits),
• the second value is the month, and
• the third value is the day.
response: none
example: syst:date 1999, 1, 12
command: :SYSTem:DATE?
syntax: :SYSTem:DATE?
description: Returns the instrument’s internal date.
parameters: none
response: The date in the format year, month, day (16-bit signed integer values)
example: syst:date? → +1999,+1,+12<END>
command: :SYSTem:ERRor?
syntax: :SYSTem:ERRor?
description: Returns the next error from the error queue (see “The Error Queue” on page 22).
Each error has the error code and a short description of the error, separated by a comma, for
example 0, "No error".
Error codes are numbers in the range -32768 and +32767.
Negative error numbers are defined by the SCPI standard. Positive error numbers are device
dependent.
parameters: none
response: The number of the latest error, and its meaning.
example: syst:err? → -113,"Undefined header"<END>
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. This command has
the same function as the Preset hardkey.
The following are not affected by this command:
• the GPIB (interface) state,
• the backlight and contrast of the display,
• the interface address,
• the output and error queues,
• the Service Request Enable register (SRE),
• the Status Byte (STB),
• the Standard Event Status Enable Mask (SESEM), and
• the Standard Event Status Register (SESR).
parameters: none
response: none
example: SYST:PRES
command: :SYSTem:TIME
syntax: :SYSTem:TIME<wsp><hour>,<minute>,<second>
description: Sets the instrument’s internal time.
parameters: • the first value is the hour (0 .. 23),
• the second value is the minute, and
• the third value is the seconds.
response: none
example: syst:time 20,15,30
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<END>
command: :SYSTem:VERSion?
syntax: :SYSTem:VERSion?
description: Returns the SCPI revision to which the instrument complies.
parameters: none
response: The revision year and number.
example: syst:vers? → 1995.0<END>
command: :SYSTem:COMMunicate:GPIB[:SELF]:ADDRess
syntax: :SYSTem:COMMunicate:GPIB[:SELF]:ADDRess<wsp><GPIB Address>
description: Sets the GPIB address.
parameters: The GPIB Address Values allowed 0-30
21 is often reseverved by the GPIB Controller.
response: none
example: SYST:COMM:GPIB:ADDR 20
command: :SYSTem:COMMunicate:GPIB[:SELF]:ADDRess?
syntax: :SYSTem:COMMunicate:GPIB[:SELF]:ADDRess?
description: Returns the GPIB address.
parameters: none
response: The GPIB Address
example: SYST:COMM:GPIB:ADDR? → +20<END>
This chapter gives descriptions of commands that you can use when you
are setting up or performing measurements. The commands are split up
into the following subsystems:
• Root layer commands that take power measurements, configures
triggering, and return information about the mainframe and it’s slots
• SENSe subsystem commands that control Power Sensors, Optical Head
Interface Modules, and Return Loss Modules.
• SOURce subsystem commands that control Laser Source modules, DFB
source modules, Tunable Laser modules, and Return Loss Modules with
internal laser sources.
• Signal Conditioing commands that control Attenuator modules.
• TRIGger subsystem commands that control triggering.
command: :LOCK
syntax: :LOCK<wsp><boolean>, <value>
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
<value> is the four-figure lock password.
response: none
example: lock 1,1234 - 1234 is the default password
command: :LOCK?
syntax: :LOCK?
description: Queries the current state of the lock.
parameters: none
response: A boolean value: 0: lock is switched off
1: lock is switched on
example: lock? → 1<END>
The commands in the Slot subsystem allow you to query the following:
• a particular slot, for example, using slot1:empt?,
• or, an Optical Head attached to an Optical Head Interface Module, for
example, an Optical Head Interface Module in slot1 with an Optical
Head attached to channel 2, using slot1:head2:empt?.
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<END> 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.
parameters: none
response: HEWLETT-PACKARD: manufacturer
mmmm: instrument model number (for example 81533B)
ssssssss: serial number
rrrrrrrrrr: date of firmware revision
example: slot1:idn? →
HEWLETT-PACKARD, 81533B,3411G06054,07-Aug-98<END>
NOTE • The Agilent 81640A/80A/82A/89A Tunable Laser modules will always return
Agilent Technologies as the manufacturer.
• All other Agilent 8163A Series modules return Agilent Technologies as the
manufacturer.
• The HP 8153A Series modules will always return Agilent Technologies as the
manufacturer.
See “*IDN?” on page 59 for information on mainframe identity strings.
affects: Independent of module type
command: :SLOT[n]:OPTions?
syntax: :SLOT[n]:OPTions?
description: Returns information about a module’s options.
parameters: none
response: A string.
example: slot1:opt? → NO CONNECTOR OPTION, NO INSTRUMENT OPTIONS<END>
affects: Independent of module type
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.
example: slot:tst? → +0,"self test OK"<END>
affects: Independent of module type
command: :SLOT[n]:HEAD[n]:EMPTy?
syntax: :SLOT[n]:HEAD[n]:EMPTy?
description: Queries whether an optical head is connected.
parameters: none
response: A boolean value: 0: there is a module in the slot
1: the module slot is empty
examples: slot1:head:empt? → 0<END> An optical head is connected to the optical
head interface module in slot 1
NOTE • The HP 8153A Series Optical Heads will always return Agilent Technologies as
the manufacturer.
• All other Agilent 8163A Series Optical Heads return Agilent Technologies as the
manufacturer.
See “*IDN?” on page 59 for information on mainframe identity strings.
affects: Optical heads
command: :SLOT[n]:HEAD[n]:IDN?
syntax: :SLOT[n]:HEAD[n]:IDN?
description: Returns information about the optical head.
parameters: none
response: HEWLETT-PACKARD: manufacturer
mmmm: instrument model number (for example 81520A)
ssssssss: serial number
rrrrrrrrrr: date of firmware revision
example: slot1:head:idn? →
HEWLETT-PACKARD, 81520A,3411G06054,07-Aug-98<END>
affects: Optical heads
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<END>
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.
NOTE This command does not perform a selftest. Use selfTeST command, “*TST?” on
page 62, to perform a selftest.
parameters: none
response: Returns an error code and a short description of the error.
example: slot:head:tst? → +0,"self test OK"<END>
affects: Optical heads
command: :SLOT[n]:HEAD[m]:WAVelength:RESPonse?
syntax: :SLOT[n]:HEAD[m]:WAVelength:RESPonse?
description: Returns the wavelength response from a wavelength calibrated module in binary format.
response: Wavelength Response table as a binary block.
response One 8 byte long wavelength calibration value pair consisting of a 4 byte long float for wave-
format: length and a 4 byte long float for the scalar calibration factor.
For more information on binary block formats see “Data Types” on page 26
example: slot1:head1:wav:resp? → #536570........
affects: Attenuator with power control, all powermeters, return loss modules
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 The string is a comma separated value (CSV) list and can be written to a file and be pro-
format: cessed with a spreadsheet program.
List format:
λ1, c1\n
λ2, c2\n
.......
λn, cn\n
"," separates wavelength and response factor
"\n" = ASCII code 10 separate value pairs
example: slot1:head1:wav:resp:csv? → 1200e-6,2.019\n 1210e-6,
1.956\n...
affects: Attenuator with power control, all powermeters, return loss modules
command: :SLOT[n]:HEAD[m]:WAVelength:RESPonse:SIZE?
syntax: :SLOT[n]:HEAD[m]:WAVelength:RESPonse:SIZE?
description: Returns the number of elements in the wavelength response table.
response Number of elements in the wavelength table as an integer value
example: slot2:head1:wav:resp:size? → 50<END>
affects: Attenuator with power control, all powermeters, return loss modules
command: :SPECial:REBoot
syntax: :SPECial:REBoot
description: Reboots the mainframe and all modules.
parameters: none
response: none
example: spec:reb
Table 5 Commands that can only be configured using the master channel
Command Page
:INITiate[n]:[CHANnel[m]][:IMMediate] page 88
:INITiate[n]:[CHANnel[m]]:CONTinuous/? page 89
:READ[n][:CHANnel[m]][:SCALar]:POWer[:DC]? page 90
:SENSe[n]:[CHANnel[m]]:CORRection:COLLect:ZERO page 92
:SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:LOGGing/? page 94
:SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:MINMax/? page 95
:SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:STABility/? page 96
:SENSe[n][:CHANnel[m]]:FUNCtion:STATe/? page 100
:SENSe[n]:[CHANnel[m]]:POWer:ATIME/? page 101
:SENSe[n]:[CHANnel[m]]:POWer:RANGe:AUTO/? page 104
:TRIGger[n][:CHANnel[m]]:INPut/? page 173
:TRIGger[n][:CHANnel[m]]:INPut:REARm/? page 174
:TRIGger[n][:CHANnel[m]]:OUTPut/? page 176
:TRIGger[n][:CHANnel[m]]:OUTPut:REARm/? page 177
The commands listed in Table 6 are independent for both master and slave
channels.
Table 6 Commands that are independent for both master and slave channels
Command Page
:FETCh[n][:CHANnel[m]][:SCAlar]:POWer[:DC]? page 87
:ROUTe[n][:CHANnel[m]]/? page 169
:ROUTe[n][:CHANnel[m]]:CONFig? page 170
:ROUTe[n][:CHANnel[m]]:CONFig:ROUTe? page 170
:SENSe[n]:[CHANnel[m]]:CORRection[:LOSS][:INPut] [:MAGNi- page 92
tude]/?
:SENSe[n]:[CHANnel[m]]:CORRection:COLLect:ZERO? page 93
:SENSe[n]:[CHANnel[m]]:CORRection:COLLect:ZERO:ALL page 93
:SENSe[n][:CHANnel[m]]:FUNCtion:RESult? page 97
:SENSe[n]:[CHANnel[m]]:POWer:RANGe[:UPPer]/? page 102
:SENSe[n]:[CHANnel[m]]:POWer:REFerence/? page 105
:SENSe[n]:[CHANnel[m]]:POWer:REFerence:DISPlay page 106
:SENSe[n]:[CHANnel[m]]:POWer:REFerence:STATe/? page 106
:SENSe[n]:[CHANnel[m]]:POWer:REFerence:STATe:RATio/? page 107
:SENSe[n]:[CHANnel[m]]:POWer:UNIT/? page 108
:SENSe[n]:[CHANnel[m]]:POWer:WAVelength/? page 108
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 val-
ue at return loss diode (back reflection path). It does not provide its own triggering and so
must be used with either continuous software triggering (see
“:INITiate[n]:[CHANnel[m]]:CONTinuous?” on page 89) or a directly preceding immediate
software trigger (see “:INITiate[n]:[CHANnel[m]][:IMMediate]” on page 88).
It returns the value the previous software trigger measured. Any subsequent FETCh com-
mand will return the same value, if there is no subsequent software trigger.
parameters: none
response: The current value as a float value in dBm,W or dB.
NOTE If the reference state is absolute, units are dBm or W.
If the reference state is relative, units are dB.
example: fetc1:pow? → +6.73370400E-04<END>
affects: All power meters, return loss modules, and attenuators with power sensors
dual sensors: Master and slave channels are independent.
command: :FETCh[n][:CHANnel[m]][:SCAlar]:RETurnloss?
syntax: :FETCh[n]:[CHANnel[m]][:SCAlar]:RETurnloss?
description: Reads the current return loss value. It does not provide its own triggering and so must be
used with either continuous software triggering (see
“:INITiate[n]:[CHANnel[m]]:CONTinuous?” on page 89) or a directly preceding immediate
software trigger (see “:INITiate[n]:[CHANnel[m]][:IMMediate]” on page 88).
It returns the return loss value the previous software trigger measured. Any subsequent
FETCh command will return the same value, if there is no subsequent software trigger.
parameters: none
response: The current value as a float value in dB.
example: fetc1:ret? → +6.73370400E-00<END>
affects: All return loss modules
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). It does
not provide its own triggering and so must be used with either continuous software trigger-
ing (see “:INITiate[n]:[CHANnel[m]]:CONTinuous?” on page 89) or a directly preceding im-
mediate software trigger (see “:INITiate[n]:[CHANnel[m]][:IMMediate]” on page 88).
It returns the monitor value the previous software trigger measured. Any subsequent FETCh
command will return the same value, if there is no subsequent software trigger.
parameters: none
response: The current value as a float value in W or dBm.
example: fetc1:mon? → +6.73370400E-00<END>
affects: All return loss modules
command: :INITiate[n]:[CHANnel[m]][:IMMediate]
syntax: :INITiate[n]:[CHANnel[m]][:IMMediate]
description: Initiates the software trigger system and completes one full trigger cycle, that is, one mea-
surement is made.
parameters: none
response: none
example: init
affects: All power meters, return loss modules.
dual sensors: Can only be sent to master channel, slave channel is also affected.
command: :INITiate[n]:[CHANnel[m]]:CONTinuous
syntax: :INITiate[n]:[CHANnel[m]]:CONTinuous<wsp><boolean>
description: Sets the software trigger system to continuous measurement mode.
parameters: A boolean value: 0 or OFF: do not measure continuously
1 or ON: measure continuously
response: none
example: init2:cont 1
affects: All power meters, return loss modules.
dual sensors: Can only be sent to master channel, slave channel is also affected.
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: 0 or OFF: measurement is not continuous
1 or ON: measurement is continuous
example: init2:cont? → 1<END>
affects: All power meters, return loss modules.
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :READ[n][:CHANnel[m]][SCALar:]:POWer:ALL?
syntax: :READ[n]:[CHANnel[m]]:POWer:[:DC]:ALL?
description: Reads all available power meter channels. It provides its own software triggering and does
not need a triggering command.
NOTE The power meters must be running for this command to be effective.
parameters: none
response: 4-byte Intel float values in a binary block in Intel byte order. The values are ordered by slot
and channel order.
See “Data Types” on page 26 for more information on Binary Blocks.
NOTE Data values are always in Watt.
example: read1:pow:all? → interpreted as
+1.33555600E-006|+1.34789100E-006|+1.37456900E-006<END>
affects: All power meters (v3.0x firmware or later).
dual sensors: Master channels receive a read command, see:
“:READ[n][:CHANnel[m]][:SCALar]:POWer[:DC]?” on page 90
Slave channels receive a fetch command, see:
“:FETCh[n][:CHANnel[m]][:SCAlar]:POWer[:DC]?” on page 87.
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 num-
ber.
parameters: none
response: A binary block (Intel byte order) consisting of 2-byte unsigned integer value pairs (so each
pair has 4 bytes). The first member of the pair represents the the slot number, the second
member of the pair represents the channel number.
example: read1:pow:all:conf? → interpreted as
1|1|1|2|12|1<END>
This 12-byte block means that there are three powermeters present:
Slot 1, Channel 1
Slot 1, Channel 2
Slot 12, Channel 1
affects: All power meters (v3.0x firmware or later).
dual sensors:
command: :READ[n][:CHANnel[m]][:SCALar]:POWer[:DC]?
syntax: :READ[n]:[CHANnel[m]][:SCALar]:POWer[:DC]?
description: Reads the current power meter value, or for a return loss module the power value at the re-
turn loss diode (back reflection path). It provides its own software triggering and does not
need a triggering command.
If the software trigger system operates continuously (see
“:INITiate[n]:[CHANnel[m]]:CONTinuous?” on page 89), this command is identical to
“:FETCh[n][:CHANnel[m]][:SCAlar]:POWer[:DC]?” on page 87.
If the software trigger system does not operate continuously, this command is identical to
generating a software trigger (“:INITiate[n]:[CHANnel[m]][:IMMediate]” on page 88) and
then reading the power meter value.
NOTE The power meter must be running for this command to be effective.
parameters: none
response: The current power meter reading as a float value in dBm, W or dB.
NOTE If the reference state is absolute, units are dBm or W.
If the reference state is relative, units are dB.
example: read1:pow? → +1.33555600E-006<END>
affects: All power meters and return loss modules and attenuator with power control
dual sensors: Can only be sent to master channel, slave channel is also triggered.
To read a simultaneous result from the slave channel, send
“:FETCh[n][:CHANnel[m]][:SCAlar]:POWer[:DC]?” on page 87 directly after this command.
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.
If the software trigger system operates continuously (see
“:INITiate[n]:[CHANnel[m]]:CONTinuous?” on page 89), this command is identical to
“:FETCh[n][:CHANnel[m]][:SCAlar]:RETurnloss?” on page 87.
If the software trigger system does not operate continuously, this command is identical to
generating a software trigger (“:INITiate[n]:[CHANnel[m]][:IMMediate]” on page 88) and
then reading the power meter value.
NOTE The return loss module must be running for this command to be effective.
parameters: none
response: The current power meter reading as a float value in dB.
example: read1:ret? → +1.33555600E-000<END>
affects: All return loss modules
command: :READ[n][:CHANnel[m]][:SCALar]:MONitor?
syntax: :READ[n]:[CHANnel[m]][:SCALar]:MONitor?
description: Reads the power value at the monitor diode (forward path). It provides its own software trig-
gering and does not need a triggering command.
If the software trigger system operates continuously (see
“:INITiate[n]:[CHANnel[m]]:CONTinuous?” on page 89), this command is identical to
“:FETCh[n][:CHANnel[m]][:SCAlar]:MONitor?” on page 88.
If the software trigger system does not operate continuously, this command is identical to
generating a software trigger (“:INITiate[n]:[CHANnel[m]][:IMMediate]” on page 88) and
then reading the power meter value.
NOTE The return loss module must be running for this command to be effective.
parameters: none
response: The current power meter reading as a float value in W or dBm
example: read1:mon? → +1.33555600E-000<END>
affects: All return loss modules
command: :SENSe[n]:[CHANnel[m]]:CORRection[:LOSS][:INPut][:MAGNitude]
syntax: :SENSe[n]:[CHANnel[m]]:CORRection[:LOSS][:INPUT][:MAGNitude]<wsp>
<value>[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.
response: none
example: sens1:corr 10DB
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:CORRection[:LOSS][:INPut][:MAGNitude]?
syntax: :SENSe[n]:[CHANnel[m]]:CORRection[:LOSS][:INPUT][:MAGNitude]?
description: Returns the calibration factor for a module.
parameters: none
response: The calibration factor as a float value. Units are in dB, although no units are returned in the
response message.
example: sens1:corr? → +1.00000000E+000<END>
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:CORRection:COLLect:ZERO
syntax: :SENSe[n]:[CHANnel[m]]:CORRection:COLLect:ZERO
description: Zeros the electrical offsets for a power meter or return loss module.
parameters: none
response: none
example: sens1:corr:coll:zero
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel is also zeroed.
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).
example: sens1:corr:coll:zero? → 0<END>
affects: All power meters and return loss modules
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:CORRection:COLLect:ZERO:ALL
syntax: SENSe[n]:[CHANnel[m]]:CORRection:COLLect:ZERO:ALL
description: Zeros the electrical offsets for all installed power meter and return loss modules.
parameters: none
response: none
example: sens:chan:corr:coll:zero:all
affects: All power meters and return loss modules
dual sensors: Command is independent of channel.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:LOGGing
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:LOGGing<wsp><data points>,
<averaging time>[NS|US|MS|S]
description: Sets the number of data points and the averaging time for the logging data acquisition func-
tion.
parameters: Data Points: Data Points is the number of samples that are recorded before the log-
ging mode is completed. Data Points is an integer value.
Averaging time: Averaging time is a time value in seconds.
There is no time delay between averaging time periods. Use
“:SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:STABility?” on
page 97 if you want to use delayed measurement.
Averaging Time
Measurement Running
1 2 3 4 5 6 7 8 9
Measurement Stopped t
If you specify no units for the averaging time value in your command, seconds are used as
the default.
NOTE See “:SENSe[n][:CHANnel[m]]:FUNCtion:STATe” on page 100 for information on start-
ing/stopping a data acquisition function.
NOTE See “:SENSe[n][:CHANnel[m]]:FUNCtion:RESult?” on page 97 for information on accessing
the results of a data acquisition function.
NOTE See “Triggering and Power Measurements” on page 171 for information on how triggering
affects data acquisition functions.
response: none
example: sens1:func:par:logg 64,1ms
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel is also affected.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:LOGGing?
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:LOGGing?
description: Returns the number of data points and the averaging time for the logging data acquisition
function.
parameters: none
response: Returns the number of data points as an integer value and the averaging time, tavg, as a float
value in seconds.
example: sens1:func:par:logg? → +64,+1.00000000E-001<END>
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:MINMax
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:MINMax<wsp>
CONTinous|WINDow|REFResh,<data points>
description: Sets the MinMax mode and the number of data points for the
MinMax data acquisition function.
parameters: CONTinous: continuous MinMax mode
WINDow: window MinMax mode
REFResh: refresh MinMax mode
Data Points is the number of samples that are recorded in the memory buffer used by the
WINDow and REFResh modes. Data Points is an integer value.
See Chapter 3 of the Agilent 8163A/B Lightwave Multimeter, Agilent 8164A/B Lightwave
Measurement System, & Agilent 8166A/B Lightwave Multichannel System User’s Guide, for
more information on MinMax mode.
NOTE See “:SENSe[n][:CHANnel[m]]:FUNCtion:STATe” on page 100 for information on start-
ing/stopping a data acquisition function.
NOTE See “:SENSe[n][:CHANnel[m]]:FUNCtion:RESult?” on page 97 for information on accessing
the results of a data acquisition function.
NOTE See “Triggering and Power Measurements” on page 171 for information on how triggering
affects data acquisition functions.
response: none
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 is also affected.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:MINMax?
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:MINMax?
description: Returns the MinMax mode and the number of data points for the MinMax data acquisition
function.
parameters: none
response: CONT: continuous MinMax mode
WIND: window MinMax mode
REFR: refresh MinMax mode
The number of data points is returned as an integer value.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:STABility
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:STABility<wsp>
<total time>[NS|US|MS|S],<period time>[NS|US|MS|S],<averaging time>[NS|US|MS|S]
description: Sets the total time, period time, and averaging time for the stability data acquisition function.
parameters: Total time: The total time from the start of stability mode until it is completed.
Period time: A new measurement is started after the completion of every period time.
Averaging time: A measurement is averaged over the averaging time.
Averaging Time
Period Time
Measurement Running
1 2 3 4 5
Measurement Stopped t
NOTE The total time should be longer than the period time.
The period time should be longer than the averaging time.
The number of data points is equal to the total time divided by the period time.
Total time, period time, and averaging time are time values in seconds.
If you specify no units in your command, seconds are used as the default.
NOTE See “:SENSe[n][:CHANnel[m]]:FUNCtion:STATe” on page 100 for information on starting/stop-
ping a data acquisition function.
NOTE See “:SENSe[n][:CHANnel[m]]:FUNCtion:RESult?” on page 97 for information on accessing the
results of a data acquisition function.
NOTE See “Triggering and Power Measurements” on page 171 for information on how triggering af-
fects data acquisition functions.
response: none
example: sens1:func:par:stab 1s,0.1s,0.1s
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel is also affected.
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 func-
tion.
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.00000000E-001<END>
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult?
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult?
description: Returns the data array of 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-byte-
long float in Intel byte order.
For the MinMax Data Acquisition function, the query returns the minimum, maximum and
current power values.
See “Data Types” on page 26 for more information on Binary Blocks.
NOTE See “How to Log Results” on page 207 for information on logging using VISA calls. There are
some tips about how to use float format specifiers to convert the binary blocks into float val-
ues.
NOTE If you use LabView or Agilent VEE, we recommend using the Agilent 816x VXIplug&play In-
strument Driver to perform the Logging and Stability Data Acquisition functions.
example: sens1:func:res? →
returns a data array for Logging and Stability Data Acquisition functions
sens1:func:res? → #255
Min: 7.24079E-04, Max: 7.24252E-04, Act: 7.24155E-04
returns the minimum, maximum and current power values for the MinMax Data
Acquisition function
affects: All power meters and return loss modules
dual sensors: Master and slave channels are independent.
NOTE Return Loss modules:
For Logging and Stability Data Acquisition functions, the data array contains power
values.
For the MinMax Data Acquisition function, the data array contains return loss values.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult:BLOCk?
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult:BLOCk?<wsp><offset>,<# of data points>
description: Returns a specific binary block (Intel byte order) from the data array for the last data acquisi-
tion function.
parameters: <offset> A zero based offset; the number of data points to ignore.
# data points The number of data points (not bytes!) to return.
response: The last stablility or logging data acquisition function’s data array as a binary block.
This function is not available for min-max measurements.
One measurement value is a 4-byte-long float in Intel byte order.
See “Data Types” on page 26 for more information on Binary Blocks.
example: sens1:func:res:bloc? #5, 2 → interpreted as
7.24079E-04,7.24252E-04<end>
affects: All power meters and return loss modules .
dual sensors: Master and slave channels are independent.
NOTE Return Loss modules:
For Logging and Stability Data Acquisition functions, the data array contains power
values.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult:MAXBlocksize?
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:RESult:MAXBlocksize?<wsp><offset><# of data
points>
description: Returns the maximum block size for a single GPIB transfer for power meter data acquisition
functions. If your application requires more data points please use SENSe[n][:CHAN-
nel[m]]:FUNCtion:RESult:BLOCk? instead of SENSe[n][:CHANnel[m]]:FUNCtion:RESult?
parameters: none
response: An integer value, number of data points.
See “Data Types” on page 26 for more information on Binary Blocks.
example:
affects: All power meters and return loss modules.
dual sensors: Master and slave channels are independent.
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-byte-
long float in Intel byte order.
For the MinMax Data Acquisition function, the query returns the minimum, maximum and
current power values.
See “Data Types” on page 26 for more information on Binary Blocks.
NOTE See “How to Log Results” on page 207 for information on logging using VISA calls. There are
some tips about how to use float format specifiers to convert the binary blocks into float val-
ues.
NOTE If you use LabView or Agilent VEE, we recommend using the Agilent 816x VXIplug&play In-
strument Driver to perform the Logging and Stability Data Acquisition functions.
example: sens1:func:res:mon? →
returns a data array for Logging and Stability Data Acquisition functions
sens1:func:res? → #255
Min: 7.24079E-04, Max: 7.24252E-04, Act: 7.24155E- 04
returns the minimum, maximum and current power values for the MinMax Data Acquisition
function
affects: All return loss modules
dual sensors: Master and slave channels are independent.
NOTE Return Loss modules:
For Logging and Stability Data Acquisition functions, the data array contains power
values for the monitor diode.
For the MinMax Data Acquisition function, the data array contains return loss values for the
monitor diode.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:STATe
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:STATe<wsp>
LOGGing|STABility|MINMax,STOP|STARt
description: Enables/Disables the logging, MinMax, or stability data acquisition function mode.
parameters: LOGGing: Logging data acquisition function
STABility: Stability data acquisition function
MINMax: MinMax data acquisition function
STOP: Stop data acquisition function
STARt: Start data acquisition function
N O TE When you enable a logging data acquisition function for a Agilent 8163A/B Series Power
Meter with averaging time of less than 100 ms with input hardware triggering disabled, all
GPIB commands will be ignored for the duration of the function.
See “:SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:LOGGing” on page 94 for more infor-
mation on the logging data acquisition function.
N O TE Stop any function before you try to set up a new function. Some parameters cannot be set
until you stop the function.
response: none
example: sens1:func:stat logg,star
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel is also affected.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:STATe?
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:STATe?
description: Returns the function mode and the status of the data acquisition function.
parameters: none
response: NONE No function mode selected
LOGGING_STABILITY Logging or stability data acquisition function
MINMAX MinMax data acquisition function
PROGRESS Data acquisition function is in progress
COMPLETE Data acquisition function is complete
example: sens1:func:stat? → LOGGING_STABILITY,COMPLETE<END>
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :SENSe[n][:CHANnel[m]]:FUNCtion:THReshold
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:THReshold<wsp><mode>,
<threshold value>[PW|NW|UW|MW|Watt|DBM]
description: Sets the start mode and the threshold value.
parameters: ABOVe: Function starts when power is above the threshold value.
BELow: Function starts when power is below the threshold value.
IMMediately: Function starts immediately.
Threshold Value: A float value in Watts or dBm.
response: none
example: sens1:func:thr IMM,20nw<END>
affects: All HP 8153A Lightwave Multimeter series power meters and the HP 81534A Return Loss
module
NOTE Does NOT affect Agilent 8161x series return loss modules
command: :SENSe[n][:CHANnel[m]]:FUNCtion:THReshold?
syntax: :SENSe[n][:CHANnel[m]]:FUNCtion:THReshold?
description: Returns the start mode and the threshold value.
parameters: none
response: ABOV: Function starts when power is above the threshold value.
BEL: Function starts when power is below the threshold value.
IMM: Function starts immediately.
Threshold Value: A float value in Watts or dBm.
example: sens1:func:thr? → IMM,+2.00000000E-008<END>
affects: All HP 8153A Lightwave Multimeter series power meters and the HP 81534A Return Loss
module
NOTE Does NOT affect Agilent 8161x series return loss modules
command: :SENSe[n]:[CHANnel[m]]:POWer:ATIMe
syntax: :SENSe[n]:[CHANnel[m]]:POWer:ATIMe<wsp><averaging time>[NS|US|MS|S]
description: Sets the averaging time for the module.
parameters: The averaging time as a float value in seconds.
If you specify no units in your command, seconds are used as the default.
response: none
example: sens1:pow:atim 1s
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel is also affected.
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<END>
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :SENSe[n]:[CHANnel[m]]:POWer:RANGe[:UPPer]
syntax: :SENSe[n]:[CHANnel[m]]:POWer:RANGe[:UPPer]<wsp><value>[DBM]
description: Sets the power range for the module. For a return loss module, sets the power range of the
return loss diode.
The range changes at 10 dBm intervals. The corresponding ranges for linear measurements
(measurements in Watts) is given below:
Range Upper Linear Range Upper Linear
Power Limit Power Limit
+30 dBm 1999.9 mW −50 dBm 19.999 nW
+20 dBm 199.99 mW −60 dBm 1999.9 pW
+10 dBm 19.999 mW −70 dBm 199.99 pW
0 dBm 1999.9 µW −80 dBm 19.999 pW
−10 dBm 199.99 µW −90 dBm 1.999 pW
−20 dBm 19.999 µW −100 dBm 0.199 pW
−30 dBm 1999.9 nW −110 dBm 0.019 pW
−40 dBm 199.99 nW
parameters: The range as a float value in dBm. The number is rounded to the closest multiple of 10, be-
cause the range changes at 10 dBm intervals. Units are in dBm.
response: none
example: sens1:pow:rang -20DBM
affects: All power meters and return loss modules.
dual sensors: Master and slave channels are independent.
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.00000000E+001<END>
affects: All power meters and return loss modules.
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:POWer:RANGe:MONitor[:UPPer]
syntax: :SENSe[n]:[CHANnel[m]]:POWer:RANGe:MONitor[:UPPer]<wsp><value>[DBM]
description: Sets the power range for a retun loss module’s monitor diode.
The range changes at 10 dBm intervals. The corresponding ranges for linear measurements
(measurements in Watts) is given below:
Range Upper Linear Range Upper Linear
Power Limit Power Limit
+30 dBm 1999.9 mW −50 dBm 19.999 nW
+20 dBm 199.99 mW −60 dBm 1999.9 pW
+10 dBm 19.999 mW −70 dBm 199.99 pW
0 dBm 1999.9 µW −80 dBm 19.999 pW
−10 dBm 199.99 µW −90 dBm 1.999 pW
−20 dBm 19.999 µW −100 dBm 0.199 pW
−30 dBm 1999.9 nW −110 dBm 0.019 pW
−40 dBm 199.99 nW
parameters: The range as a float value in dBm. The number is rounded to the closest multiple of 10, be-
cause the range changes at 10 dBm intervals. Units are in dBm.
response: none
example: sens1:pow:rang:mon -20DBM
affects: All return loss modules.
dual sensors: Master and slave channels are independent.
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<END>
affects: All return loss modules.
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:POWer:RANGe:AUTO
syntax: SENSe[n]:[CHANnel[m]]:POWer:RANGe:AUTO <wsp><boolean>
description: Enables or disables automatic power ranging for the module.
If automatic power ranging is enabled, ranging is automatically determined by the instru-
ment. Otherwise, it must be set by the sensn:pow:rang command.
parameters: A boolean value: 0 or OFF: automatic ranging disabled
1 or ON: automatic ranging enabled
response: none
example: sens1:pow:rang:auto 1
affects: All power meters and return loss modules
NOTE For return loss modules, affects return loss diode and monitor diode simultaneously.
dual sensors: Can only be sent to master channel, slave channel is also affected.
command: :SENSe[n]:[CHANnel[m]]:POWer:RANGe:AUTO?
syntax: :SENSe[n]:[CHANnel[m]]:POWer:RANGe:AUTO?
description: Returns whether automatic power ranging is being used by the module.
parameters: none
response: A boolean value: 0: automatic ranging is not being used.
1: automatic ranging is being used.
example: sens1:pow:rang:auto? → 1<END>
affects: All power meters and return loss modules
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :SENSe[n]:[CHANnel[m]]:POWer:REFerence
syntax: :SENSe[n]:[CHANnel[m]]:POWer:REFerence<wsp>
TOMODule|TOREF,<value>PW|NW|UW|MW|Watt|DBM|DB|MDB
description: Sets the sensor reference value.
parameters: TOMODule: Sets the reference value in dB used if you choose measurement rela-
tive to another channel
TOREF: Sets the reference value in Watts or dBm if you choose measurement
relative to a constant reference value
The reference as a float value.
NOTE You must append a unit type
• dB if you use TOMODule or
• Watts or dBm if you use TOREF.
NOTE The two reference values are completely independent. When you change the
reference mode using the command
“:SENSe[n]:[CHANnel[m]]:POWer:REFerence:STATe:RATio” on page 107, the
instrument uses the last reference value entered for the selected reference mode.
response: none
example: sens1:pow:ref tomod,-40DB
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:POWer:REFerence?
syntax: :SENSe[n]:[CHANnel[m]]:POWer:REFerence?<wsp>TOMODule|TOREF
description: Returns the sensor reference value.
parameters: TOMODule: Returns the reference value in dB used if you choose measurement rel-
ative to another channel
TOREF: Returns the reference value in Watts or dBm if you choose measure-
ment relative to a constant reference value
response: The reference as a float value.
example: sens1:pow:ref? toref → +1.00000000E-006<END>
affects: All power meters
dual sensors: Master and slave channels are independent.
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.
command: :SENSe[n]:[CHANnel[m]]:POWer:REFerence:STATe
syntax: :SENSe[n]:[CHANnel[m]]POWer:REFerence:STATe<wsp><boolean>
description: Sets the measurement units to relative or absolute units.
parameters: A boolean value: 0 or OFF: absolute
1 or ON: relative
response: none
example: sens1:pow:ref:stat 1
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:POWer:REFerence:STATe?
syntax: :SENSe[n]:[CHANnel[m]]POWer:REFerence:STATe?
description: Inquires whether the current measurement units are relative (dB) or absolute (Watts or
dBm).
parameters: none
response: A boolean value: 0: absolute
1: relative
example: sens1:pow:ref:stat? → 1<END>
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:POWer:REFerence:STATe:RATio
syntax: :SENSe[n]:[CHANnel[m]]POWer:REFerence:STATe:RATio<wsp>
<slot number>|255|TOREF,<channel number>
description: Selects the reference for the module.
parameters: slot number: an integer value representing the slot number you want to reference
255 or TOREF: results are displayed relative to an absolute reference
channel number: an integer value representing the channel number you want to refer-
ence
NOTE If you want to reference another power sensor channel, use an integer value
corresponding to the slot for the first parameter and an integer value corresponding
to the channel for the second value.
If you want to use an absolute reference, use TOREF as the first parameter and any
integer value as the second parameter.
response: none
examples: sens1:pow:ref:stat:rat 2,1 References channel 2.1
sens1:pow:ref:stat:rat TOREF,1 References an absolute reference
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:POWer:REFerence:STATe:RATio?
syntax: :SENSe[n]:[CHANnel[m]]POWer:REFerence:STATe:RATio?
description: Returns the reference setting for the module.
parameters: none
response: results are displayed relative to an absolute reference or to the current power reading from
another channel.
examples: sens1:pow:ref:stat:rat? → +255,+0<END> results are displayed relative
to an absolute reference
sens1:pow:ref:stat:rat? → +2,+1<END> results are displayed relative
to channel 2.1
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:POWer:UNIT
syntax: :SENSe[n]:[CHANnel[m]]:POWer:UNIT<wsp>DBM|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.
command: :SENSe[n]:[CHANnel[m]]:POWer:UNIT?
syntax: :SENSe[n]:[CHANnel[m]]:POWer:UNIT?
description: Inquires the current sensor power unit
parameters: none
response: An integer value: 0: Current power units are dBm.
1: Current power units are Watts.
example: sens1:pow:unit? → +1<END>
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:POWer:WAVelength
syntax: :SENSe[n]:[CHANnel[m]]:POWer:WAVelength<wsp><value>|MIN|MAX|DEF
[PM|NM|UM|MM|M]
description: Sets the sensor wavelength.
parameters: The wavelength as a float value in meters.
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value but is half
the sum of, the minimum programmable value and the
maximum programmable value
response: none
example: sens1:pow:wav 1550nm
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:POWer:WAVelength?
syntax: :SENSe[n]:[CHANnel[m]]:POWer:WAVelength?[<wsp>MIN|MAX|DEF]
description: Inquires the current sensor wavelength.
parameters: none
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value but is half
the sum of, the minimum programmable value and the
maximum programmable value
response: The wavelength as a float value in meters.
example sens1:pow:wav? → +1.55000000E-006<END>
affects: All power meters
dual sensors: Master and slave channels are independent.
command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:FACTory
syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:FACTory
description: For all sources, overwrites the current calibration values with the factory-set calibration set-
tings. See “:SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:COLLect:TERMination” on
page 110 and “:SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l]?” on
page 112 for information on calibrating your return loss module.
parameters: none
response: none
example sens1:ret:cal:fact
affects: All return loss modules
command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:COLLect:REFLectance
syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:COLLect:REFLectance
description: For the currently selected source, start the calibration and save the calibration values for a
defined reflectance reference measurement. See
“:SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l]” on page 112 for infor-
mation on setting the return loss value of your reference reflector.
parameters: none
response: none
example sens1:ret:cal:coll:refl
affects: All return loss modules
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. See
“:SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l]” on page 112 for infor-
mation on setting the return loss value of your reference reflector.
parameters: none
response: none
example sens1:ret:cal:coll:term
affects: All return loss modules
command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:TERMination?
syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:TERMination?
description: Queries the T-value (termination calibration value) for the return loss module
parameters: none
response: Termination calibration value as a float in dB
example sens1:ret:cal:term? → +6.5000E+001
affects: All return loss modules
command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:VALues?
syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CALibration:VALues?
description: Returns the the current calibration values
1. monitor diode reference power
2. return loss diode reference power
3. monitor diode parasitics power
4. return loss diode parasitics power.
parameters: Returns power values in W
response: none
example sens1:ret:cal:val
affects: All return loss modules
command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:FPDelta[l]
syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:FPDelta[l]<wsp><value>[dB]
description: Sets the front panel delta, that is, the loss correction value, for example, due to the front pan-
el connector. Twice this value is added to the measured Return Loss.
NOTE Use [l] to set the front panel delta for an external source or the upper or lower wavelength la-
ser source of a dual return loss module.
An external laser source is denoted by 0. 0 is the default value of [l].
A lower wavelength source is denoted by 1.
An upper wavelength source is denoted by 2.
parameters: Sets the front panel delta as a float value in dB
response: none
example sens1:ret:cal:corr:fpd 0.08DB
affects: All return loss modules
command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:FPDelta[l]?
syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:FPDelta[l]?
description: Returns 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.
NOTE Use [l] to query the front panel delta for an external source or the upper or lower wavelength
laser source of a dual return loss module.
An external laser source is denoted by 0. 0 is the default value.
A lower wavelength source is denoted by 1.
An upper wavelength source is denoted by 2.
parameters: Returns the front panel delta as a float value in dB
response: none
example sens1:ret:cal:corr:fpd? → +8.00000000E-002<END>
affects: All return loss modules
command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l]
syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l]<wsp><value>[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.
NOTE Use [l] to set the return loss value of your reference reflector for an external source or the
upper or lower wavelength laser source of a dual return loss module.
An external laser source is denoted by 0. 0 is the default value of [l].
A lower wavelength source is denoted by 1.
An upper wavelength source is denoted by 2.
parameters: Sets the Return Loss Reference as a float value in dB
response: none
example sens1:ret:cal:corr:refl 0.18DB
affects: All return loss modules
command: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l]?
syntax: :SENSe[n]:[CHANnel[m]]:RETurnloss:CORRection:REFLectance[l]?
description: Returns 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.
NOTE Use [l] to query the return loss value of your reference reflector for an external source or the
upper or lower wavelength laser source of a dual return loss module.
An external laser source is denoted by 0. 0 is the default value of [l].
A lower wavelength source is denoted by 1.
An upper wavelength source is denoted by 2.
parameters: none
response: Returns the Return Loss Reference as a float value in dB
example sens1:ret:cal:corr:refl? → +1.80000000E-001<END>
affects: All return loss modules
command: :OUTPut[n][:CHANnel[m]]:CONNection
syntax: OUTPut[n][:CHANnel[m]]:CONNection<wsp>MOD|VPP
description: Sets the analog output parameter.
parameters: MOD: The modulation frequency modulates the analog output.
VPP: Output Voltage is proportional to optical power.
response: none
example: outp0:conn mod
affects: All tunable laser modules with BNC ouput connector
command: :OUTPut[n][:CHANnel[m]]:CONNection?
syntax: OUTPut[n][:CHANnel[m]]:CONNection?
description: Returns the analog output parameter.
parameters: none
response: MOD: The modulation frequency modulates the analog output.
VPP: Output Voltage is proportional to optical power.
example: outp0:conn? → MOD<END>
affects: All tunable laser modules with BNC ouput connector
command: :OUTPut[n][:CHANnel[m]]:PATH
syntax: :OUTPut[n][:CHANnel[m]]:PATH<wsp><path>
description: Sets the regulated path.
parameters: HIGHpower: The High Power output is regulated.
LOWSse: The Low SSE output is regulated.
BHRegulated: Both outputs are active but only the High Power output is Regulated.
BLRegulated: Both outputs are active but only the Low SSE output is Regulated.
response: none
example: output0:path high
affects: Tunable laser modules with two outputs.
command: :OUTPut[n][:CHANnel[m]]:PATH?
syntax: :OUTPut[n][:CHANnel[m]]:PATH?
description: Returns the regulated path.
parameters: none
response: HIGH: The High Power output is regulated.
LOWS: The Low SSE output is regulated.
BHR: Both outputs are active but only the High Power output is Regulated.
BLR: Both outputs are active but only the Low SSE output is Regulated.
example: output0:path? → HIGH<END>
affects: Tunable laser modules with two outputs.
command: :OUTPut[n][:CHANnel[m]][:STATe]
syntax: :OUTPut[n][:CHANnel[m]][:STATe]<wsp>OFF|ON|0|1
description: Switches the laser current off and on.
The laser emits light only when the current is on. Set the state to OFF or 0 to switch the laser
current off. Set the state to ON or 1 to switch the laser current on. The default is for the laser
current to be off.
NOTE For attenuator output see page 156
parameters: 0 or OFF: switch laser current off
1 or ON: switch laser current on
response: none
example: outp 1
affects: All laser sources, DFB sources, tunable laser modules and return loss modules with an inter-
nal source
command: :OUTPut[n][:CHANnel[m]][:STATe]?
syntax: :OUTPut[n][:CHANnel[m]][:STATe]?
description: Queries the current state of the laser current.
command: [:SOURce[n]][:CHANnel[m]]:AM[:INTernal]:FREQuency[l]
syntax: [:SOURce[n]][:CHANnel[m]]:AM[:INTernal]:FREQuency[l]<wsp><frequency>
[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.
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value but is half the sum of, the
minimum programmable value and the maximum programmable value
The default units are HZ, although KHZ, MHZ, GHZ, and THZ can also be specified.
The resolution of the frequency is always 1 Hz.
NOTE Use [l] to set the modulation 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. The default value of [l] is 1, the lower wavelength source. The upper wavelength
source is denoted by 2.
response: none
example: sour2:am:freq 270hz
affects: All laser sources, DFB sources, and tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:AM[:INTernal]:FREQuency[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:AM[:INTernal]:FREQuency[l]? [MIN|DEF|MAX]
description: Returns the frequency of the amplitude modulation as a float value in Hertz.
parameters: MIN: minimum modulation frequency
MAX: maximum modulation frequency
DEF: This is not the preset (*RST) default value but is half the sum of, the minimum modula-
tion frequency and the maximum modulation frequency.
NOTE Use [l] to query the modulation 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. The default value of [l] is 1, the lower wavelength source. The upper wavelength
source is denoted by 2.
response: modulation frequency relevant to the current value or specified parameter (if MIN, MAX, or
DEF is chosen as a parameter).
example: sour2:am:freq? min → +2.00000000E+002<END>
affects: All laser sources, DFB sources, and tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:AM:SOURce[l]
syntax: [:SOURce[n]][:CHANnel[m]]:AM:SOURce[l]<wsp>
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.
parameters: 0, INT1, or INTernal: internal digital modulation
1, COHCtrl, or INT2: coherence control
2, AEXTernal, or EXT: external analog modulation
3 or DEXTernal: external digital modulation
5 or WVLLocking: wavelength locking
6 or BACKplane: external digital modulation using Input Trigger Connector
NOTE Use [l] to set the modulation source 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. The default value of [l] is 1, the lower wavelength source. The upper wavelength
source is denoted by 2.
response: none
example: sour2:am:sour int
affects: All laser sources, DFB sources, and tunable laser modules can use internal digital modula-
tion; as can return loss modules containing an internal source.
DFB source and tunable laser modules can use coherence control.
Other modulation modes are only available with tunable laser modules.
command: [:SOURce[n]][:CHANnel[m]]:AM:SOURce[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:AM:SOURce[l]?
description: Returns the type or source of the modulation of the laser output.
parameters: none
NOTE Use [l] to query the modulation source 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. The default value of [l] is 1, the lower wavelength source. The upper wavelength
source is denoted by 2.
response: 0: internal digital modulation
1: coherence control
2: external analog modulation
3: external digital modulation
5: wavelength locking
6: external digital modulation using Input Trigger Connector
example: sour2:am:sour? → +0<END>
affects: All laser sources, DFB sources, and tunable laser modules can use internal digital modula-
tion; as can return loss modules containing an internal source.
DFB source and tunable laser modules can use coherence control.
All other modulation modes are only available with tunable laser modules.
command: [:SOURce[n]][:CHANnel[m]]:AM:STATe[l]
syntax: [:SOURce[n]][:CHANnel[m]]:AM:STATe[l]<wsp> 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.
NOTE Use [l] to enable/disable amplitude modulation for the upper or lower wavelength laser
source of a dual-wavelength laser source or a return loss module with an internal dual-wave-
length laser source. The default value of [l] is 1, the lower wavelength source. The upper
wavelength source is denoted by 2.
NOTE When the internal modulation is selected, the Modulation Output on the front panel outputs
a version of the modulating signal that has the same frequency and phase as the modulating
signal, but has a fixed, TTL-level amplitude. You can use this to synchronize your external
measuring equipment to your instrument.
To allow for your possible synchronization requirements, there are two ways in which the
signal can be output. Either the signal is combined with the laser-ready signal, so that the
output is kept low when there is no optical signal being output (for example, while the laser
is settling after a change of wavelength). Or the modulation signal is output all the time. This
is set by the :SOURCE:MODOUT command (see “[:SOURce[n]][:CHANnel[m]]:MODout” on
page 121).
NOTE When you enable lambda logging, see
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging” on page 140, and modulation
simultaneously, a sweep cannot be started, see
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:[STATe]” on page 145.
response: none
example: sour2:am:stat 0
affects: All laser sources, DFB sources, tunable laser modules, and return loss modules containing
an internal source.
command: [:SOURce[n]][:CHANnel[m]]:AM:STATe[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:AM:STATe[l]?
description: Returns the current state of amplitude modulation.
NOTE Use [l] to query the current state of modulation of the upper or lower wavelength laser
source of a dual-wavelength laser source or a return loss module with an internal dual-wave-
length laser source. The default value of [l] is 1, the lower wavelength source. The upper
wavelength source is denoted by 2.
parameters: none
response: A boolean value: 0: modulation is disabled
1: modulation is enabled
example: sour2:am:stat? → 0<END>
affects: All laser sources, DFB sources, tunable laser modules, and return loss modules containing
an internal source.
command: [:SOURce[n]][:CHANnel[m]]:AM:COHCtrl:COHLevel[l]
syntax: [:SOURce[n]][:CHANnel[m]]:AM:COHCtrl:COHLevel[l]<wsp><value>[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. The coherence level required for a specific linewidth and coherence length can
vary between modules.
parameters: The excursion level as a percentage of its maximum value.
Also allowed: MIN: minimum programmable value (0%)
MAX: maximum programmable value (100%)
DEF: default preset (*RST) value.
response: none
example: source2:am:cohc 50
affects: DFB sources and Agilent 81980A, 81940A, 81989A, 81949A
command: [:SOURce[n]][:CHANnel[m]]:AM:COHCtrl:COHLevel[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:AM:COHCtrl:COHLevel[l]<wsp><value>?[MIN | MAX | DEF]
description: Queries the current level of coherence, when using Coherence Control. Coherence is ex-
pressed on an arbitrary scale from 1 to 99.98%. A 100% coherence level corresponds to
maximum coherence length and minimum linewidth.
parameters: Optional MIN: returns the minimum programmable value (0%)
MAX: returns the maximum programmable value (100%)
DEF: returns the default preset (*RST) value.
response: Returns the currently set excursion level as a percentage between 0 and 99.98
example: source2:am:cohc? → 50<END>
affects: DFB sources and Agilent 81980A, 81940A, 81989A, 81949A
command: [:SOURce[n]][:CHANnel[m]]:FM:SOURce[l]
syntax: [:SOURce[n]][:CHANnel[m]]:FM:SOURce[l]<wsp>SBSCtrl|0
description: Selects the type of the frequency modulation of the laser output.
Currently, only parameter strings that select SBS Control are valid.
Enable frequency modulation before issuing this command.
Refer to “[:SOURce[n]][:CHANnel[m]]:FM:STATe[l]” on page 119.
parameters: 0, SBSCtrl Simulated Brillouin Scattering
N O TE SBSCtrl (Simulated Brillouin Scattering) Control modulation suppresses SBS effects within
high-power measurement setups.
response: none
example: sour2:fm:sour SBSC
affects: Agilent 81980A, 81940A, 81989A, 81949A compact tunable lasers.
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 SBS Control
example: sour2:fm:sour? → +0<END>
affects: Agilent 81980A, 81940A, 81989A, 81949A compact tunable lasers.
command: [:SOURce[n]][:CHANnel[m]]:FM:STATe[l]
syntax: [:SOURce[n]][:CHANnel[m]]:FM:STATe[l]<wsp>OFF|ON|0|1
description: Enables and disables frequency modulation of the laser output.
parameters: A boolean value: OFF or 0: disable frequency modulation
ON or 1: enable frequency modulation.
response: none
example: sour2:fm:state 1
affects: Agilent 81980A, 81940A, 81989A, 81949A compact tunable lasers.
command: [:SOURce[n]][:CHANnel[m]]:FM:STATe[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:FM:STATe[l]?
description: Queries the current state of frequency modulation of the laser output.
parameters: none
response: A boolean value: 0: frequency modulation is disabled
1: frequency modulation is enabled.
example: sour2:fm:state? → +1<END>
affects: Agilent 81980A, 81940A, 81989A, 81949A compact tunable lasers.
command: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:FREQuency[l]
syntax: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:FREQuency[l]<wsp><frequency>
[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.
parameters: The modulation frequency as a float value.
The default units are HZ, although KHZ, MHZ, GHZ and THZ can also be specified.
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: default preset (*RST) value.
response: none
example: sour2:fm:sbsc:freq 4000Hz
affects: Agilent 81980A, 81940A, 81989A, 81949A compact tunable lasers.
command: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:FREQuency[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:FREQuency[l]?<wsp>[MIN|MAX|DEF]
description: Queries the currently set frequency of the SBS Control modulation.
parameters: Optional MIN: returns the minimum programmable value
MAX: returns the maximum programmable value
DEF: returns the default preset (*RST) value.
response: The modulation frequency in Hz as a float value
example: sour2:fm:freq? → +4.00000E+03<END>
affects: Agilent 81980A, 81940A, 81989A, 81949A compact tunable lasers.
command: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:LEVel[l]
syntax: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:LEVel[l]<wsp>[MIN|MAX|DEF]
description: Sets the excursion of the SBS Control frequency modulation to a percentage of its maximum
value.
parameters: The excursion level as a percentage of its maximum value.
Also allowed: MIN: minimum programmable value (0%)
MAX: maximum programmable value (100%)
DEF: default preset (*RST) value.
response: none
example: sour2:fm:sbsc:lev 80
affects: Agilent 81980A, 81940A, 81989A, 81949A compact tunable lasers.
command: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:Level[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:FM:SBSCtrl:LEVel[l]?<wsp>[MIN|MAX|DEF]
description: Queries the currently set excursion level of the SBS Control frequency modulation.
parameters: Optional MIN: returns the minimum programmable value (0%)
MAX: returns the maximum programmable value (100%)
DEF: returns the default preset (*RST) value.
response: Returns the currently set excursion level as a percentage of its maximum value.
example: sour2:fm:sbsc:lev? → +8.000E+01<END>
affects: Agilent 81980A, 81940A, 81989A, 81949A compact tunable lasers.
command: [:SOURce[n]][:CHANnel[m]]:MODout
syntax: [:SOURce[n]][:CHANnel[m]]:MODout<wsp>FRQ|FRQRDY|0|1
description: Sets the modulation output mode of the BNC connector on the front panel of tunable laser
modules.
parameters: FRQ or 0: modulation signal is output all the time
FRQRDY or 1: modulation is combined with the laser-ready signal.
In this case, the output is kept low when no optical signal is output (for
example, while the laser is settling after a change of wavelength).
response: none
example: sour0:mod 0
affects: All tunable laser sources with BNC ouput connector.
command: [:SOURce[n]][:CHANnel[m]]:MODout?
syntax: [:SOURce[n]][:CHANnel[m]]:MODout?
description: Queries the modulation output mode of the BNC connector on the front panel of tunable la-
ser modules.
parameters: none
response: 0: modulation signal is output all the time
1: modulation is combined with the laser-ready signal.
In this case, the output is kept low when no optical signal is output (for example, while
the laser is settling after a change of wavelength).
example: sour0:mod? → 0<END>
affects: All tunable laser sources with BNC output connector.
command: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]
syntax: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]<wsp><value>[DB|MDB]
description: Sets the level of attenuation.
parameters: Any value in the specified range (see the specifications in the appropriate User’s Guide).
Also allowed (for MIN: minimum programmable value
tunable laser
MAX: maximum programmable value
modules only)
are: DEF: This is not the preset (*RST) default value but is half the sum of, the
minimum programmable value and the maximum programmable value
NOTE Use [l] to set the attenuation level of the upper or lower wavelength laser source of a dual-
wavelength laser source or of a return loss module with an internal dual-wavelength laser
source. The default value of [l] is 1, the lower wavelength source. The upper wavelength
source is denoted by 2.
NOTE Tunable laser modules with in-built optical attenuators need to be in Manual Attenuation
Mode (see “[:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTO” on page 123) for this
value to have an affect. The output power is a combination of this value and the laser output
power (see “[:SOURce[n]][:CHANnel[m]]:POWer[:LEVel][:IMMediate][:AMPLitude[l]]” on
page 124).
NOTE In this respect, this command does not conform to the SCPI standard. The SCPI standard re-
quires that entering an explicit value for the attenuation switches the attenuation mode OFF.
The default units are dB.
response: none
example: sour0:pow:att 22.32db
affects: All tunable laser modules with an built-in optical attenuator, and all laser source modules.
command: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]?[MIN|DEF|MAX]
description: Queries the attenuation level.
When using a tunable laser module with a built-in optical attenuator, the value returned ap-
plies only to the attenuation mode (see
“[:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTO” on page 123).
NOTE Use [l] to query the attenuation level of the upper or lower wavelength laser source of a dual-
wavelength laser source or of a return loss module with an internal dual-wavelength laser
source. The default value of [l] is 1, the lower wavelength source. The upper wavelength
source is denoted by 2.
parameters: Also allowed (for MIN: minimum amplitude level
tunable laser mod-
MAX: maximum amplitude level
ules only) are:
DEF: This is not the preset (*RST) default value but is half the sum of,
the minimum amplitude level and the maximum amplitude level
response: attenuation level relevant to the current value or specified parameter (if MIN, MAX, or DEF
are chosen as a parameter).
example: sour0:pow:att? def → +3.10000000+E001<END>
affects: All tunable laser modules with an in-built optical attenuator, and all laser source modules.
command: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTO
syntax: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTO<wsp>OFF|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 attenu-
ation level.
parameters: OFF or 0: Attenuation Mode
ON or 1: Power Mode
response: none
example: sour0:pow:att:auto 1
affects: All tunable laser sources with a built-in optical attenuator.
command: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTO?
syntax: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTO?
description: Queries whether the instrument is in Automatic or Manual Attenuation Mode.
parameters: none
response: 0: Manual Attenuation Mode
1: Automatic Attenuation Mode
example: sour0:pow:att:auto? → 1<END>
affects: All tunable laser modules with a built-in optical attenuator.
command: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:DARK
syntax: [:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:DARK<wsp>OFF|ON|0|1
description: Sets or unsets the attenuator to ‘dark’ position.
Dark position blocks all light from the laser. You can use this as an alternative to disabling
the laser, the advantage of doing this is that you avoid the laser rise time.
This command is available in Attenuation Mode Only.
parameters: OFF or 0: Unsets dark position
ON or 1: Sets dark position
response: none
example: sour0:pow:att:dark 1
affects: All tunable laser modules with a built-in optical attenuator.
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 la-
ser).
parameters: none
response: 0: dark position not set
1: dark position set
example: sour0:pow:att:dark? → 1<END>
affects: All tunable laser modules with a built-in optical attenuator.
command: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel][:IMMediate][:AMPLitude[l]]
syntax: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel][:IMMediate][:AMPLitude[l]]<wsp><value>
[PW|NW|UW|MW|Watt|DBM]
description: Sets the power of the laser output.
N O TE If an optical attenuator is installed, the power value returned is dependent on whether you
are using power or attenuation mode (see
“[:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTO” on page 123).
If you are using power mode, the value returned is the output power.
If you are using attenuation mode, the value returned is the laser output power, and you must
also use the attenuation value to calculate the output power (see
“[:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]” on page 122).
The values for the output power that you set in the Power Mode, and the laser output power
that you set in the Attenuation Mode, are stored and used independently.
N O TE The instrument may not be able to output a signal with the maximum programmable power, it
will output a signal with the maximum power. Use the
“[:SOURce[n]][:CHANnel[m]]:POWer[:LEVel][:IMMediate][:AMPLitude[l]]?” on page 125 to
query the power being output.
The default units are DBM or W, depending on the unit selected using the following com-
mand: “[:SOURce[n]][:CHANnel[m]]:POWer:UNIT” on page 127.
parameters: Any value in the specified range (see the appropriate User’s Guide).
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value, but is the maximum
programmable level
N O TE Use [l] to set the amplitude level of the output power of the upper or lower wavelength laser
source of a dual-wavelength laser source or a return loss module with an internal dual-wave-
length laser source. The default value of [l] is 1, the lower wavelength source. The upper
wavelength source is denoted by 2.
response: none
example: sour2:pow 23uW
affects: All tunable laser and DFB source modules
command: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel][:IMMediate][:AMPLitude[l]]?
syntax: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel][:IMMediate][:AMPLitude[l]]?<wsp>
[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 val-
ue set for the output. If these two figures are not the same, it is indicated in the :STATus:OP-
ERation register.
NOTE If an optical attenuator is installed, the power value returned is dependent on whether you
are using power or attenuation mode (see
“[:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]:AUTO” on page 123).
If you are using power mode, the value returned is the output power.
If you are using attenuation mode, the value returned is the laser output power, and you must
also use the attenuation value to calculate the output power (see
“[:SOURce[n]][:CHANnel[m]]:POWer:ATTenuation[l]” on page 122).
The values for the output power that you set in the Power Mode, and the laser output power
that you set in the Attenuation Mode, are stored and used independently.
parameters: Also allowed MIN: minimum amplitude level
(for tunable laser mod-
MAX: maximum amplitude level
ules only) are:
DEF: This is not the preset (*RST) default value but is half the sum of,
the minimum amplitude level and the maximum amplitude level
NOTE Use [l] to query the amplitude level of the output power of the upper or lower wavelength la-
ser source of a dual-wavelength laser source or a return loss module with an internal dual-
wavelength laser source. The default value of [l] is 1, the lower wavelength source. The upper
wavelength source is denoted by 2.
response: Amplitude level relevant to the current value or specified parameter (if MIN, MAX, or DEF are
chosen as a parameter).
example: sour2:pow? → +8.00000000E-004<END>
affects: All laser sources, DFB sources, and tunable laser modules and return loss modules with an
internal source
command: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel]:RISetime[l]
syntax: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel]:RISetime[l]<wsp><value>[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).
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value but is half the
sum of, the minimum programmable level and the maximum pro-
grammable level
NOTE Use [l] to set the risetime 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. The de-
fault value of [l] is 1, the lower wavelength source. The upper wavelength source is denoted
by 2.
response: none
example: sour2:pow:ris 10ns
affects: All laser sources, DFB sources, and tunable laser modules and return loss modules with an
internal source
command: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel]:RISetime[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:POWer[:LEVel]:RISetime[l]?<wsp>[MIN|DEF|MAX]
description: Returns the laser rise time of the chosen source.
parameters: Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value but is half the
sum of, the minimum programmable level and the maximum pro-
grammable level
NOTE Use [l] to query the risetime of the upper or lower wavelength laser source of a dual-wave-
length laser source or a return loss module with an internal dual-wavelength laser source.
The default value of [l] is 1, the lower wavelength source. The upper wavelength source is
denoted by 2.
response: The rise time as a float value in seconds.
example: sour2:pow:ris? → +1.00000000E-009<END>
affects: All laser sources, DFB sources, and tunable laser modules and return loss modules with an
internal source
command: [:SOURce[n]][:CHANnel[m]]:POWer:STATe
syntax: [:SOURce[n]][:CHANnel[m]]:POWer:STATe<wsp><boolean>
description: Switches the laser of the chosen source on or off.
parameters: A boolean value: 0: Laser Off
1: Laser On
response: none
example: sour2:pow:stat 1
affects: All laser source, DFB source, and tunable laser modules and return loss modules with an in-
ternal source
command: [:SOURce[n]][:CHANnel[m]]:POWer:STATe?
syntax: [:SOURce[n]][:CHANnel[m]]:POWer:STATe?
description: Queries the laser state of the chosen source.
parameters: none
response: A boolean value: 0: Laser Off
1: Laser On
example: sour2:pow:stat? → 1<END>
affects: All laser source, DFB source, and tunable laser modules and return loss modules with an in-
ternal source
command: [:SOURce[n]][:CHANnel[m]]:POWer:UNIT
syntax: [:SOURce[n]][:CHANnel[m]]:POWer:UNIT<wsp>DBM|0|Watt|1
description: Sets the power units
parameters: 0 or DBM: dBm (default)
1 or W: Watts
response: none
example: sour2:pow:unit w
affects: All tunable laser and DFB source modules
command: [:SOURce[n]][:CHANnel[m]]:POWer:UNIT?
syntax: [:SOURce[n]][:CHANnel[m]]:POWer:UNIT?
description: Return the current power units
parameters: 0: dBm
1: Watts
response: none
example: sour2:pow:unit? → +0<END>
affects: All tunable laser and DFB source modules
command: [:SOURce[n]][:CHANnel[m]]:POWer:WAVelength
syntax: [:SOURce[n]][:CHANnel[m]:POWer:WAVelength[<wsp>
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.
parameters: EXTernal: or 0 External
LOWer: or 1 The lower wavelength source
UPPer: or 2 The upper wavelength source
BOTH: or 3 Both wavelength sources
response: none
example: sour2:pow:wav upp
affects: All dual-wavelength laser source modules and return loss modules with two internal sourc-
es
command: [:SOURce[n]][:CHANnel[m]]:POWer:WAVelength?
syntax: [:SOURce[n]][:CHANnel[m]:POWer:WAVelength?
NOTE For compatibility reasons, WAVelength may be replaced with WAVE.
description: Returns the wavelength source for a dual-wavelength laser source.
parameters: none
response: LOW The lower wavelength source
UPP The upper wavelength source
BOTH Both wavelength sources
example: sour2:pow:wav? → LOW<END>
affects: All dual-wavelength laser source modules and return loss modules with two internal sourc-
es
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.
parameters: LLOGging: Returns a binary stream that contains each wavelength step of the lambda
logging operation, see
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging” on page 140.
Each binary block is an 8-byte long double in Intel byte order.
PMAX: Returns a binary stream that contains the maximum power the laser can pro-
duce at each wavelength. Each binary block is a 8-byte long double (the
wavelength value) followed by a 4-byte long float (the power value). The
stream is in Intel byte order.
response: A binary stream in Intel byte order.
example: sour2:read:data? llog → the data as a binary stream
affects: All tunable laser and DFB source modules
command: [:SOURce[n]][:CHANnel[m]]:READout:DATA:BLOCk?
syntax: [:SOURce[n]][:CHANnel[m]:READout:DATA:BLOCk?<wsp>LLOGging|PMAX,<offset>,<# of
data points>
description: Returns a specified binary block from either a lambda logging operation, or maximum power
at wavelength characteristic.
parameters: LLOGging: Returns the data block from lambda logging. The binary block is an 8-
byte long double in Intel byte order.
PMAX: Returns the data block from the power curve characteristic. Each binary
block is a 8-byte long double (the wavelength value) followed by a 4-
byte long float (the power value). The stream is in Intel byte order.
<offset> A zero based offset that specifies the index of the first value within the
block to be transferred.
<# of data points> The number of points (not bytes!) in the transferred block.
response: A binary stream in Intel byte order.
example: sour0:read:data:block? llog,100,20000 → the data as a binary stream
affects: All tunable laser and DFB source modules
command: [:SOURce[n]][:CHANnel[m]]:READout:DATA:MAXBlocksize?
syntax: [:SOURce[n]][:CHANnel[m]:READout:DATA:MAXBlocksize?
description: Returns the maximum block size for a single GPIB transfer for lambda logging functions. If
your application requires more data points please use SOURce[n]][:CHANnel[m]]:READ-
out:DATA:BLOCk? instead of SOURce[n]][:CHANnel[m]]:READout:DATA?
parameters: none
response: The maximum number of data points (not bytes!) in the transferred block, as an integer value.
example: sour0:read:data:maxb? → 120<END>
affects: All tunable laser and DFB source modules
command: [:SOURce[n]][:CHANnel[m]]:READout:POINts?
syntax: [:SOURce[n]][:CHANnel[m]:READout:POINts?<wsp>LLOGging|PMAX
description: Returns the number of datapoints that the [:SOURce[n]][:CHANnel[m]]:READout:DATA? com-
mand will return.
parameters: LLOGging: Returns the number of wavelength steps for a lambda logging operation, see
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging” on page 140.
Returns the number of datapoints (each datapoint contains a value for wave-
PMAX: length and power) the [:SOURce[n]][:CHANnel[m]]:READout:DATA? PMAX
command will return, number of datapoints depends on the calibration data
for your module.
response: The number of datapoints as an integer value.
example: sour2:read:poin? pmax → 120<END>
affects: All tunable laser and DFB source modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength[:CW[l]:FIXED[l]]
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength[:CW[l]:FIXED[l]]<wsp><value>
[PM|NM|UM|MM|M]
description: Sets the absolute wavelength of the output.
parameters: Any wavelength in the specified range (see the specifications in the appropriate User’s
Guide).
The programmable range is larger than the range specified in the User’s Guide. The program-
mable range is set individually for each instrument when it is calibrated during production.
Also allowed are: MIN: minimum wavelength value
MAX: maximum wavelength value
DEF: This is not the preset (*RST) default value but is half the sum
of, the minimum wavelength value and the maximum wavelength
value
NOTE Use [l] to set the upper or lower wavelength laser source of a dual-wavelength laser source.
The default value of [l] is 1, the lower wavelength source. The upper wavelength source is
denoted by 2.
response: none
example: sour2:wav 1550NM
affects: All tunable laser and DFB source modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength[:CW[l]|:FIXED[l]]?
syntax: [:SOURce[n]][:CHANnel[m]:WAVelength[:CW[l]|:FIXED[l]]?[<wsp>[MIN|DEF|MAX]
description: Returns the wavelength value in meters.
parameters: none
Also allowed, for tunable laser MIN: minimum wavelength
modules only, are MAX: maximum wavelength
DEF: This is not the preset (*RST) default value but is half
the sum of, the minimum wavelength value and the maxi-
mum wavelength value
NOTE Use [l] to query the upper or lower wavelength laser source of a dual-wavelength laser
source. The default value of [l] is 1, the lower wavelength source. The upper wavelength
source is denoted by 2.
response: The wavelength as a float value in meters.
example: sour0:wav? → +1.5672030E-006<END> Returns the current wave-
length value for a tunable la-
ser module.
sour0:wav? min → +1.5500000E-006<END> Returns minimum wave-
length for a tunable laser
module.
sour2:wav:fixed2? → +1.61544494E-006<END> Returns the wavelength val-
ue of the upper wavelength
source of a dual-wavelength
laser source.
affects: All laser source, DFB source, and tunable laser modules and return loss modules with an in-
ternal source
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ARA
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ARA
description: Realigns the laser cavity.
parameters: none
response: none
example: sour0:wav:corr:ara
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
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.
parameters: none
response: none
example: sour0:wav:corr:ara:all
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:AUTocalib
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:AUTocalib<wsp>ON (1) | OFF (0)
description: Sets the Auto Calibration feature On or OFF. Switching it OFF enables the TLS to operate for
a long period without interruption from the "auto lambda zeroing" or settling. When Auto
Calibration is disabled, it is possible to operate the TLS at a temperature that differs more
than 4.4 K from the last Lambda Zeroing temperature. In this case, the accuracy and wave-
length performance of the TLS can become less optimal due to temperature variation. The
relevent accuracy class is indicated on the user interface when Auto Calibration is off.
parameters: a boolean value: 1 or ON: enable Autocalibration
0 or OFF: disable Autocalibration
response: none
example: sour0:wav:corr:aut 0
affects: All tunable laser modules except Agilent 81649A, 81689A/B and Agilent 81980A, 81940A,
81989A, 81949A.
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:AUTocalib?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:AUTocalib?
description: Returns whether Autocalibration is enabled or disabled
parameters: none
response: 0 Autocalibration disabled
1 Autocalibration enabled
example: sour0:wav:corr:aut? → 1
affects: All tunable laser modules except Agilent 81649A, 81689A/B and Agilent 81980A, 81940A,
81989A, 81949A.
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO
description: Executes a wavelength zero.
parameters: none
response: none
example: sour2:wav:corr:zero
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:ALL
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:ALL
description: Executes a wavelength zero on every tunable laser source in a mainframe.
parameters: none
response: none
example: sour2:wav:corr:zero:all
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:TEMPerature:ACTual?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:TEMPerature:ACTual?
description: Reports the current lambda zero tempearture.
parameters: none
response: float value; temperature in °C
example: sour0:wav:corr:zero:temp:act?
affects: All tunable laser modules except Agilent 81649A, Agilent 81689A/B and 819xxA/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:TEMPerature:DIFFerence?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:TEMPerature:Difference?
description: Reports the temperature difference required to trigger an auto lamda zero.
parameters: none
response: float value; temperature in °C
example: sour0:wav:corr:zero:temp:diff?
affects: All tunable laser modules except Agilent 81649A, Agilent 81689A/B and 819xxA/B
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.
parameters: none
response: float value; temperature in °C
example: sour0:wav:corr:zero:temp:last?
affects: All tunable laser modules except Agilent 81649A, Agilent 81689A/B and 819xxA/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:AUTO
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:CORRection:ZERO:AUTO
description: Forces an auto lamda zero. This is quicker but a little less accurate than the equilavent manual
process because some checks are omitted:
parameters: none
response: none
example: sour0:wav:corr:zero:auto
affects: All tunable laser modules except Agilent 81649A, Agilent 81689A/B and 819xxA/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:FREQuency[l]
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:FREQuency[l]<wsp><value>
[THZ|GHZ|MHZ|KHZ|HZ]
description: Sets the frequency difference used to calculate a relative wavelength. The output wave-
length is made up of the reference wavelength and this frequency difference.
The default units for frequency are Hertz.
The output wavelength (λ) is set from the base wavelength (λ0) and the frequency offset
(df). The formula for calculating the output wavelength is:
(c)
λ = --------------------------------- λ
( ( λ o df ) + c ) o
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-wave-
length laser source or a return loss module with an internal dual-wavelength laser source.
The default value of [l] is 1, the lower wavelength source. The upper wavelength source is
denoted by 2.
parameters: none
response: Returns the frequency difference as a float value in Hz.
example: wav:freq? → -1.00000000E+013<END>
affects: All tunable laser sources
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:REFerence[l]?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:REFerence[l]?
description: Returns the reference wavelength (λ0).
parameters: none
response: The wavelength as a float value in meters.
example: sour2:wav:ref? → +1.5500000E-006<END>
affects: All tunable laser and DFB modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:REFerence:DISPlay
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:REFerence:DISPlay
description: Sets the reference wavelength to the value of the output wavelength (λ → λ0), that is, sets
the frequency offset (df) to zero.
parameters: none
response: none
example: sour2:wav:ref:disp
affects: All tunable laser and DFB modules
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.
parameters: none
response: A string with a detailed description of a configuration problem, or "OK" if the sweep os con-
figured correctly. The responses shown below are all the possible configuration problem
strings:
Message Description
368,LambdaStop start wavelength must be smaller than stop wavelength
<=LambdaStart
369,sweepTime < min the total time of the sweep is too small
370,sweepTime > max the total time of the sweep is too large
371,triggerFreq > max the trigger frequency (calculated from sweep speed divided by sweep step) is
too large
372,step < min step size too small
373,triggerNum > max the number of triggers exceeds the allowed limit
374,LambdaLogging = On The only allowed modulation source with the lambda logging function is
AND Modulation = On coherence control.
AND ModulationSource!
= CoherenceControl
375,LambdaLogging = On lambda logging only works "Step Finished" output trigger configuration
AND TriggerOut! =
StepFinished
376,Lambda logging in lambda logging can only be done in continuous sweep mode
stepped mode
377,step not multiple of the step size must be a multiple of the smallest possible step size
<x>
378, triggerFreq < min the number of triggers exceeds the allowed limit
example: sour0:wav:swe:chec? → "triggerNum > max"
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:CYCLes
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:CYCLes<wsp>
<value>|MIN|MAX|DEF|0
description: Sets the number of cycles.
NOTE Cannot be set while a sweep is running.
parameters: The number of cycles is an integer value.
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value but is half the
sum of, the minimum programmable value and the maximum
programmable value
0: cycles continuously.
response: none
example: wav:swe:cycl 3
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:CYCLes?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:CYCLes?
[<wsp>MIN|MAX|DEF]
description: Returns the number of cycles.
parameters: none
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value but is half the
sum of, the minimum programmable value and the maximum
programmable value
response: The number of cycles as an integer value.
example: wav:swe:cycl? → +3<END>
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:DWELl
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:DWELl<wsp>
<value>|MIN|MAX|DEF[NS|US|MS|S]
description: Sets the dwell time. Can only be used when sweep is stepped.
NOTE Cannot be set while a sweep is running.
parameters: The dwell time as a float value.
If you specify no units in your command, seconds are used as the default.
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value but is half the sum of, the
minimum programmable value and the maximum programmable value
response: none
example: wav:swe:dwel 500ms
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:DWELl?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:DWELl?[<wsp>MIN|MAX|DEF]
description: Returns the dwell time. Can only be used when sweep is stepped.
parameters: none
Also allowed are: MIN: minimum programmable value
MAX: maximum programmable value
DEF: This is not the preset (*RST) default value but is half the sum of, the
minimum programmable value and the maximum programmable value
response: The dwell time in seconds.
example: wav:swe:dwel? → +5.00000000E-001<END>
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:EXPectedtriggers?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:EXPectedtriggers?
description: Returns the number of triggers. A tunable laser wavelength sweep causes a number of trig-
gers, this number is required to configure a triggering data acquisition function on a power
meter. The number returned by this function can be used to configure a Power Meter for co-
ordinated measurements with a tunable laser source (see command
“:SENSe[n][:CHANnel[m]]:FUNCtion:PARameter:LOGGing” on page 94).
parameters: none
response: the number of expected triggers as an unsigne integer value.
example: sour0:wav:swe:exp? → 12001
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
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.
It may also be used as a sweep cycle counter, where: flag/2 = number of sweep cycles
The flag is:
- only used in continuous sweep
- set to 0 at start/end of sweep
- incremented when the sweep is waiting for a trigger
- incremented when logging data is available
- an odd number when, waiting for a trigger
- an even number when, logging data may be read
If the trigger input isn’t configured to start a sweep cycle the flag is increased by two when
the logging data is available
If no logging data is calculated, because the user doesn’t want lambda logging, the flag is in-
cremented at the end of the sweep cycle regardless
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging<wsp>OFF|ON|0|1
description: Switches lambda logging on or off. Lambda logging is a feature that records the exact wave-
length 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.
NOTE The following settings are the prerequisites for Lambda Logging:
Set “[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:MODE” on page 141 to CONTinuous.
Set “:TRIGger[n][:CHANnel[m]]:OUTPut” on page 176 to STFinished (step finished).
Set “[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:CYCLes” on page 137 to 1.
Set “[:SOURce[n]][:CHANnel[m]]:AM:STATe[l]” on page 117 to OFF.
If any of the above prerequisites are not met, then when the sweep is started the status
"Sweep parameters inconsistent" will be returned and Lambda Logging will automatically
be turned off.
NOTE Lambda logging is disabled at the end of a sweep.
NOTE Generally, a continuous sweep can only be started if:
the trigger frequency, derived from the sweep speed and sweep step, is <= 40kHz
the number of triggers, calculated from the sweep span and sweep span, is <=100001
the start wavelength is less than the stop wavelength.
In addition, a continuous sweep with lambda logging requires:
the trigger output to be set to step finished
modulation set to coherence control or off.
parameters: 0 or OFF: switch lambda logging off
1 or ON: switch lambda logging on
response: none
example: wav:swe:llog 1
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging?
description: Returns the state of lambda logging.
parameters: none
response: A boolean value: 0 – lambda logging is switched off
1 – lambda logging is switched on
example: wav:swe:llog? → 1<END>
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:MODE
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:MODE<wsp><mode>
description: Sets the sweep mode.
NOTE Cannot be set while a sweep is running.
parameters: STEPped: Stepped sweep mode
MANual: Manual sweep mode
CONTinuous: Continuous sweep mode
response: none
example: wav:swe:mode STEP
affects: All tunable laser modules except Agilent 81649A, Agilent 81689A/B and 819x9A
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:MODE?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:MODE?
description: Returns the sweep mode.
parameters: none
response: STEP: Stepped sweep mode
MAN: Manual sweep mode
CONT: Continuous sweep mode
example: wav:swe:mode? → STEP<END>
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:PMAX?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:PMAX?<wsp><start wavelength>,
<stop wavelength>
description: Returns the power to the highest permissible power for the selected wavelength sweep.
parameters: start wavelength: The wavelength at which the sweep starts as a float value.
stop wavelength: The wavelength at which the sweep starts as a float value.
response: The highest permissible power for the selected wavelength sweep as a float value.
example: wav:swe:pmax? 1540nm,1550nm → +3.5500000E-004<END>
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:REPeat
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:REPeat<wsp><mode>
description: Sets the repeat mode. Applies in stopped-sweep and manual-sweep modes.
parameters: ONEWay: Every stepped or continuous sweep cycle starts at the start wavelength of the
sweep and ends at the stop wavelength of the sweep
TWOWay: Every odd stepped sweep cycle starts at the start wavelength of the sweep, and
every even stepped sweep cycle starts at the stop wavelength of the sweep.
Set the start and stop wavelength of the sweep using
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STARt” on page 144 and
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STOP” on page 144 respec-
tively.
response: none
example: wav:swe:rep twow
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:REPeat?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:REPeat?
description: Returns the repeat mode.
parameters: none
response: ONEWay: Every stepped or continuous sweep cycle starts at the start wavelength of the
sweep and ends at the stop wavelength of the sweep
TWOWay: Every odd stepped sweep cycle starts at the start wavelength of the sweep,
and every even stepped sweep cycle starts at the stop wavelength of the
sweep.
Set the start and stop wavelength of the sweep using
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STARt” on page 144 and
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STOP” on page 144 re-
spectively.
example: wav:swe:rep? → ONEW<END>
affects: All tunable laser modules
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 tun-
able laser source. It only works in continuous sweep.
Usage:
- Trigger input configuration: Start Sweep
- Start Sweep
- SoftTrigger
parameters: none
response: none
example: sour0:wav:sweep:soft
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:SPEed
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:SPEed<wsp><speed>
[NM/S|UM/S|MM/S|M/S|]
description: Sets the speed for continuous sweeping.
NOTE Cannot be set while a sweep is running.
parameters: Speed as a float value in meters per second (m/s).
response: none
example: wav:swe:spe 10nm/s
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:SPEed?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:SPEed?[<wsp>MIN|MAX]
description: Returns the speed for continuous sweeping.
parameters: optional MIN Returns the minimum sweep speed available.
MAX Returns the maximum sweep speed available.
response: Speed as a float value in meters per second (m/s).
example: wav:swe:spe? → +5.00000000E-008<END>
affects: All tunable laser modules except Agilent 81649A and Agilent 81689A/B
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STARt
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STARt<wsp><start value>
[PM|NM|UM|MM|M]
description: Sets the starting point of the sweep.
NOTE Cannot be set while a sweep is running.
parameters: 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.
response: none
example: wav:swe:star 1500nm
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STARt?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STARt?[<wsp>MIN|MAX]
description: Returns the starting 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.
response: The wavelength at which the sweep starts as a float value in meters.
example: wav:swe:star? → +1.50000000E-006<END>
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STOP
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STOP<wsp><stop value>
[PM|NM|UM|MM|M]
description: Sets the end point of the sweep.
NOTE Cannot be set while a sweep is running.
parameters: The wavelength at which the sweep ends as a float value in meters.
If you specify no units in your command, meters are used as the default.
response: none
example: wav:swe:stop 1550nm
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STOP?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STOP?[<wsp>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.
response: The wavelength at which the sweep ends as a float value in meters.
example: wav:swe:stop? → +1.55000000E-006<END>
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:[STATe]
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:[STATe]<wsp>
STOP|0|STARt|1|PAUSe|2|CONTinue|3
description: Stops, starts, pauses or continues a wavelength sweep.
parameters: 0 or STOP: Stop the sweep.
1 or STARt: Start a sweep, run sweep.
2 or PAUSe: Pause the sweep. (doesn’t apply for continuous sweep)
3 or CONTinue: Continue a sweep. (doesn’t apply for continuous sweep)
NOTE If you enable lambda logging (see
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:LLOGging” on page 140 ) and modulation
(see “[:SOURce[n]][:CHANnel[m]]:AM:STATe[l]” on page 117 ) simultaneously, a sweep can-
not be started.
NOTE Generally, a continuous sweep can only be started if:
the trigger frequency, derived from the sweep speed and sweep step, is <= 40kHz
the number of triggers, calculated from the sweep span and sweep span, is <=100001
the start wavelength is less than the stop wavelength.
In addition, a continuous sweep with lambda logging requires:
the trigger output to be set to step finished
modulation set to coherence control or off.
response: none
example: wav:swe STOP
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:[STATe]?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:[STATe]?
description: Returns the state of a sweep.
parameters: none
response: +0: Sweep is not running
+1: Sweep is running
example: wav:swe? → +0<END>
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:NEXT
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:NEXT
description: Performs the next sweep step in stepped sweep if it is paused or in manual sweep.
parameters: none
response: none
example: wav:swe:step:next
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:PREVious
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:PREVious
description: Performs one sweep step backwards in stepped sweep if it is paused or in manual sweep.
parameters: none
response: none
example: wav:swe:step:prev
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:[WIDTh]
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:[WIDTh]<wsp>
<value>[PM|NM|UM|MM|M]
description: Sets the width of the sweep step.
In continuous sweep mode, the end of a step is used for triggering.
parameters: The width of the sweep step as a float value.
If you specify no units in your command, meters are used as the default.
response: none
example: wav:swe:step 5nm
affects: All tunable laser modules
command: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:[WIDTh]?
syntax: [:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:STEP:[WIDTh]?[<wsp>MIN|MAX]
description: Returns the width of the sweep step
parameters: optional MIN Returns the minimum step width available.
MAX Returns the maximum step width available.
response: The sweep step as a float value in meters.
example: wav:swe:step? → +5.00000000E-009<END>
affects: All tunable laser modules
Signal Conditioning
The commands in this section allow you to control Agilent 8156x, and
8157x Attenuator modules
command: :INPut[n][:CHANnel[m]]:ATTenuation?
syntax: :INPut[n][:CHANnel[m]]:ATTenuation?<wsp> MIN | DEF | MAX
description: Returns the current attenuation factor (α), in dB.
α (dB) = α filter (dB) + α Offset (dB)
parameters: MIN | DEF | MAX Returns the minimum, default, or maximum value of the attenuation fac-
tor possible.
response: 4 byte Intel floating point; attenuation in dB.
example: INP1:ATT? → 14<END>
affects: All attenuator modules
command: :INPut[n][:CHANnel[m]]:OFFSet
syntax: :INPut[n][:CHANnel[m]]:OFFSet<wsp><value>[dB] | MIN | DEF | MAX
description: Sets the offset factor (α Offset ) for the instrument. This factor does not affect the filter atten-
uation ( α 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. In this way it is possible to
compensate for external losses.
α (new) (dB) = α filter (dB) + α Offset (new) (dB)
Set the offset factor by sending a value (the default units are dB), or by sending MIN, DEF, or
MAX.
parameters: <value>[dB] The offset factor (α Offset ) in dB.
MIN Sets the minimum value for α Offset = - 200dB.
DEF Sets the default value for α Offset = 0dB.
MAX Sets the maximum value for α Offset = + 200dB.
response: none
example: INP1:OFFS 2dB
affects: All attenuator modules
command: :INPut[n][:CHANnel[m]]:OFFSet?
syntax: :INPut[n][:CHANnel[m]]:OFFSet?<wsp>MIN | DEF | MAX
description: Returns the current value of the offset factor (α Offset ), in dB.
parameters: MIN | DEF | MAX Returns the minimum, default, or maximum value of the offset factor.
response: 4 byte Intel floating point; offset in dB.
example: INP1:OFFS? → 2<END>
affects: All attenuator modules
command: :INPut[n][:CHANnel[m]]:OFFSet:DISPlay
syntax: :INPut[n][:CHANnel[m]]:OFFSet:DISPlay
description: Sets the offset factor (α Offset ) such that the attenuation factor is zero.
α Offset (new) (dB) = α Offset (old) (dB) - α (old) (dB) = - α filter (dB)
parameters: none
response: none
example: INP1:OFFS:DISP
affects: All attenuator modules
command: :INPut[n][:CHANnel[m]]:OFFSet:POWermeter
syntax: :INPut[n][:CHANnel[m]]:OFFSet:POWermeter<wsp><slot>,<channel>
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 ).
α Offset (dB) = Patt (dBm) - Pext (dBm)
command: :INPut[n][:CHANnel[m]]:ATTenuation:SPEed
syntax: :INPut[n][:CHANnel[m]]:ATTenuation:SPEed<wsp><value> | MIN | MAX | DEF
description: Sets the filter transition speed; the speed at which the module moves from one attenuation to
another (in dBs).
parameters: <value> The filter transition speed in dB/s.
MIN | MAX | DEF Sets the filter transition speed to the module limits, or the module de-
fault.
response: none
example: INP1:ATT:SPE 2
affects: All attenuator modules.
command: :INPut[n][:CHANnel[m]]:ATTenuation:SPEed?
syntax: :INPut[n][:CHANnel[m]]:ATTenuation:SPEed?<wsp> MIN | MAX | DEF
description: Without the optional parameter, queries the transition speed of the filter.
parameters: MIN | MAX | DEF Queries the transition speed limits, or the module default.
response: 4 byte Intel floating point; transition speed in dB/s.
example: INP1:ATT:SPE? → 2<END>
affects: All attenuator modules.
command: :INPut[n][:CHANnel[m]]:WAVelength
syntax: :INPut[n][:CHANnel[m]]:WAVelength<wsp><value>[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 calcu-
late a wavelegth dependent offset from the user offset table (if enabled).
parameters: <value> The wavelength in meters (if you do not specify a unit).
MIN | MAX | DEF Sets the wavelength to the module limits, or the module default.
response: none
example: INP1:WAV +1.55000000E-006
affects: All attenuator modules.
command: :INPut[n][:CHANnel[m]]:WAVelength?
syntax: :INPut[n][:CHANnel[m]]:WAVelength?<wsp>MIN | MAX | DEF
description: Without the optional parameter, queries the operating wavelength of the attenuator.
parameters: MIN | MAX | DEF Queries the operating wavelength limits, or the module default.
response: 4 byte Intel floating point; wavelength in m.
example: INP1:WAV → +1.55000000E-006<END>
affects: All attenuator modules.
command: :OUTPutn[:CHANnel[m]]:APMode
syntax: :OUTPutn[:CHANnel[m]]:APMode<wsp><OFF(0) | ON(1)>
description: The use of this command is optional and has no effect on operation.
Included for compatibility with Agilent 8156A mainframe.
parameters: OFF or 0
ON or 1
response: none
example: OUTP1:APMode OFF
affects: All attenuator modules.
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<END>
affects: All attenuator modules.
command: :OUTPutn[:CHANnel[m]]:POWer
syntax: :OUTPutn[:CHANnel[m]]:POWer<wsp><value>[PW | NW | UW | MW | W | DBM ] | MIN | MAX |
DEF
description: Sets the output power value (P ).
If your attenuator module does not include the power control feature, the new filter attenua-
tion (α filter (new) ) is calculated from the reference power (Pref ) :
Pset(new) (dBm) = Pref (dBm) - α filter (new) (dB) - P Offset (dB)
If your attenuator module includes the power control feature, the filter attenuation is changed
until the set power (measured by the module’s internal power meter) has been reached.
Pset(new) (dBm) = Patt(new) (dBm) - Poffset (dB)
If the set power cannot be achieved ExP (indicating ’Excessive Power’ ) is displayed, and the
appropriate GPIB status bit is set. The status of these bits can be queried using “:STA
Tus:QUEStionable:CONDition[:LEVel0]?” on page 71
parameters: <value> Desired output power (if unit not specified current unit is used).
MIN | MAX | DEF Sets the output power to the module limits, or the module default.
response: none
example: OUTP1:POW 12
affects: All attenuator modules.
command: :OUTPutn[:CHANnel[m]]:POWer?
syntax: :OUTPutn[:CHANnel[m]]:POWer<wsp>MIN | MAX | DEF
description: Without the optional parameter, queries the output power value.
parameters: MIN | MAX | DEF Queries the output power module limits, or the module default.
response: 4 byte Intel floating point; output power in current power unit.
example: OUTP1:POW? → 12<END>
affects: All attenuator modules.
command: :OUTPutn[:CHANnel[m]]:POWer:REFerence
syntax: :OUTPutn[:CHANnel[m]]:POWer:REFerence<wsp><value>[PW | NW | UW | MW | W |
DBM ] | MIN | MAX | DEF
description: Sets the reference power (Pref ). The reference power is used to calculate the filter attenua-
tion ( α filter ) from the output power (P ) . A change to the reference power does not affect
the filter attenuation.
Pset(new)(dBm) = Pref (new)(dBm) - α filter(dB) - P Offset (dB)
parameters: <value> Desired reference power (if unit not specified current unit is used).
MIN | MAX | DEF Sets the reference power to the module limits, or the module default.
response: none
example: OUTP1:POW:REF 6dBm
affects: Attenuator modules without power control.
command: :OUTPutn[:CHANnel[m]]:POWer:REFerence?
syntax: :OUTPutn[:CHANnel[m]]:POWer:REFerence?<wsp>MIN | MAX | DEF
description: Without the optional parameter, queries the reference power value.
parameters: MIN|MAX|DEF Queries the reference power limits, or the module default.
response: 4 byte Intel floating point; reference power in current power unit.
example: OUTP1:POW:REF? → 6<END>
affects: Attenuator modules without power control.
command: :OUTPutn[:CHANnel[m]]:POWer:REFerence:POWermeter
syntax: :OUTPutn[:CHANnel[m]]:POWer:REFerence:POWer<wsp><slot>,<channel>
description: Copies the power value (Pext ) from an external powermeter module (hosted by the same
mainframe) to the attenuator module’s reference power parameter (Pref ):
Pref (dBm) = Pext (dBm) + α filter (dB)
command: :OUTPutn[:CHANnel[m]]:POWer:OFFSet
syntax: :OUTPutn[:CHANnel[m]]:POWer:OFFSet<wsp><value>[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.
parameters: <value> The power offset required, in dB
MIN | MAX | DEF Queries the module limits, or the default.
response: none
example: OUTP1:POW:OFFS 2
affects: Attenuator modules with power control.
command: :OUTPutn[:CHANnel[m]]:POWer:OFFSet?
syntax: :OUTPutn[:CHANnel[m]]:POWer:OFFSet? <wsp>MIN | MAX| DEF
description: Without the optional parameter, queries the power offset value.
parameters: MIN | MAX | REF Queries the power offset limits, or the module default.
response: 4 byte Intel floating point; power offset in current power units.
example: OUTP1:POW:OFFS? → 2<END>
affects: Attenuator modules with power control.
command: :OUTPutn[:CHANnel[m]]:POWer:OFFSet:POWermeter
syntax: :OUTPutn[:CHANnel[m]]:POWer:OFFSet:POWermeter<wsp><slot>,<channel>
description: Calculates the power offset by subtracting the power value measured by another powerme-
ter (hosted by the same mainframe) from the power value measured by the attenuator’s inte-
grated powermeter, and stores it as Poffset .
Poffset(new) (dBm) = Patt (dBm) - Pext (dBm) + Poffset ( λ ) (dB)
command: :OUTPutn[:CHANnel[m]]:POWer:CONTRol
syntax: :OUTPutn[:CHANnel[m]]:POWer:CONTRol<wsp>OFF(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.
ON or 1 The filter position automatically adjusts to compensate for changes to input
power, so maintaining the output power set by the user.
response: none
example: OUTP1:POW:CONTR ON
affects: Attenuator modules with power control.
command: :OUTPutn[:CHANnel[m]]:POWer:CONTRol?
syntax: :OUTPutn[:CHANnel[m]]:POWer:CONTRol?
description: Queries whether the power control mode is on or off.
parameters: none
response: boolean 0 The power control mode is off
1 The power control mode is on.
example: OUTP1:POW:CONTR? → 0<END>
affects: Attenuator modules with power control.
command: :OUTPutn[:CHANnel[m]]:POWer:UNit
syntax: :OUTPutn[:CHANnel[m]]:POWer:UNit<wsp>DBM(0) | WATT(1)
description: Sets whether the power unit used is dBm or Watts.
This setting affects Pset , Pref (if available), and Pact
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<END>
affects: All attenuator modules.
command: :OUTPutn[:CHANnel[m]]:[STATe]
syntax: :OUTPutn[:CHANnel[m]]:[STATe]<wsp>OFF(0) | ON(1)
description: Sets the state of the shutter.
parameters: OFF or 0 Shutter closed.
ON or 1 Shutter open.
response: none
example: OUTP1:STAT OFF
affects: All attenuator modules.
command: :OUTPutn[:CHANnel[m]]:[STATe]?
syntax: :OUTPutn[:CHANnel[m]]:[STATe]?
description: Queries the state of the shutter.
parameters: none
response: boolean 0 The shutter is open.
1 The shutter is closed.
example: OUTP1:STAT? → 0<END>
affects: All attenuator modules.
command: :OUTPutn[:CHANnel[m]]:STATe:APOWeron
syntax: :OUTPutn[:CHANnel[m]]:STATe:APOWeron<wsp>OFF(0) | ON(1)
description: Sets the state of the shutter when the mainframe is turned on.
parameters: OFF or 0 Shutter closed after mainframe power on.
ON or 1 Shutter open after mainframe power on.
response: none
example: OUTP1:APOW OFF
affects: All attenuator modules.
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<END>
affects: All attenuator modules.
command: :OUTPutn[:CHANnel[m]]:ATIMe
syntax: :OUTPutn[:CHANnel[m]]:ATIMe<wsp><value>[ NS | US | MS| S ]
description: Sets the powermeter averaging time, which can, if the attenuator’s power contol feature is
activated, affect how the attenuator compensates for changes to input power.
parameters: <value> The averaging time (in seconds if no unit specified).
response: none
example: OUTP1:ATIM 1s
affects: Attenuator modules with power control.
command: :OUTPutn]:CHANnel[m]]:ATIMe?
syntax: :OUTPutn[:CHANnel[m]]:ATIMe?
description: Queries the powermeter averaging time.
parameters: none
response: 4 byte Intel floating point; the averaging time in seconds
example: OUTP1:ATIM? → 1<END>
affects: Attenuator modules with power control.
command: :OUTPutn[:CHANnel[m]]:CORRection:COLLection:ZERO
syntax: :OUTPutn[:CHANnel[m]]:CORRection:COLLection:ZERO
description: Zeros the electrical offsets of the attenuator’s integrated powermeter.
parameters: none
response: none
example: OUTP1:CORR:COLL:ZERO
affects: Attenuator modules with power control.
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.
command: :OUTPutn[:CHANnel[m]]:CORRection:COLLection:ZERO?
syntax: :OUTPutn[:CHANnel[m]]:CORRection:COLLection:ZERO?
description: Queries the status of the last :OUTPutn[:CHANnel[m]]:CORRection:COLLection:ZERO opera-
tion.
parameters: none
response: integer 0 = OK, otherwise not OK.
example: OUTP:CORR:COLL:ZER0? → 0<END>
affects: Attenuator modules with power control.
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.
• If the attenuator module is set to a wavelength between entries in its λ offset
table, linear interpolation is used to calculate the appropriate offset to add to the
global power offset.
• If the attenuator module is set to a wavelength beyond the range of the entries
in its λ offset table, the offset stored for the nearest wavelength is added to the
global power offset.
• Whether an exact, interpolated, or extrapolated offset value is applied, the algo-
rithm applied can be queried using “:STATusn:OPERation:CONDition?” on
page 68
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:STATe
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:STATe<wsp>OFF(0) | ON(1)
description: Specifies whether the attenuator uses its λ offset table to compensate for wavelength de-
pendent losses in the the test set-up. This table contains, for each wavelength specified, the
additional power offset to be applied.
This command does not affect the module’s internal enviromental temperature and optical
wavelength compensation, which remain active.
parameters: OFF or 0 The offset table is not used to compensate for wavelength dependent losses.
ON or 1 The attenuator adds the appropriate value from its λ offset table to the global
power offset.
response: none
example: CONF1:OFFS:WAV:STAT ON
affects: All attenuator modules.
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:STATe?
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:STATe?
description: Queries whether the attenuator uses power values from its λ offset table .
parameters: none
response: boolean 0 The offset table is not used.
1 The attenuator uses its λ offset table.
example: CONF1:OFFS:WAV:STAT? → 0<END>
affects: All attenuator modules.
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:VALue<wsp><lambda>[PM | NM | UM | MM|
M],<offset[DB]> | 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.
parameters: <lambda> The wavelength for the offset table entry, in m
<offset> The power offset to be applied at <lambda>.
To query the current power value measured by attenuator with power control
see page 87 (Fetch) and page 90 (Read).
TOREF Calculates the difference between the power measured by an external power-
meter (hosted in the same mainframe) and the power measured by the attenu-
ator module’s integrated powermeter, and stores it as the offset.
P Offset ( λ )(dB) = P att (dBm) - P ext (dBm)
See: “:CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:REFerence” on
page 161
(Attenuator modules with power control only).
response: none
example: CONF1:OFFS:WAV:VAL +1.55000000E-006,TOREF
affects: All attenuator modules (TOREF applicable to attenuator modules with power control only).
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:REFerence
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:REFerence<wsp><slot>,<channel>
description: Specifies the slot and channel of the external powermeter (hosted in the same mainframe as
the attenuator module) used by TOREF.
See: “:CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue” on page 161
parameters: <slot> Slot number of the powermeter.
<channel> Channel number of the powermeter.
response: none
example: CONF1:OFFS:WAV:REF 4,2
affects: Attenuator modules with power control.
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.
See: “:CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue” on page 161
parameters: none
response: the slot and channel of the external powermeter as integer values.
example: CONF1:OFFS:WAV:REF? → +2,+1<END>
affects: Attenuator modules with power control.
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue:WAVelength?
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:VALue:WAVelength?<wsp><index>
description: Queries a wavelength value from its position, or index, in the offset table. Offset table entries
are ordered from shortest to longest wavelength. The first index number = 1.
parameters: <index> The position of the wavelength value in the offset table.
response: 4 byte Intel floating point; the wavelength in meters
example: CONF1:OFFS:WAV:VAL:WAV? 1 → +1.55000000E-006<END>
affects: All attenuator modules.
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue:OFFSet?
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:VALue:OFFSet?<wsp><index | wavelength [PM |
NM | UM | MM| M],>
description: Queries an offset value from the position, or index, of the associated wavelength in the offset
table. Offset table entries are ordered from shortest to longest wavelength. The first index
number =1.
Or: Queries the offset applied for a particular wavelength.
parameters: <index> The position of the value pair (wavelength; offset) in the offset table.
<wavelength> The wavelength for the offset table entry, in m
response: 4 byte Intel floating point; the offset
example: CONF1:OFFS:WAV:VAL:OFFS? 1 → 2
affects: All attenuator modules.
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue:PAIR?
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:VALue:PAIR?<wsp><index | wavelength[PM | NM |
UM | MM| M],>
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 wave-
length.
Or: Queries the offset value pair (wavelength:offset) applied for the specified wavelength.
parameters: <index> The position of the wavelength; offset value pair in the offset table.
<wavelength> The wavelength for the offset table entry, in m
response: char$ in SCPI block format (Intel byte order); wavelength:offset
example: CONF1:OFFS:WAV:VAL:PAIR? 1 → "+1.55000000E-006:2"
affects: All attenuator modules.
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue:DELete
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:VALue:DELete<wsp><index | wavelength[PM | NM
| UM | MM| M],>
description: Deletes 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 wave-
length.
Or: Deletes the offset value pair (wavelength:offset) associated with the specified wavelength.
NOTE Deleting a value pair decrements the index value of every subsequent value pair by 1. When us-
ing this command, you may prefer to work from large to small index values.
parameters: <index> The position of the wavelength:offset value pair in the offset table.
<wavelength> The wavelength for the offset table entry, in m
response: none
example: CONF1:OFFS:WAV:VAL:DEL 1
affects: All attenuator modules.
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:VALue:DELete:ALL
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:VALue:DELete:ALL
CAUTION This command clears the offset table!
description: Deletes every value pair (wavelength:offset) from the offset table.
parameters: none
response: none
example: CONF1:OFFS:WAV:VAL:DEL:ALL
affects: All attenuator modules.
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 rep-
resent the offset.
example: CONF1:OFFS:WAV:TAB? → binary block interpreted as, for example:
1.55e-6 | 12 | 1.7e-6 |3.4 |.....
affects: All attenuator modules.
command: :CONFigure[n][:CHANnel[m]]:OFFSet:WAVelength:TABle:SIZE?
syntax: :CONFigure[n]][:CHANnel[m]]:OFFSet:WAVelength:TABle:SIZE?<wsp>MAX | MIN
description: Without optional parameter, queries the size of the offset table.
parameters: MAX Queries the maximum size of the offset table.
(available flash memory → 1000 entries)
MIN Queries the minimum size of the offset table. (should → 0)
response: 4 byte unsigned integer; offset table size.
example: CONF1:OFFS:WAV:TAB:SIZE? → 50
affects: All attenuator modules.
Slot Numbers
INPUT and OUPUT SCPI commands (page 106-114) are used to access the
functionality of the 8156A Attenuator. The 816xA/B mainframes are able
to host a number of modules, so a slot identifier is needed. This slot
identifier was not required by the 8156A attenuator. Simply substitute
INPutn for INPut, and OUTPutn for OUTPut, where n is the slot number of
your attenuator module.
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. To support these new features,
and improve the usability of the instrument, the meaning (the semantic) of
some existing commands has changed. This section lists all commands
already available to the 8156A attenuator, notes whether the semantic of
the command has changed, and where applicable, suggests how to handle
the change.
Table 7 Comparison of command semantics beween 8156A attenuator and 8156xA modular attenuator family.
Command Comment
INPut:ATTenuation No change.
INPut:ATTenuation? No change.
INPut:OFFSet No change.
INPut:OFFSet? No change.
INPut:OFFSet:DISPlay No change.
INPut:WAVelength No change.
OUTPut:APMode The 8156A uses this command to calculate a base power level while the instru-
ment switches to another mode. This behavior is replaced by a mechanism that
is easier to use.
To calculate a power level at the device under test, formerly known as through
power, the 81560A and 81561A attenuator modules use a reference power. This
reference power can be modified either via the user interface or by using the
SCPI command OUTPut:POWer:REFerence. The power is calculated from the at-
tenuation and the reference power using this formula:
P set (dBm) = P ref (dBm) - α (dB)
The 81566A and 81567A attenuator modules do not need a base power level be-
cause they are able to measure the output power directly.
Despite these new features, the 8156x modular attenuator family supports this
command, but only to address compatibility issues. The command only sets an
internal flag, which can be read using OUTput:APMode? You are free to choose
between adjusting the output power or adjusting the attenuation factor.
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.
OUTPut:POWer Except that the base power level is determined in another way (see OUTPut:AP
Mode), there is no change to the semantic of this command.
OUTPut:POWer? No change.
OUTPut:STATe No change.
OUTPut:STATe? No change.
OUTPut:STATe:APOWeron No change.
OUTPut:STATe:APOWeron? No change.
IEEE Commands
Every SCPI compatible measurement instrument implements a subset of
the IEEE SCPI command set. The 8156A attenuator and the
81560A/1A/6A/7A attenuator family use almost the same subset. The
following IEEE commands are available when using the 8156A but not
available when using the 81560A/1A/6A/7A modules (page 93ff):
*RCLRecover parameter setup
*SAVSave parameter setup
*SRE and *SRE?Status request register
Status Commands
The instrument status model can be controlled, and its current state
queried, using commands from the SCPI STATus subtree. All the STATus
commands available for the 8156A attenuator are supported by the
81560A/1A/6A/7A modular attenuator familiy except:
STATus:OPERation:PTRansition
STATus:OPERation:NTRansition
STATus:QUEStionable:PTRansition
STATus:QUEStionable:NTRansition
There are new status bits available to query the current modular
attenuator state.
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]]<wsp><channel_list>
description: Sets the channel route between two ports.
NOTE When you use switches with dependent connections (e.g. the 2x2 switch), it is possible that
one route configuration automatically changes another connection!
parameters: n: the slot number of the switch module
m: the switch channel within the selected switch module.
e.g. for dual 1 x 2 module m = 1 for switch 1; m = 2 for switch 2
channel_list the route between left and right ports.
channel_list format: [A....Z],[1....n]
response: If an invalid route is selected the following error message is returned - "StatParamError"
example: rout3:chan1 A,2 (module in slot 3,channel 1, connect port A with port 2)
affects: All switch modules
command: :ROUTe[n][:CHANnel[m]]?
syntax: :ROUTe[n]:[CHANnel[m]]<wsp><channel_list>
description: Queries the current channel route of the switch for a specific module and switch channel.
parameters: n: the slot number of the switch module
m: the switch channel within the selected switch module. Default value is 1.
response: [A.....Z],[1.....n];[A.....Z],[1.....n] as a text string.
"," separates input and output ports of a specific connection.
";" separates parallel connections (as used in 2x2 switch).
example: rout3:chan1? → A,1 simple 1xN switch
rout2:chan1? → A,2;B,1 (2x2 crossover switch in crossover config).
affects: All switch modules
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.
NOTE
parameters: none
response: <j>,<k>;<l>,<m> as text string where:
<j> is the first port character on the left
<k> is the last port character on the left
<l> is the minmimum port number on the right
<m> is the maximum port number on the right
example: rout2:conf? → A,B;1,2 (2 left and 2 right ports)
affects: All switch modules
command: :ROUTe[n][:CHANnel[m]]:CONFig:ROUTe?
syntax: :ROUTe[n]:[CHANnel[m]]:CONFig:ROUTe?
description: Queries the allowed switch routes of an instrument.
NOTE
parameters: none
response: [A.....Z],[1.....n];[A.....Z],[1.....n].[A.....Z],[1.....n] as a text string.
"," separates input and output ports of a single connection.
";" separates parallel connections
"." separates possible switch states
example: rout2:conf:rout? → A,1;B,2.A,2;B,1
2x2 x-over switcch:
state 1: When A to 1 then B to 2nd connection (straight)
state 2: When A to 2 then B to 1st connection (cross-over)
affects: All switch modules
IGNore - One power mea- Automatically performs power Automatically performs power
surement is per- measurements. measurements until the func-
formed. tion is finished.
SMEasure ON Every hardware trigger starts a new power measure- Every hardware trigger starts a
ment. new power measurement until
the function is finished.
CMEasure ON The first hardware trigger starts
the function. Subsequent pow-
er measurements are automati-
cally performed until the
function is finished.
SMEasure OFF The first hardware trigger starts a new power mea- Every hardware trigger starts a
surement. Further hardware triggers are ignored until new power measurement until
you send trig:inp:rearm again. the function is finished.
CMEasure OFF The first hardware trigger starts
the function. Subsequent pow-
er measurements are automati-
cally performed until the
function is finished.
command: :TRIGger
syntax: :TRIGger<wsp>NODEA|1|NODEB|2
description: Generates a hardware trigger.
parameters: 1 or NODEA: Is identical to a trigger at the Input Trigger Connector.
2 or NODEB: Generates trigger at the Output Trigger Connector.
NOTE A hardware trigger cannot be effective in the DISabled triggering mode but can be
effective in DEFault, PASSthrough or LOOPback triggering modes, see
“:TRIGger:CONFiguration” on page 177 for information on triggering modes.
NOTE “:TRIGger” on page 179 describes the :TRIGger command for advanced users using
“:TRIGger:CONFiguration:EXTended” on page 179.
response: none
example: trig 1
command: :TRIGger[n][:CHANnel[m]]:INPut
syntax: :TRIGger[n][:CHANnel[m]]:INPut<wsp><trigger response>
description: Sets the incoming trigger response and arms the module.
parameters: IGNore: Ignore incoming trigger.
SMEasure: Start a single measurement. If a measurement function is active, see
“:SENSe[n][:CHANnel[m]]:FUNCtion:STATe” on page 100, one sample is
performed and the result is stored in the data array, see
“:SENSe[n][:CHANnel[m]]:FUNCtion:RESult?” on page 97.
CMEasure: Start a complete measurement. If a measurement function is active,
see“:SENSe[n][:CHANnel[m]]:FUNCtion:STATe” on page 100, a complete
measurement function is performed.
NEXTstep: Perform next step of a stepped sweep.
SWStart: Start a sweep cycle.
NOTE You must prearm a wavelength sweep or a measurement function before an action
can be triggered:
First, set the incoming trigger response.
Then:
• prearm a wavelength sweep using
“[:SOURce[n]][:CHANnel[m]]:WAVelength:SWEep:[STATe]” on page 145. The
wavelength of the tunable laser module is set to the start wavelength of the
sweep.
• or prearm a measurement function using
“:SENSe[n][:CHANnel[m]]:FUNCtion:STATe” on page 100.
NOTE: If a trigger signal arrives at the Input Trigger Connector at the same time
that the :SENSe[n][:CHANnel[m]]:FUNCtion:STATe command is executed, the
first measurement value is invalid. You should always discard the first
measurement value in this case.
The module performs the appropriate action when it is triggered.
response: none
example: trig1:inp ign
affects: All Agilent 8163A/B series power meter modules, Agilent 8161x series return loss modules,
and attenuators with power control.
NOTE If you use the Agilent 816x VXIplug&play Instrument Driver, you can trigger power measure-
ments using HP 8153A Series power meters.
dual sensors: Can only be sent to master channel, slave channel is also affected.
command: :TRIGger[n][:CHANnel[m]]:INPut?
syntax: :TRIGger[n][:CHANnel[m]]:INPut?
description: Returns the incoming trigger response.
parameters: none
response: IGNore: Ignore incoming trigger.
SMEasure: Start a single measurement. If a measurement function is active, see
“:SENSe[n][:CHANnel[m]]:FUNCtion:STATe” on page 100, one sample is
performed and the result is stored in the data array, see
“:SENSe[n][:CHANnel[m]]:FUNCtion:RESult?” on page 97.
CMEasure: Start a complete measurement. If a measurement function is active, see
“:SENSe[n][:CHANnel[m]]:FUNCtion:STATe” on page 100, a complete mea-
surement function is performed.
NEXTstep: Perform next step of a stepped sweep.
SWStart: Start a sweep.
example: trig1:inp? → ign<END>
affects: All tunable laser modules, power meters, and return loss modules, and attenuators with
power control.
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :TRIGger[n][:CHANnel[m]]:INPut:REARm
syntax: :TRIGger[n][:CHANnel[m]]:INPut:REARm<wsp>OFF|ON|0|1
description: Sets the arming response of a channel to an incoming trigger.
NOTE See Table Table 8 , for information on how this command affects triggering power
measurements.
parameters: A boolean value: OFF or 0: trigger rearming disabled
ON or 1: trigger rearming enabled (default)
NOTE If you return to Local control, all modules return to the default setting.
response: none
example: trig1:inp:rearm 0
affects: All Agilent 8163A/B series power meter modules, and Agilent 8161x series return loss mod-
ules.
dual sensors: Can only be sent to master channel, slave channel is also affected.
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: 0: trigger rearming disabled
1: trigger rearming enabled (default)
example: trig1:inp:rearm? → 0<END>
affects: All Agilent 8163A/B series power meter modules, and Agilent 8161x series return loss mod-
ules.
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :TRIGger[n][:CHANnel[m]]:OFFSet
syntax: :TRIGger[n][:CHANnel[m]]:OFFSet <value>
description: Sets the number of incoming triggers received before data logging begins.
parameters: <value> - an integer value. (maximum possible value is 1e+9)
response: none
example: trig1:offs 5
affects: All Agilent 81636B and 81637B series power meter modules.
command: :TRIGger[n][:CHANnel[m]]:OFFSet?
syntax: :TRIGger[n][:CHANnel[m]]:OFFSet?
description: Returns the number of incoming triggers received before data logging begins.
parameters: none
response: an integer value.
example: trig1:offs? → 5<END>
affects: All Agilent 81636B and 81637B series power meter modules.
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: Never.
AVGover: When averaging time period finishes.
MEASure: When averaging time period begins.
MODulation: For every leading edge of a digitally-modulated (TTL) signal
STFinished: When a sweep step finishes.
SWFinished: When sweep cycle finishes.
SWSTarted: When a sweep cycle starts.
response: none
example: trig1:outp dis
affects: All tunable laser modules, Agilent 8163A/B series power meters, and Agilent 8161x series
return loss modules.
dual sensors: Can only be sent to master channel, slave channel is also affected.
NOTE In continuous mode, wav:swe:step:[widt] is used for triggering, see page 146.
command: :TRIGger[n][:CHANnel[m]]:OUTPut?
syntax: :TRIGger[n][:CHANnel[m]]:OUTPut?
description: Returns the condition that causes an output trigger.
parameters: none
response: DISabled: Never.
AVGover: When averaging time period finishes.
MEASure: When averaging time period begins.
MODulation: For every leading edge of a digitally-modulated (TTL) signal
STFinished: When a sweep step finishes.
SWFinished: When sweep cycle finishes.
SWSTarted: When a sweep cycle starts.
example: trig1:outp? → dis<END>
affects: All tunable laser modules, Agilent 8163A/B series power meters, and Agilent 8161x series
return loss modules.
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :TRIGger[n][:CHANnel[m]]:OUTPut:REARm
syntax: :TRIGger[n][:CHANnel[m]]:OUTPut:REARm<wsp>OFF|ON|0|1
description: Sets the arming response of a channel to an outgoing trigger.
NOTE See Table Table 9 , for information on how this command affects the generation of
output triggers using power measurements.
parameters: A boolean value: OFF or 0: trigger rearming disabled
ON or 1: trigger rearming enabled (default)
NOTE If you return to Local control, all modules return to the default setting.
response: none
example: trig1:outp:rearm 1
affects: All Agilent 8163A/B series power meters, and Agilent 8161x series return loss modules.
dual sensors: Can only be sent to master channel, slave channel is also affected.
command: :TRIGger[n][:CHANnel[m]]:OUTPut:REARm?
syntax: :TRIGger[n][:CHANnel[m]]:OUTPut:REARm?
description: Returns the arming response of a channel to an outgoing trigger.
parameters: none
response: A boolean value: 0: trigger rearming disabled (default)
1: trigger rearming enabled.
example: trig1:outp:rearm? → 0<END>
affects: All Agilent 8163A/B series power meters, and Agilent 8161x series return loss modules.
dual sensors: Can only be sent to master channel, slave channel parameters are identical.
command: :TRIGger:CONFiguration
syntax: :TRIGger:CONFiguration<wsp><triggering mode>
description: Sets the hardware trigger configuration with regard to Output and Input Trigger Connectors.
parameters: 0 or DISabled: Trigger connectors are disabled.
1 or DEFault: The Input Trigger Connector is activated, the incoming trigger response
for each slot “:TRIGger[n][:CHANnel[m]]:INPut” on page 173 deter-
mines how each slot responds to an incoming trigger, all slot events
(see “:TRIGger[n][:CHANnel[m]]:OUTPut” on page 176) can trigger the
Output Trigger Connector.
2 or PASSthrough: The same as DEFault but a trigger at the Input Trigger Connector gener-
ates a trigger at the Output Trigger Connector automatically.
3 or LOOPback: The same as DEFault but a trigger at the Output Trigger Connector gen-
erates a trigger at the Input Trigger Connector automatically.
response: none
example: trig:conf dis
command: :TRIGger:CONFiguration?
syntax: :TRIGger:CONFiguration?
description: Returns the hardware trigger configuration.
parameters: none
response: DIS: Trigger connectors are disabled.
DEF: The Input Trigger Connector is activated, the incoming trigger response for
each slot “:TRIGger[n][:CHANnel[m]]:INPut” on page 173 determines how
each slot responds to an incoming trigger, all slot events (see
“:TRIGger[n][:CHANnel[m]]:OUTPut” on page 176) can trigger the Output Trig-
ger Connector.
PASS: The same as DEFault but a trigger at the Input Trigger Connector generates a
trigger at the Output Trigger Connector automatically.
LOOP: The same as DEFault but a trigger at the Output Trigger Connector generates a
trigger at the Input Trigger Connector automatically.
CUSTOM: A custom configuration is active using either the command
“:TRIGger:CONFiguration:EXTended” on page 179 or the
Agilent 816x VXIplug&play Instrument Driver. See “The Agilent 816x
VXIplug&play Instrument Driver” on page 213.
example: trig:conf? → DEF<END>
command: :TRIGger:CONFiguration:FPEDal
syntax: :TRIGger:CONFiguration:FPEDal<wsp>OFF|ON|0|1
description: Enables or disables the Input Trigger connector to be triggered using a Foot Pedal.
parameters: A boolean value: OFF or 0: foot pedal disabled (default)
ON or 1: foot pedal enabled
response: none
example: trig:conf? → DEF<END>
command: :TRIGger:CONFiguration:FPEDal?
syntax: :TRIGger:CONFiguration:FPEDal?
description: Returns whether the Input Trigger connector can be triggered using a Foot Pedal.
parameters: none
response: A boolean value: 0: foot pedal disabled
1: foot pedal enabled
example: trig:conf? → DEF<END>
command: :TRIGger
syntax: :TRIGger<wsp>NODEA|1|NODEB|2
description: Generates a hardware trigger.
parameters: 1 or NODEA: Generates trigger at Node A.
2 or NODEB: Generates trigger at Node B.
Use “:TRIGger:CONFiguration:EXTended” on page 179 to configure Node A and Node B.
NOTE “:TRIGger” on page 172 describes the :TRIGger command for basic users.
response: none
example: trig 1
command: :TRIGger:CONFiguration:EXTended
syntax: :TRIGger:CONFiguration:EXTended<wsp><Node A Input Config.>,
<Node B Input Config.>,<Output Matrix Config.>
description: Sets the extended hardware trigger configuration.
parameters: Node A Input Configuration: A 32-bit unsigned integer, see below.
Node B Input Configuration: A 32-bit unsigned integer, see below.
Output Matrix Configuration: A 32-bit unsigned integer, see below.
response: none
example: trig:conf:ext 0,0,0
command: :TRIGger:CONFiguration:EXTended?
syntax: :TRIGger:CONFiguration:EXTended?
description: Returns the extended hardware trigger configuration.
parameters: none
response: Node A Input Configuration: A 32-bit unsigned integer, see below.
Node B Input Configuration: A 32-bit unsigned integer, see below.
Output Matrix Configuration: A 32-bit unsigned integer, see below.
example: trig:conf:ext? → +0,+0,+0<END>
:trig 1
Node A Input
Configuration
Slot 0 Event 0
0
AND /
Configuration
Node A
Slot 17 Event 0
Input Trigger
OR
0
Connector
Node B 0 0 Trigger Slot 0
0 Trigger Slot 1
....
:trig 2 0 Trigger Slot 16
Node B Input 0 Trigger Slot 17
Configuration
Slot 0 Event 0 Output
0 0
Trigger
.....
Connector
AND /
Slot 17 Event 0
Input Trigger
OR
0 Node B
Connector
Node A 0
Bits set in Node A/B Input Configuration determine the conditions that can cause a trigger at
Node A/B.
Bits set in Output Matrix Configuration determine whether Node A OR Node B triggers particular
module slots or generates an output trigger at the Output Trigger Connector.
2
1 ....
Slot 2: 0 - Inactive, 1 - Event at slot 2 can trigger Node A
Slot 1: 0 - Inactive, 1 - Event at slot 1 can trigger Node A
#H4
#H2
0 Slot 0: 0 - Inactive, 1 - Event at slot 0 can trigger Node A #H1
“:TRIGger[n][:CHANnel[m]]:OUTPut” on page 176 explains how slot events can gener-
ate triggers.
....
#H10000
Tunable Tunable
Laser Laser
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.
The following explanation explains the sequence with which actions are
triggered.
1 sour2:wav:swe star arms the sweep for for the tunable laser module in slot 2.
Because trig2:inp next is set, the module waits for a trigger until it performs the
first step of the sweep.
2 sour1:wav:swe star commands the tunable laser module in slot 1 to
start sweeping. Because trig1:inp ign is set, the module performs a
sweep as normal.
3 When the module in slot 1 finishes a step, because trig1:outp stf is set,
Node A is triggered.
4 Node A triggers all modules because the Output Matrix Configuration is
set to zero. Node A triggers the tunable laser module in slot 2 to perform
a sweep step because trig2:inp next is set.
5 The sequence starts again at step 3 and continues until the sweep ends.
The DISPlay subsystem lets you control what you see on the instrument’s
display.
command: :DISPlay:CONTrast
syntax: :DISPlay:CONTrast<wsp><value>
description: Controls the contrast of the display.
parameters: An integer value in the range 0 to 100
response: none
example: disp:cont 50
affects: Agilent 8163B Lightwave Multimeter and 8166B Lightwave Multichannel System
command: :DISPlay:CONTrast?
syntax: :DISPlay:CONTrast?
description: Queries the contrast of the display.
parameters: none
response: An integer value in the range 0 to 100
example: disp:cont? → +50<END>
affects: Agilent 8163B Lightwave Multimeter and 8166B Lightwave Multichannel System
command: :DISPlay:BRIGhtness
syntax: :DISPlay:BRIGhtness<wsp><value>
description: Controls the brightness of the display.
parameters: An integer value in the range 0 to 100
response: none
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. (0 -> display off,
other values: display on)
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<END>
affects: Agilent 8163B Lightwave Multimeter and 8166B Lightwave Multichannel System -
8164A Lightwave Measurement System: only checks if the value equals 0. (0 -> display off,
other values: display on)
command: :DISPlay:ENABle
syntax: :DISPlay:ENABle<wsp>ON|OFF|1|0
description: Enables or disables the display.
The display is cleared, and an appropriate message displayed. This setting may improve
sweep performance.
parameters: A boolean value: OFF or boolean 0 – switch off the display
ON or boolean 1 – switch on the display
NOTE If you press [LOCAL] softkey, the display is enabled automatically.
response: none
example: disp:enab 1
command: :DISPlay:ENABle?
syntax: :DISPlay:ENABle?
description: Queries the state of the display.
parameters: none
response: A boolean value: 0 – the display is turned off
1 – the display is turned on
example: disp:enab? → 1<END>
command: :DISPlay:LOCKout
syntax: :DISPlay:LOCKout<wsp>ON|OFF|1|0
description: Enables or Disables local operation.
parameters: A boolean value: OFF or boolean 0 – local operation is disabled
ON or boolean 1 – local operation is enabled.
response: none
example: disp:lock 1<END>
command: :DISPlay:LOCKout?
syntax: :DISPlay:LOCKout?
description: Queries whether local operation is locked out.
parameters: none
response: A boolean value: 0 – local operation is disabled
1 – local operation is enabled.
example: disp:lock → 1<END>
Never use VISA calls and the Agilent 816x VXIplug&play Instrument Driver
N O TE in the same program.
#include <stdio.h>
#include <stdlib.h>
#include <visa.h>
/* This function checks and displays errors, using the error query of
the instrument;
Call this function after every command to make sure your commands
are correct */
/* set timeout to 20 sec; this should work for all commands except
for zeroing or READ commands with averaging times greater than the
timeout */
errStatus = viSetAttribute(vi,VI_ATTR_TMO_VALUE,20000);
checkError(vi,errStatus);
#include <stdio.h>
#include <stdlib.h>
#include <visa.h>
/*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);
while(!scanf("%c",&c));
{
/* only errors should be displayed */
if(errMsg[0] != '+')
printf("error:%ld - - > %s\n", err_status,errMsg) ;
}
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <visa.h>
}
/*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);
errStatus = viPrintf(vi,"SENS1:CHAN1:POW:ATIME
%f\n",averagingTime);
if (errStatus < VI_SUCCESS) checkError(vi,errStatus);
/* trigger a measurement */
errStatus = viPrintf(vi,"INIT1:CHAN1:IMM\n");
if (errStatus < VI_SUCCESS) checkError(vi,errStatus);
{ 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 */
if(i)
{
if(!strcmp(compBuf,replyBuf)) printf("Same:%s",replyBuf);
else printf("New :%s",replyBuf);
}
else printf("\nFirst:%s",replyBuf);
/*copy new value to compare buffer*/
strcpy(compBuf,replyBuf);
}
/* loop, until a key is pressed */
while(!scanf("%c",&c));
checkError(vi,errStatus);
/* close the session */
viClose(vi);
}
else
{
/* only errors should be displayed */
if(errMsg[0] != '+')
printf("error:%ld - - > %s\n", err_status,errMsg) ;
}
}
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 <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <visa.h>
/* 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);
errStatus = viPrintf(vi,"SENS1:CHAN1:POW:REF:STATE:RATIO
TOREF,0\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);
} while (!cmdDone);
/*
read 30 values and display the result; after ten measurements
the source output will be halved by making use of the
attenuation;
after an other ten measurements the source output will be
halved
a second time;
because of the display to reference command and using the
reference, the value printed should be more or less equal to the
adjusted source attenuation */
{
/* reduce the output power for 6.0 dB */
errStatus = viPrintf(vi,"SOURCE2:CHAN1:POW:ATT 6.0\n");
checkError(vi,errStatus);
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <visa.h>
errStatus = viPrintf(vi,"*CLS\n");
checkError(vi,errStatus);
/* set the power meter to same wavelength like the tunable laser
source */
errStatus = viPrintf(vi,"SENS1:CHAN1:POW:WAV %s\n",replyBuf);
checkError(vi,errStatus);
/* turn laser on */
errStatus = viPrintf(vi,"SOURCE2:POW:STATE 1\n");
checkError(vi,errStatus);
for(i=1;1;i++)
{
/*query the power */
errStatus = viQueryf(vi,"READ1:CHAN1:POW?\n","%s",replyBuf);
checkError(vi,errStatus);
/*
poll the instrument for completion of this command
because adjusting a new wavelength takes some time
*/
do
{
errStatus = viQueryf(vi,"*OPC?\n","%d",&cmdDone);
checkError(vi,errStatus);
} while (!cmdDone);
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <visa.h>
/*globals*/
static unsigned char logBuffer[MAX_LOG_VALUES * sizeof(ViReal64) +
HEADER_SIZE];
/*array for the float results */
static ViReal32 logResults[MAX_LOG_VALUES];
errStatus = InitVisa(&vi);
/* start logging */
viPrintf(vi,"SENS%1d:CHAN%1d:FUNC:STAT
LOGG,START\n",slot,chan);
checkError(vi,errStatus);
/* to display the results, logging should be completed */
/* the instrument has to be polled about the progress of the logging
*/
do
{
errStatus =
viQueryf(vi,"SENS%1d:CHAN%1d:FUNC:STATE?\n","%t",slot,chan,replyBuf
);
/* if an error occurs break the loop */
if (errStatus < VI_SUCCESS)
{
checkError(vi,errStatus);
break;
}
replySubStr = replyBuf;
while(*replySubStr)
{
if(!strncmp(replySubStr,"COMPLETE",strlen("COMPLETE")))
break;
replySubStr ++;
}
}while (!*replySubStr); /*substring "COMPLETE" not found */
/*continue polling */
if(logBuffer[0] != '#')
{
printf("invalid format returned from logging\n");
exit(1);
}
else
{
noOfDigits = logBuffer[1] - '0';
memcpy( logResults, &logBuffer[2 + noOfDigits ],
MAX_LOG_VALUES * sizeof(ViReal32));
}
/* stop logging */
viPrintf(vi,"SENS%1d:CHAN%1d:FUNC:STAT
LOGG,STOP\n",slot,chan);
checkError(vi,errStatus);
/* 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]);
{
ViStatus errStatus; /* returned error code from visa call */
ViSession defaultRM; /* default visa resource manager variable
*/
return errStatus;
}
If you see the message in Figure 9 , press Yes to install the driver or
press No and contact your administrator.
6 Close these programs and press Next> to continue. Then, you see a
message informing you if VISA is installed on your PC.
If you do not have VISA installed, press Cancel to temporarily exit this
N O TE 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.
7 You can choose a Typical, Compact, or Custom Setup. Choose a setup
option and press Next> to continue.
If you choose the Custom Setup, you may choose the options you want to
N O TE install from the screen in Figure 11 . These options are:
• VxiPnP Driver, you may choose to install the Agilent 816x VXIplug&play
instrument driver.
• Examples, you may choose to install Visual Basic, Visual C, LabView,
Agilent VEE and VISA programming examples.
• Help Files, you may choose to install the help file.
This appendix assumes that you are using Windows 95. If you are using
N O TE Windows NT, please replace every reference to win95 with winnt.
Windows 95 and Windows NT are registered trademarks of Microsoft
corporation.
Agilent VEE automatically calls the initialize and close functions to
perform automatic error checking.
To find out or change the instrument’s GPIB address, press the Config
N O TE hardkey on the instrument’s front panel and choose GPIB address. The
instrument’s GPIB address appears, you may edit it if you wish.
If you do not see this driver in the list, the driver has not installed properly.
N O TE
If you do not see this driver in the list, the driver has not installed properly.
9 Return to the Instrument Manager screen and press the Save Config to
save the configuration.
a If you are updating from a previously installed driver, perfrorm the following
three steps:
b Locate the LabView program folder. By default, this is <drive>:Program
Files\National Instruments\LabView.
3 On the first window that appears, click on the Solution Wizards 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.
13 The Select a CVI Function Panel file window appears, locate the
hp816x.fp file, which is normally installed into the path
<drive>:VXIPNP\winXX\hp816x, where XX stands for NT, or 95.
14 Press Open.
You must check the Add Front Panel Controls for Size of Array Parameters
N O TE box. There will be a front panel control created for each VI that requires
you to assign the array size.
20 Press OK.
You must use the 32-bit version of the Agilent 816x VXIplug&play
N O TE Instrument Driver with LabView 5.0.
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.
In the file selection dialog box which appears, select hp816x.fp and click on
the OK button. LabWindows loads the function panel and instrument
driver.
The driver now appears as a selection on the Instrument menu, and can be
treated like any LabWindows driver.
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 .
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.
You can find a partial list of the type definitions and constant definitions
N O TE for the visatype.h in the Agilent 816x VXIplug&play Instrument Driver
Online Help.
Error Handling
{
/* query the instrument for the error */
hp816x_error_query(instrumentHandle, &inst_err, err_message);
}
/* optionally reset the instrument, close the instrument handle
*/
hp816x_reset(instrumentHandle);
hp816x_close(instrumentHandle);
exit(1);
}
return;
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.
For example, use GPIB0::22 rather than gpib0::22.
Callbacks
Callbacks are not supported by this driver.
Development Environments
These sections contains suggestions as to how you can use hp816x_32.dll
within various application development environments.
Online Information
Original
Curve
Interpolated
Curve
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.
Tunable Laser
GPIB
Cable
Input
Trigger
Connector
Power Power Power Power Power Power Power
Sensor Sensor Sensor Sensor Sensor Sensor Sensor
To Controller
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.
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 [ ].
Error
Error
Error
Error
Error
Error
Error
Error
Error
Error
Error
Error
Error
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.
Status Model
Preset Defaults
Removed Command
Obsolete Commands
Table 14 details queries that respond with different return codes than the
old instruments.
Timing Behavior
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. A side effect of this is that
*OPC? always returns 1.
In later firmware revisions GPIB only blocks if a command can't be
processed because of a pending command. While a command is
pending *OPC? returns 0 now. This is the behaviour of the 8153.
When continuous triggering and averaging times are greater than 1 8153
second, the read-out values reset after the averaging time is over; there
is no sliding behavior.
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
It is not yet known if there are any changes in the command order
behavior.
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
08164-90B64
Agilent Technologies