Module dopes.equipment_control.sh242
Classes
class sh242 (address, rm=None, timeout=10000.0)
-
Expand source code
class sh242(equipment.equipment): """Class to control SH242 climatic chamber""" model="SH242" company="ESPEC" url="https://espec.com/na/products/model/sh_242" def initialize(self,temperature=True, humidity=False,temperature_dic={"upper":125,"lower":-45,"set":20},humidity_dic={"upper":100,"lower":0,"set":55}): """ Function to initialize the SH242 args: \n\t- temperature (boolean) : if True, activate the temperature control \n\t- humidity (boolean) : if True, activate the humidity control \n\t- temperature_dic (dictionary) : dictionnary with the upper ("upper") and lower ("lower") alarm and the initial set point ("set") for the temperature \n\t- humidity_dic (dictionary) : dictionnary with the upper ("upper") and lower ("lower") alarm and the initial set point ("set") for the humidity """ self.set_connection_parameter_dic({"write_termination":'\r\n',"read_termination":'\r\n',"send_end":True}) self.pyvisa_resource.write('POWER, ON') time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write('POWER, CONSTANT') time.sleep(10) self.pyvisa_resource.read() if temperature: self.pyvisa_resource.write("TEMP, L%.2f"%temperature_dic["upper"]) #Changes the temperature lower absolute alarm value in constant setup time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write("TEMP, H%.2f"%temperature_dic["lower"]) #Changes the temperature upper absolute alarm value in constant setup time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write("TEMP, S%.2f"%temperature_dic["set"]) #Changes the temperature set point in constant setup time.sleep(1) self.pyvisa_resource.read() else: self.pyvisa_resource.write("TEMP, SOFF") # disable temperature time.sleep(1) self.pyvisa_resource.read() if humidity: self.pyvisa_resource.write("HUMI, L%.2f"%humidity_dic["upper"]) #Changes the temperature lower absolute alarm value in constant setup time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write("HUMI, H%.2f"%humidity_dic["lower"]) #Changes the temperature upper absolute alarm value in constant setup time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write("HUMI, S%.2f"%humidity_dic["set"]) #Changes the temperature set point in constant setup time.sleep(1) self.pyvisa_resource.read() else: self.pyvisa_resource.write("HUMI, SOFF") # disable temperature time.sleep(1) self.pyvisa_resource.read() def read_temperature(self): """ Function to read the temperature of the climatic chamber return: \n\t- temperature (scalar) : temperature of the chamber """ self.pyvisa_resource.write('TEMP?') time.sleep(0.5) temperature=self.pyvisa_resource.read() return temperature def read_humidity(self): """ Function to read the humidity of the climatic chamber return: \n\t- humidity (scalar) : humidity of the chamber """ self.pyvisa_resource.write('HUMI?') time.sleep(0.5) humidity=self.pyvisa_resource.read() return humidity def set_temperature(self,temperature,waiting_time=0,wait_for_stabilization=False,stabilization_tolerance=0.1,stabilization_number=10): """ Function to set the temperature of the climatic chamber return: \n\t- temperature (scalar) : targeted temperature of the chamber \n\t- waiting_time (scalar) : time in seconds to wait before after changing the temperature target. If a waiting for the stabilization is required, the waiting time happens before. \n\t- wait_for_stabilization (boolean) : if True, the function wait that the chamber has stabilized within "stabilization_tolerance" over "stabilization_number" cycles of 5 seconds \n\t- stabilization_tolerance (scalar) : the tolerance in °C to consider the temperature of the chamber close enough to the targeted temperature \n\t- stabilization_number (int) : number of cycles to be checked to consider the temperature as stabilized """ self.pyvisa_resource.write("TEMP, S%.2f"%temperature) #Changes the temperature set point in constant setup time.sleep(1) self.pyvisa_resource.read() time.sleep(waiting_time) if wait_for_stabilization: temperature_stabilized=False stabilization_count=0 while temperature_stabilized==False: self.pyvisa_resource.write("TEMP?") time.sleep(5) temperature_read=np.round(float(self.pyvisa_resource.read().split(",")[0]),1) if abs(temperature_read-temperature)<stabilization_tolerance: stabilization_count+=1 if stabilization_count==stabilization_number: temperature_stabilized=True else: stabilization_count=0 def set_humidity(self,humidity,waiting_time=0,wait_for_stabilization=False,stabilization_tolerance=0.5,stabilization_number=1): """ Function to set the humidity of the climatic chamber return: \n\t- humidity (scalar) : targeted humidity of the chamber \n\t- waiting_time (scalar) : time in seconds to wait before after changing the humidity target. If a waiting for the stabilization is required, the waiting time happens before. \n\t- wait_for_stabilization (boolean) : if True, the function wait that the chamber has stabilized within "stabilization_tolerance" over "stabilization_number" cycles of 5 seconds \n\t- stabilization_tolerance (scalar) : the tolerance in % to consider the humidity of the chamber close enough to the targeted humidity \n\t- stabilization_number (int) : number of cycles to be checked to consider the humidity as stabilized """ self.pyvisa_resource.write("HUMI, S%.2f"%humidity) #Changes the temperature set point in constant setup time.sleep(1) self.pyvisa_resource.read() time.sleep(waiting_time) if wait_for_stabilization: humidity_stabilized=False stabilization_count=0 while humidity_stabilized==False: self.pyvisa_resource.write("HUMI?") time.sleep(5) humidity_read=np.round(float(self.pyvisa_resource.read().split(",")[0]),1) if abs(humidity_read-humidity)<stabilization_tolerance: stabilization_count+=1 if stabilization_count==stabilization_number: humidity_stabilized=True else: stabilization_count=0
Class to control SH242 climatic chamber
Function called when an instance of the class is created
args:
-
address (string) : the address of the equipment to be connected
-
rm (pyvisa object) : the pyvisa resource manager used to set the communication with the equipment
-
timeout (scalar) : the timeout set for the communication with the equipment
Ancestors
Class variables
var company
var model
var url
Methods
def initialize(self,
temperature=True,
humidity=False,
temperature_dic={'upper': 125, 'lower': -45, 'set': 20},
humidity_dic={'upper': 100, 'lower': 0, 'set': 55})-
Expand source code
def initialize(self,temperature=True, humidity=False,temperature_dic={"upper":125,"lower":-45,"set":20},humidity_dic={"upper":100,"lower":0,"set":55}): """ Function to initialize the SH242 args: \n\t- temperature (boolean) : if True, activate the temperature control \n\t- humidity (boolean) : if True, activate the humidity control \n\t- temperature_dic (dictionary) : dictionnary with the upper ("upper") and lower ("lower") alarm and the initial set point ("set") for the temperature \n\t- humidity_dic (dictionary) : dictionnary with the upper ("upper") and lower ("lower") alarm and the initial set point ("set") for the humidity """ self.set_connection_parameter_dic({"write_termination":'\r\n',"read_termination":'\r\n',"send_end":True}) self.pyvisa_resource.write('POWER, ON') time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write('POWER, CONSTANT') time.sleep(10) self.pyvisa_resource.read() if temperature: self.pyvisa_resource.write("TEMP, L%.2f"%temperature_dic["upper"]) #Changes the temperature lower absolute alarm value in constant setup time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write("TEMP, H%.2f"%temperature_dic["lower"]) #Changes the temperature upper absolute alarm value in constant setup time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write("TEMP, S%.2f"%temperature_dic["set"]) #Changes the temperature set point in constant setup time.sleep(1) self.pyvisa_resource.read() else: self.pyvisa_resource.write("TEMP, SOFF") # disable temperature time.sleep(1) self.pyvisa_resource.read() if humidity: self.pyvisa_resource.write("HUMI, L%.2f"%humidity_dic["upper"]) #Changes the temperature lower absolute alarm value in constant setup time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write("HUMI, H%.2f"%humidity_dic["lower"]) #Changes the temperature upper absolute alarm value in constant setup time.sleep(1) self.pyvisa_resource.read() self.pyvisa_resource.write("HUMI, S%.2f"%humidity_dic["set"]) #Changes the temperature set point in constant setup time.sleep(1) self.pyvisa_resource.read() else: self.pyvisa_resource.write("HUMI, SOFF") # disable temperature time.sleep(1) self.pyvisa_resource.read()
Function to initialize the SH242
args:
-
temperature (boolean) : if True, activate the temperature control
-
humidity (boolean) : if True, activate the humidity control
-
temperature_dic (dictionary) : dictionnary with the upper ("upper") and lower ("lower") alarm and the initial set point ("set") for the temperature
-
humidity_dic (dictionary) : dictionnary with the upper ("upper") and lower ("lower") alarm and the initial set point ("set") for the humidity
-
def read_humidity(self)
-
Expand source code
def read_humidity(self): """ Function to read the humidity of the climatic chamber return: \n\t- humidity (scalar) : humidity of the chamber """ self.pyvisa_resource.write('HUMI?') time.sleep(0.5) humidity=self.pyvisa_resource.read() return humidity
Function to read the humidity of the climatic chamber
return:
- humidity (scalar) : humidity of the chamber
def read_temperature(self)
-
Expand source code
def read_temperature(self): """ Function to read the temperature of the climatic chamber return: \n\t- temperature (scalar) : temperature of the chamber """ self.pyvisa_resource.write('TEMP?') time.sleep(0.5) temperature=self.pyvisa_resource.read() return temperature
Function to read the temperature of the climatic chamber
return:
- temperature (scalar) : temperature of the chamber
def set_humidity(self,
humidity,
waiting_time=0,
wait_for_stabilization=False,
stabilization_tolerance=0.5,
stabilization_number=1)-
Expand source code
def set_humidity(self,humidity,waiting_time=0,wait_for_stabilization=False,stabilization_tolerance=0.5,stabilization_number=1): """ Function to set the humidity of the climatic chamber return: \n\t- humidity (scalar) : targeted humidity of the chamber \n\t- waiting_time (scalar) : time in seconds to wait before after changing the humidity target. If a waiting for the stabilization is required, the waiting time happens before. \n\t- wait_for_stabilization (boolean) : if True, the function wait that the chamber has stabilized within "stabilization_tolerance" over "stabilization_number" cycles of 5 seconds \n\t- stabilization_tolerance (scalar) : the tolerance in % to consider the humidity of the chamber close enough to the targeted humidity \n\t- stabilization_number (int) : number of cycles to be checked to consider the humidity as stabilized """ self.pyvisa_resource.write("HUMI, S%.2f"%humidity) #Changes the temperature set point in constant setup time.sleep(1) self.pyvisa_resource.read() time.sleep(waiting_time) if wait_for_stabilization: humidity_stabilized=False stabilization_count=0 while humidity_stabilized==False: self.pyvisa_resource.write("HUMI?") time.sleep(5) humidity_read=np.round(float(self.pyvisa_resource.read().split(",")[0]),1) if abs(humidity_read-humidity)<stabilization_tolerance: stabilization_count+=1 if stabilization_count==stabilization_number: humidity_stabilized=True else: stabilization_count=0
Function to set the humidity of the climatic chamber
return:
-
humidity (scalar) : targeted humidity of the chamber
-
waiting_time (scalar) : time in seconds to wait before after changing the humidity target. If a waiting for the stabilization is required, the waiting time happens before.
-
wait_for_stabilization (boolean) : if True, the function wait that the chamber has stabilized within "stabilization_tolerance" over "stabilization_number" cycles of 5 seconds
-
stabilization_tolerance (scalar) : the tolerance in % to consider the humidity of the chamber close enough to the targeted humidity
-
stabilization_number (int) : number of cycles to be checked to consider the humidity as stabilized
-
def set_temperature(self,
temperature,
waiting_time=0,
wait_for_stabilization=False,
stabilization_tolerance=0.1,
stabilization_number=10)-
Expand source code
def set_temperature(self,temperature,waiting_time=0,wait_for_stabilization=False,stabilization_tolerance=0.1,stabilization_number=10): """ Function to set the temperature of the climatic chamber return: \n\t- temperature (scalar) : targeted temperature of the chamber \n\t- waiting_time (scalar) : time in seconds to wait before after changing the temperature target. If a waiting for the stabilization is required, the waiting time happens before. \n\t- wait_for_stabilization (boolean) : if True, the function wait that the chamber has stabilized within "stabilization_tolerance" over "stabilization_number" cycles of 5 seconds \n\t- stabilization_tolerance (scalar) : the tolerance in °C to consider the temperature of the chamber close enough to the targeted temperature \n\t- stabilization_number (int) : number of cycles to be checked to consider the temperature as stabilized """ self.pyvisa_resource.write("TEMP, S%.2f"%temperature) #Changes the temperature set point in constant setup time.sleep(1) self.pyvisa_resource.read() time.sleep(waiting_time) if wait_for_stabilization: temperature_stabilized=False stabilization_count=0 while temperature_stabilized==False: self.pyvisa_resource.write("TEMP?") time.sleep(5) temperature_read=np.round(float(self.pyvisa_resource.read().split(",")[0]),1) if abs(temperature_read-temperature)<stabilization_tolerance: stabilization_count+=1 if stabilization_count==stabilization_number: temperature_stabilized=True else: stabilization_count=0
Function to set the temperature of the climatic chamber
return:
-
temperature (scalar) : targeted temperature of the chamber
-
waiting_time (scalar) : time in seconds to wait before after changing the temperature target. If a waiting for the stabilization is required, the waiting time happens before.
-
wait_for_stabilization (boolean) : if True, the function wait that the chamber has stabilized within "stabilization_tolerance" over "stabilization_number" cycles of 5 seconds
-
stabilization_tolerance (scalar) : the tolerance in °C to consider the temperature of the chamber close enough to the targeted temperature
-
stabilization_number (int) : number of cycles to be checked to consider the temperature as stabilized
-
Inherited members
-