:JOBS Subsystem
Use the :JOBS
subsystem to return information from a Station's Job Results panel including measurement results, measurement configuration, and general information about the data acquisition.
SCPI commands in this subsystem require that a Job ID be passed as an argument to each command in order to identify the results that you want to return. The only exceptions are these commands:
What is a Job ID?
A Job ID identifies the data resulting from an executed Test Program line and is the data for a specific DUT's lane. In the Job Results panel, each table row represents data for a specific Job ID. If you run the Test Program multiple times, the panel will include multiple Job IDs for different measurement runs on the same DUT lane.
Clearing lines from the panel does not reset the line Job ID numbers.
A SCPI command is available to query the results of each table cell in the Job Results panel:
- Fixture name (
:JOBS:CONFig:FIXTure?
) - Lane number (
:JOBS:CONFig:LANE?
) - Scalar measurement results (
:JOBS:RESults:MEASure
SCPI node) - Waveform Data, if enabled, saved in a zip file (
:DISK:RESults:SAVE
) - Eye Diagram data as a binary transfer, if enabled (
:JOBS:RESults:SIMage?
)
Returning Job ID numbers, Associated Lane, and Measurement Results
When you run your Test Program by sending the :TPRogram
subsystem's :TPRogram:RUN
command, a comma delimited string of the Job IDs is returned. These are the JOB IDs that have been started. For example, in the following Python code snippet, if :TPRogram:RUN
returned "4,5,6,7", you could pass the first Job ID (jobids[0]
) which in this example is 4, to the following commands to return panel results for the Lane including fixture name, Lane number, and the Outer OMA measurement.
... jobids = station.query(':TPRogram:RUN?').split(',') if station.query(':ACQuire:COMPlete?') == '1': station.query('*OPC?') fixture = station.write(':JOBS:CONFig:FIXTure? jobids[0]') # fixture name lane = station.write(':JOBS:CONFig:LANE? jobids[0]') # Lane number ooma = station.write(':JOBS:RESults:MEASure:OOMA? jobids[0]') # outer OMA measurement ...
The commands in the code above returns strings from the Job Results panel shown in the following picture. This would result in "DUT FIXTure 1" assigned to the fixture
variable, "Lane 1" assigned to the lane
variable, and "4.996E-4" assigned to the ooma
variable.
The following table list queries used to return the results from the Job Results panel. If a measurement is not included in the Test Plan, the measurement query returns 9.91E+37
(NaN). If an impairment is not included in the Test Plan, querying the impairment value will result in a error. To test if an Impairment is assigned to a lane of the Test Program's line, use the :TPRogram:SLINe:IMPairments
query.
You can return all measurements for a given Job ID by sending the :JOBS:RESults?
query.
For a given Job ID.
User measurements are defined in your Instrument driver and read by FlexOTO.
If you want to save the results to a zip file, use the :DISK:RESults:SAVE
command. If an Eye Diagram Image is selected to be included in the Test Program, you can return the binary image data with the :JOBS:RESults:SIMage?
query.
Informational Queries
The queries under the :JOBS:RESults:INFO
SCPI node return information about the acquisition engine for the specified Job ID. For example, the :JOBS:RESults:INFO:TAPS?
query returns the tap values employed by FlexDCA's TDECQ reference equalizer math operator when making FlexOTO's TDECQ measurement. To learn about FlexOTO's acquisition engines, refer to the :JOBS:RESults:INFO:AENGine?
query.
Measurement Presets
To change the standard presets that are applied to the measurements, use the :TPRogram
subsystem commands shown in the following table.
Preset | Command |
---|---|
Clock Data Recovery (CDR) | :TPRogram:SETup:CRPReset
|
TDECQ Measurement | :TPRogram:SETup:TMPReset
|
TDECQ EQ | :TPRogram:SETup:TEPReset
|
:JOBS
commands can only be sent to a FlexOTO Station. Sending these commands to FlexOTO Hardware Diagram will result in an error.