71 lines
1.9 KiB
Python
71 lines
1.9 KiB
Python
|
|
#!/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
|