1344
Keysight InfiniiVision M9241/42/43A PXIe Oscilloscopes SCPI Programmer's Guide
37
Status Reporting
Example: Waiting for IO Operation Complete
# -*- coding: utf-8 -*-
# ********************************************************************
# This script using the Python language (http://www.python.org/) and
# the PyVISA package (http://pyvisa.readthedocs.org/) shows how to
# wait for IO operation completion in a Keysight InfiniiVision
# oscilloscope.
# ********************************************************************
# Import modules
# --------------------------------------------------------------------
import sys
import visa
import time
# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = \
"TCPIP0::a-mx4154a-60014.cos.is.keysight.com::inst0::INSTR"
GLOBAL_TOUT =
20000
# IO timeout in milliseconds
# ====================================================================
# Check for IO Operation Complete using :OPER? query.
# --------------------------------------------------------------------
# This method reads the Operation Status Register's IOC bit
# (bit 13) using the :OPER? query.
#
# The Operation Status Event Register bits are cleared (0) when the
# register is read.
#
# All status bits are cleared by a *CLS command.
# ====================================================================
def wait_io_operation():
# ----------------------------------------------------------------
now = time.clock()
# Define bit masks for the Operation Status Event Register
IOC_BIT = 13
# 1 leftshift 13 = 8192 (bit 13 in the Operation Status Event
# Register)
IOC_MASK = 1 << IOC_BIT
# Define IO complete criteria.
NOTE
The IOC (IO Operation Complete) and IOF (IO Operation Failed) bits in the Operation Status
Event Register identify when :WMEMory<r>:SAVE and other :SAVE and :RECall commands are
completely done. To determine when a IO operation is complete, you should use these bits
instead of the OPC (Operation Complete) bit in the Standard Event Status Register or the
*OPC? query.