diff options
author | Eugeniy E. Mikhailov <evgmik@gmail.com> | 2022-03-09 12:38:46 -0500 |
---|---|---|
committer | Eugeniy E. Mikhailov <evgmik@gmail.com> | 2022-03-09 12:38:46 -0500 |
commit | 994d29b403129c5687980aa9b596114a7a7c0edc (patch) | |
tree | 44f90172e57fa40842d0cdb797f296a2d718f7b3 /qolab/hardware/power_supply/keysight_e3612a.py | |
parent | e84ef9e06f25a6da04f54f52e9dfaee1229d5405 (diff) | |
download | qolab-994d29b403129c5687980aa9b596114a7a7c0edc.tar.gz qolab-994d29b403129c5687980aa9b596114a7a7c0edc.zip |
draft of Keysight Power Supply control
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 -------------') + |