EasyManua.ls Logo

Keysight Technologies InfiniiVision 4000 X Series

Keysight Technologies InfiniiVision 4000 X Series
1762 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
1584 Keysight InfiniiVision 4000 X-Series Oscilloscopes Programmer's Guide
41 Status Reporting
# Method 3: Determine if armed using :OPER? query.
# ----------------------------------------------------------------
# Define bit masks for the Operation Status Event Register
ARM_BIT = 5
# 1 leftshift 5 = 32 (bit 5 in the Operation Status Event
# Register)
ARM_MASK = 1 << ARM_BIT
# Define armed criteria.
ARMED = 1 << ARM_BIT # 1 leftshift 5 = 32
# Test for armed.
STATUS_REGISTER = int(KsInfiniiVisionX.query(":OPER?"))
ARMED_STATUS = STATUS_REGISTER & ARM_MASK
# Wait indefinitely until armed.
while ARMED_STATUS != ARMED:
# Check the status again after small delay.
time.sleep(0.1) # 100 ms delay to prevent excessive queries.
STATUS_REGISTER = int(KsInfiniiVisionX.query(":OPER?"))
ARMED_STATUS = STATUS_REGISTER & ARM_MASK
print "Oscilloscope is armed (method 3, using :OPER? query)!"
print "It took " + str(time.clock() - now) +\
" seconds to arm.\n"
# ====================================================================
# Main
# ====================================================================
# Connect and initialize oscilloscope
# --------------------------------------------------------------------
# Define VISA Resource Manager & Install directory
rm = visa.ResourceManager('C:\\Windows\\System32\\agvisa32.dll')
# Define and open the oscilloscope using the VISA address
KsInfiniiVisionX = rm.open_resource(VISA_ADDRESS)
# Set the Global Timeout
KsInfiniiVisionX.timeout = GLOBAL_TOUT
# Clear the instrument bus
KsInfiniiVisionX.clear()
# Reset the oscilloscope.
KsInfiniiVisionX.write("*RST")
# Autoscale to set up vertical scale and trigger level on Probe Comp.
KsInfiniiVisionX.write(":CHANnel1:DISPlay OFF")
KsInfiniiVisionX.write(":CHANnel2:DISPlay ON")
KsInfiniiVisionX.write(":AUToscale:CHANnels DISPlayed")
KsInfiniiVisionX.write(":AUToscale")
# Ensure a "long" time to arm (5 seconds) and not trigger immediately.
# --------------------------------------------------------------------

Table of Contents

Related product manuals