diff options
Diffstat (limited to 'qolab/hardware/power_supply/keysight_e3612a.py')
-rw-r--r-- | qolab/hardware/power_supply/keysight_e3612a.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/qolab/hardware/power_supply/keysight_e3612a.py b/qolab/hardware/power_supply/keysight_e3612a.py new file mode 100644 index 0000000..5c5bab0 --- /dev/null +++ b/qolab/hardware/power_supply/keysight_e3612a.py @@ -0,0 +1,51 @@ +from qolab.hardware.basic import BasicInstrument +from qolab.hardware.power_supply import PowerSupplySCPI +import re +import numpy as np + +class KeysightE3612A(PowerSupplySCPI): + """ Keysight E3612A power supply """ + def __init__(self, resource, *args, **kwds): + super().__init__(resource, *args, **kwds) + # self.resource.read_termination='\n' + self.config['Device model'] = 'Keysight E3612A' + self.numberOfChannels = 1 + # self.channelProperties = {'Vlimit', 'Ilimit', 'Vout', 'Iout' } + self.channelProperties = {'Vout', } + + def chanOn(self, chNum): + self.write(f'OUTP ON,(@{chNum})') + + def chanOff(self, chNum): + self.write(f'OUTP OFF,(@{chNum})') + + @BasicInstrument.tsdb_append + def getChanState(self, chNum): + qstr = f'OUTP? (@{chNum})' + rstr = self.query(qstr) + return( bool(float(rstr)) ) + + @BasicInstrument.tsdb_append + def getChanVout(self, chNum): + qstr = f'MEAS:VOLT? (@{chNum})' + rstr = self.query(qstr) + return( float(rstr) ) + + @BasicInstrument.tsdb_append + def getChanIout(self, chNum): + qstr = f'MEAS:CURR? (@{chNum})' + rstr = self.query(qstr) + return( float(rstr) ) + + +if __name__ == '__main__': + import pyvisa + print("testing") + rm = pyvisa.ResourceManager() + print(rm.list_resources()) + instr=rm.open_resource('USB0::10893::4354::MY61001869::0::INSTR') + ps = KeysightE3612A(instr) + print('------ Header start -------------') + print(str.join('\n', ps.getHeader())) + print('------ Header ends -------------') + |