diff --git a/Agilent_NetworkAnalyzer/Agilent_NetworkAnalyzer.ini b/Agilent_NetworkAnalyzer/Agilent_NetworkAnalyzer.ini index acf4f58d1a3966001120a43e7f6e8e5678f86e69..437ef831b9a672ce347e79e7f6b822fc972a5d53 100644 --- a/Agilent_NetworkAnalyzer/Agilent_NetworkAnalyzer.ini +++ b/Agilent_NetworkAnalyzer/Agilent_NetworkAnalyzer.ini @@ -182,6 +182,7 @@ datatype: BOOLEAN def_value: False set_cmd: :SENS:AVER group: Acquisition +model_value_1: E5071C [# of averages] datatype: DOUBLE @@ -190,6 +191,7 @@ low_lim: 1 high_lim: 65536 set_cmd: :SENS:AVER:COUN group: Acquisition +model_value_1: E5071C [Wait for new trace] datatype: BOOLEAN diff --git a/Agilent_NetworkAnalyzer/Agilent_NetworkAnalyzer.py b/Agilent_NetworkAnalyzer/Agilent_NetworkAnalyzer.py index 1d19371a62ee4a47997ac1f387e2b2347b937314..4c7711705fe53441c31c9494abc078d7434e47a8 100644 --- a/Agilent_NetworkAnalyzer/Agilent_NetworkAnalyzer.py +++ b/Agilent_NetworkAnalyzer/Agilent_NetworkAnalyzer.py @@ -56,17 +56,12 @@ class Driver(VISA_Driver): # create new measurement, if enabled is true if value: newName = 'LabC_%s' % param - self.writeAndLog("CALC:PAR:EXT '%s','%s'" % (newName, param)) + if self.getModel() in ('E8364B'): + self.writeAndLog("CALC:PAR:DEF '%s',%s" % (newName, param)) + else: + self.writeAndLog("CALC:PAR:EXT '%s','%s'" % (newName, param)) # show on PNA screen iTrace = 1 + ['S11', 'S21', 'S12', 'S22'].index(param) - # sPrev = self.askAndLog('DISP:WIND:CAT?') - # if sPrev.find('EMPTY')>0: - # # no previous traces - # iTrace = 1 - # else: - # # previous traces, add new - # lTrace = sPrev[1:-1].split(',') - # iTrace = int(lTrace[-1]) + 1 self.writeAndLog("DISP:WIND:TRAC%d:FEED '%s'" % (iTrace, newName)) # add to dict with list of measurements self.dMeasParam[param] = [newName] @@ -88,6 +83,7 @@ class Driver(VISA_Driver): self.getActiveMeasurements() # get selected parameter param = quant.name[:3] + self.log(self.dMeasParam) value = (param in self.dMeasParam) elif quant.name in ('S11', 'S21', 'S12', 'S22'): # check if channel is on @@ -109,10 +105,14 @@ class Driver(VISA_Driver): * (self.getValue('# of averages') if bAverage else 1)) # wait for trace, either in averaging or normal mode if bWaitTrace: - self.writeAndLog(':ABOR;:TRIG:SOUR BUS;:INIT:CONT OFF;:INIT:IMM;') - if bAverage: - self.writeAndLog(':TRIG:AVER ON') - self.writeAndLog(':TRIG:SING;') + if self.getModel() not in ('E8364B'): + self.writeAndLog(":ABOR;:TRIG:SOUR BUS;:INIT:CONT OFF;:INIT:IMM;") + if bAverage: + self.writeAndLog(':TRIG:AVER ON') + self.writeAndLog(':TRIG:SING;') + + else: + self.writeAndLog(":ABOR;:INIT:CONT OFF;:INIT:IMM;") self.writeAndLog('*OPC') # wait some time before first check self.wait(0.03) @@ -140,7 +140,11 @@ class Driver(VISA_Driver): self.write(':FORM REAL,32;CALC:DATA? SDATA', bCheckError=False) sData = self.read(ignore_termination=True) if bWaitTrace: - self.writeAndLog(':TRIG:SOUR INT;:TRIG:AVER OFF;:ABOR;') + if self.getModel() in ('E8364B'): + self.writeAndLog(':TRIG:SOUR MAN;:ABOR;') + + else: + self.writeAndLog(':TRIG:SOUR INT;:TRIG:AVER OFF;:ABOR;') # strip header to find # of points i0 = sData.find(b'#') @@ -187,7 +191,10 @@ class Driver(VISA_Driver): sParam = self.askAndLog(":CALC:PAR%d:DEF?" % (n+1)) self.dMeasParam[sParam] = (n+1) else: - sAll = self.askAndLog("CALC:PAR:CAT:EXT?") + if self.getModel() in ('E8364B'): + sAll = self.askAndLog("CALC:PAR:CAT?") + else: + sAll = self.askAndLog("CALC:PAR:CAT:EXT?") # strip "-characters sAll = sAll[1:-1] # parse list, format is channel, parameter, ...