1498
Keysight InfiniiVision M9241/42/43A PXIe Oscilloscopes SCPI Programmer's Guide
40
Programming Examples
scope.SCPI.TRIGger.EDGE.SLOPe.Command("POSitive")
qresult = scope.SCPI.TRIGger.EDGE.SLOPe.Query()
print "Trigger edge slope: %s" % qresult
# Save oscilloscope setup.
setup_lines = scope.SCPI.SYSTem.SETup.Query()
nLength = len(setup_lines)
File.WriteAllLines("setup.stp", setup_lines)
print "Setup lines saved: %d" % nLength
# Change oscilloscope settings with individual commands:
# Set vertical scale and offset.
scope.SCPI.CHANnel.SCALe.Command(1, 0.05)
qresult = scope.SCPI.CHANnel.SCALe.Query(1)
print "Channel 1 vertical scale: %f" % qresult
scope.SCPI.CHANnel.OFFSet.Command(1, -1.5)
qresult = scope.SCPI.CHANnel.OFFSet.Query(1)
print "Channel 1 offset: %f" % qresult
# Set horizontal scale and offset.
scope.SCPI.TIMebase.SCALe.Command(0.0002)
qresult = scope.SCPI.TIMebase.SCALe.Query()
print "Timebase scale: %f" % qresult
scope.SCPI.TIMebase.POSition.Command(0.0)
qresult = scope.SCPI.TIMebase.POSition.Query()
print "Timebase position: %f" % qresult
# Set the acquisition type.
scope.SCPI.ACQuire.TYPE.Command("NORMal")
qresult = scope.SCPI.ACQuire.TYPE.Query()
print "Acquire type: %s" % qresult
# Or, set up oscilloscope by loading a previously saved setup.
setup_lines = File.ReadAllLines("setup.stp")
scope.SCPI.SYSTem.SETup.Command(setup_lines)
print "Setup lines restored: %d" % len(setup_lines)
# Capture an acquisition using :DIGitize.
scope.SCPI.DIGitize.Command("CHANnel1", None, None, None, None)
# =========================================================
# Analyze:
# =========================================================
def analyze():
# Make measurements.
# --------------------------------------------------------
scope.SCPI.MEASure.SOURce.Command("CHANnel1", None)
(source1, source2) = scope.SCPI.MEASure.SOURce.Query()
print "Measure source: %s" % source1
scope.SCPI.MEASure.FREQuency.Command("CHANnel1")
qresult = scope.SCPI.MEASure.FREQuency.Query("CHANnel1")