#!/usr/bin/python3 # -*- coding: utf-8 -*- import pyvisa import time from pyvisa.constants import * class AFG3000(): def __init__(self): self.rm = pyvisa.ResourceManager() def init(self): #importlib.reload(sys) res = self.rm.list_resources() return res; # self.mydev = self.rm.open_resource(res[0]) # print(mydev.query("*OPT?")) def SetAmpl(self, ampl): #self.mydev.write("VOLTAGE:AMPLITUDE {0}".format(ampl)) #AFG3000 self.mydev.write(":SOUR1:VOLT {0}".format(ampl)) #self.mydev.write("*SAV 1") #self.mydev.write("*RCL 1") def SetFrequency(self, Fre): #self.mydev.write("FREQUENCY {0}".format(Fre)) #AFG3000 #self.mydev.write("*SAV 1") #AFG3000 self.mydev.write(":SOUR1:FREQ {0}".format(Fre)) # DG1002 #self.mydev.write("*RCL 1") def Open(self): #return self.mydev.write("OUTPut1:STATe ON") #AFG3000 return self.mydev.write(":OUTP1 ON") def Connect(self,dev): self.mydev = self.rm.open_resource(dev) def ConnectMultimeter(self,dev): self.multimeterdev = self.rm.open_resource(dev) self.multimeterdev.timeout = 10000 def SetAC(self): #self.multimeterdev.write("CONF:VOLT:AC") # DG1002 self.multimeterdev.write("*CLS") time.sleep(1) res = self.multimeterdev.query("MEAS:VOLT:AC? 1,2.0e-5") # DG1002 #print(float(res)) def measure(self): #print('==========measure=========') time.sleep(1) res = self.multimeterdev.query("MEAS:VOLT:AC? 1,2.0e-5") res = float(res)*1000 #print(res) return float(res) def Close(self): #self.mydev.write("OUTPut1:STATe OFF") #AFG3000 self.mydev.write(":OUTP1 OFF") # DG1002 def query(self, Param): res = self.mydev.query(str(Param)) res = float(res) return res