dopes.equipment_control.sh242 API documentation

# 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

  - equipment

  ### 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

  - `equipment`:
    - `close_connection`
    - `set_connection_parameter`
    - `set_connection_parameter_dic`