from gpib82357A import * from math import * class HP3478A: def __init__(self,name="GPIB0::3::INSTR"): self.GPIB=gpib82357A(name) def reset(self): self.GPIB.write("*RST\n") def idn(self): self.GPIB.write("*IDN\n") st=self.GPIB.read() return st def cmd(self,str) : self.GPIB.cmd(str) def write(self,str) : self.GPIB.write(str) def read(self) : st=self.GPIB.read() return st def getvoltage(self,str) : #str "DC" or "AC" if (str=='DC'): self.GPIB.write('H1?\n') else: self.GPIB.write('H2?\n') st=float(self.GPIB.read()) return st def getresistance(self,str) : #str "2WIRE" or "4WIRE" if (str=='2WIRE'): self.GPIB.write('H3?\n') else: self.GPIB.write('H4?\n') st=float(self.GPIB.read()) return st def getcurrent(self,str): #str "DC" or "AC" if (str=='DC'): self.GPIB.write('H5?\n') else: self.GPIB.write('H6?\n') st=float(self.GPIB.read()) return st def display(self,str): #str uppercase ONLY ! msg="D2%s" %str self.GPIB.write(msg) def dBm(self,R=50): Veff=float(self.getvoltage('AC')) P=10*log10(Veff*Veff/R/10E-3) return P return st def close(self): self.GPIB.close()