DESKTOP-2QGM7IR\Lab01 5de3c3cc90 第一次提交
2025-04-09 09:49:42 +08:00

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