Sample Programs
38
Agilent Infiniium 90000 Series Oscilloscopes Programmer's Reference
1057
# =========================================================
# Send a query, check for errors, return values:
# =========================================================
def do_query_numbers(query):
myScope.WriteString("%s" % query, True)
result = myScope.ReadList(VisaComLib.ASCIIType_R8, ",;")
check_instrument_errors(query)
return result
# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors(command):
while True:
myScope.WriteString(":SYSTem:ERRor? STRing", True)
error_string = myScope.ReadString()
if error_string:
# If there is an error string value.
if error_string.find("0,", 0, 2) == -1:
# Not "No error".
print "ERROR: %s, command: '%s'" % (error_string, command)
print "Exited because of error."
sys.exit(1)
else:
# "No error"
break
else:
# :SYSTem:ERRor? STRing should always return string.
print "ERROR: :SYSTem:ERRor? STRing returned nothing, command: '%s'"
\
% command
print "Exited because of error."
sys.exit(1)
# =========================================================
# Main program:
# =========================================================
rm = CreateObject("VISA.GlobalRM", \
interface=VisaComLib.IResourceManager)
myScope = CreateObject("VISA.BasicFormattedIO", \
interface=VisaComLib.IFormattedIO488)
myScope.IO = \
rm.Open("TCPIP0::lab-qrex-lp2-10.cos.agilent.com::inst0::INSTR")
# Clear the interface.
myScope.IO.Clear
print "Interface cleared."
# Set the Timeout to 15 seconds.
myScope.IO.Timeout = 15000
# 15 seconds.
print "Timeout set to 15000 milliseconds."
# Initialize the oscilloscope, capture data, and analyze.
Summary of Contents for Infiniium 90000 Q-Series
Page 1: ...s1 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference...
Page 50: ...50 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 2 Setting Up...
Page 274: ...274 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 14 Digital Commands...
Page 292: ...292 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 15 Disk Commands...
Page 318: ...318 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 16 Display Commands...
Page 364: ...364 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 17 Function Commands...
Page 382: ...382 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 19 Histogram Commands...
Page 412: ...412 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 21 Limit Test Commands...
Page 416: ...416 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 22 Lister Commands...
Page 696: ...696 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 25 Measure Commands...
Page 702: ...702 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 26 Pod Commands...
Page 760: ...760 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 29 Self Test Commands...
Page 818: ...818 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 31 System Commands...
Page 830: ...830 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 32 Time Base Commands...
Page 930: ...930 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 33 Trigger Commands...
Page 1018: ...1018 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 37 Error Messages...
Page 1150: ...1150 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference 38 Sample Programs...
Page 1186: ...1186 Agilent Infiniium 90000 Series Oscilloscopes Programmer s Reference Index...