示例#1
0
    def __init__(self, name, address):
        '''

        Input:
            name (string)    : name of the instrument
            address (string) : instrument (serial port) address

        Output:
            None
        '''
        logging.debug(__name__ + ' : Initializing instrument')
        Instrument.__init__(self, name, tags=['physical'])


        self._address = address
        self._visainstrument = visa.SerialInstrument(self._address, delay = 30e-3)
        self._values = {}
        self._visainstrument.stop_bits = 1
        self.reset()

        #Add parameters
        self.add_parameter('b_raw', type=types.IntType,
            flags=Instrument.FLAG_GET)
        self.add_parameter('counts', type=types.IntType,
            flags=Instrument.FLAG_GETSET)

        # Add functions
        self.add_function('get_all')
        self.get_all()
示例#2
0
    def __init__(self, name, address, number=5):
        '''
        Initializes the Oxford Instruments Kelvinox IGH Dilution Refrigerator.

        Input:
            name (string)    : name of the instrument
            address (string) : instrument address
            number (int)     : ISOBUS instrument number

        Output:
            None
        '''
        logging.debug(__name__ + ' : Initializing instrument')
        Instrument.__init__(self, name, tags=['physical'])

        self._address = address
        self._number = number
        self._visainstrument = visa.SerialInstrument(self._address)
        self._values = {}
        self._visainstrument.stop_bits = 2

        #Add parameters
        self.add_parameter('1K_pot_temp',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('mix_chamber_temp',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)

        # Add functions
        self.add_function('get_all')
        self.get_all()
示例#3
0
    def __init__(self, name, address, number=1):
        '''
        Initializes the Oxford Instruments ILM 200 Helium Level Meter.

        Input:
            name (string)    : name of the instrument
            address (string) : instrument address
            number (int)     : ISOBUS instrument number

        Output:
            None
        '''
        logging.debug(__name__ + ' : Initializing instrument')
        Instrument.__init__(self, name, tags=['physical'])

        self._address = address
        self._number = number
        self._visainstrument = visa.SerialInstrument(self._address)
        self._values = {}
        self._visainstrument.stop_bits = 2

        #Add parameters
        self.add_parameter('level',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('status',
                           type=types.StringType,
                           flags=Instrument.FLAG_GET)

        # Add functions
        self.add_function('get_all')
        self.get_all()
示例#4
0
    def _open_serial_connection(self):
        logging.debug(__name__ + ' : Opening serial connection')

        self._visa = visa.SerialInstrument(self._address,
                                           baud_rate=9600,
                                           data_bits=8,
                                           stop_bits=1,
                                           parity=visa.no_parity,
                                           term_chars="",
                                           send_end=False)
示例#5
0
    def __init__(self, name, address):
        '''
        Initializes the Oxford Instruments IPS 120 Magnet Power Supply.

        Input:
            name (string)    : name of the instrument
            address (string) : instrument address
            number (int)     : ISOBUS instrument number

        Output:
            None
        '''
        logging.debug(__name__ + ' : Initializing instrument')
        Instrument.__init__(self, name, tags=['physical'])


        self._address = address
        self._visainstrument = visa.SerialInstrument(self._address)

        #Add parameters
        self.add_parameter('field',
            flags=Instrument.FLAG_GET,
            type=types.FloatType,
            units='T',
            tags=['measure']
            )
        self.add_parameter('voltage',
            flags=Instrument.FLAG_GET,
            type=types.FloatType,
            units='V',
            tags=['measure']
            )
        self.add_parameter('ramp_rate',
            flags=Instrument.FLAG_GETSET,
            type=types.FloatType,
            units='A/SEC',
            tags=['measure']
            )
        self.add_parameter('mid_setpoint',
            flags=Instrument.FLAG_GETSET,
            type=types.FloatType,
            units='T',
            tags=['measure']
            )
        self.add_parameter('max_setpoint',
            flags=Instrument.FLAG_GETSET,
            type=types.FloatType,
            units='T',
            tags=['measure']
            )
     
        # Add functions
        self.add_function('get_all')
        self.get_all()
示例#6
0
文件: VisaSubs.py 项目: ectof/Fridge
def InitializeSerial(name, idn="*IDN?", **kwargs):
    try:
        SerialVisa = visa.SerialInstrument(name)
        for kw in kwargs.keys():
            tmp = "".join(("SerialVisa.", kw, "=\"", kwargs[kw], "\""))
            exec(tmp)
        print SerialVisa.ask(idn)
    except Exception:
        print "Failed opening serial port %s\n" % name
        SerialVisa = None

    return SerialVisa
示例#7
0
    def _open_serial_connection(self):
        '''
        Opens the ASRL connection using vpp43
        baud=9600, databits=8, stop=one, parity=none, no end char for reads

        Input:
            None

        Output:
            None
        '''
        logging.debug(__name__ + ' : Opening serial connection')

        self._visa = visa.SerialInstrument(self._address,
                                           baud_rate=9600,
                                           data_bits=8,
                                           stop_bits=1,
                                           parity=visa.no_parity,
                                           term_chars="",
                                           send_end=False,
                                           chunk_size=8)
        vpp43.set_attribute(self._visa.vi, vpp43.VI_ATTR_ASRL_END_IN,
                            vpp43.VI_ASRL_END_NONE)
示例#8
0
    def __init__(self, name, address, reset=False):
        Instrument.__init__(self, name, tags=['physical'])

        # Set parameters
        self._address = address

        # Add functions
        self.add_function('reset')
        self.add_function('get_all')
        #        self.add_function('optimize_LBO')
        #        self.add_function('optimize_diodes')

        self.add_parameter('tgt_power',
                           type=types.FloatType,
                           units='W',
                           format='%.04f',
                           flags=Instrument.FLAG_GETSET)
        self.add_parameter('output_power',
                           type=types.FloatType,
                           units='W',
                           format='%.03f',
                           flags=Instrument.FLAG_GET)
        self.add_parameter('shutter',
                           type=types.IntType,
                           format_map={
                               0: 'Closed',
                               1: 'Open'
                           },
                           flags=Instrument.FLAG_GETSET)
        self.add_parameter('mode',
                           type=types.IntType,
                           format_map={
                               1: 'Light',
                               0: 'Current'
                           },
                           flags=Instrument.FLAG_GET)
        self.add_parameter('current',
                           type=types.FloatType,
                           units='A',
                           format='%.01f',
                           flags=Instrument.FLAG_GET)
        self.add_parameter('Tbaseplate',
                           type=types.FloatType,
                           units='C',
                           format='%.02f',
                           flags=Instrument.FLAG_GET)
        self.add_parameter('Tetalon',
                           type=types.FloatType,
                           units='C',
                           format='%.02f',
                           flags=Instrument.FLAG_GET)
        self.add_parameter('TLBO',
                           type=types.FloatType,
                           units='C',
                           format='%.02f',
                           flags=Instrument.FLAG_GET)
        self.add_parameter('Tdiode',
                           type=types.FloatType,
                           units='C',
                           format='%.02f',
                           flags=Instrument.FLAG_GET,
                           channels=(1, 2))
        self.add_parameter('THSdiode',
                           type=types.FloatType,
                           units='C',
                           format='%.02f',
                           flags=Instrument.FLAG_GET,
                           channels=(1, 2))
        self.add_parameter('Idiode',
                           type=types.FloatType,
                           units='A',
                           format='%.01f',
                           flags=Instrument.FLAG_GET,
                           channels=(1, 2))
        self.add_parameter('Tvanadate',
                           type=types.FloatType,
                           units='C',
                           format='%.02f',
                           flags=Instrument.FLAG_GET,
                           channels=(1, 2))
        self.add_parameter('PCdiode',
                           type=types.FloatType,
                           units='W',
                           format='%.02f',
                           flags=Instrument.FLAG_GET,
                           channels=(1, 2))

        self._visa = visa.SerialInstrument(address,
                                           data_bits=8,
                                           stop_bits=1,
                                           parity=0,
                                           baud_rate=19200,
                                           term_chars='\r\n')

        if reset:
            self.reset()
        else:
            self.get_all()
示例#9
0
    def __init__(self, name, address, number=2):
        '''
        Initializes the Oxford Instruments IPS 120 Magnet Power Supply. Maximum

        Input:
            name (string)    : name of the instrument
            address (string) : instrument address
            number (int)     : ISOBUS instrument number

        Output:
            None
        '''
        logging.debug(__name__ + ' : Initializing instrument')
        Instrument.__init__(self, name, tags=['physical'])

        self._address = address
        self._number = number
        self._visainstrument = visa.SerialInstrument(self._address)
        self._values = {}
        self._visainstrument.stop_bits = 2

        #Add parameters
        self.add_parameter('mode',
                           type=types.IntType,
                           flags=Instrument.FLAG_GETSET
                           | Instrument.FLAG_GET_AFTER_SET,
                           format_map={
                               0: "Amps, Magnet sweep: fast",
                               1: "Tesla, Magnet sweep: fast",
                               4: "Amps, Magnet sweep: slow",
                               5: "Tesla, Magnet sweep: slow",
                               8: "Amps, (Magnet sweep: unaffected)",
                               9: "Tesla, (Magnet sweep: unaffected)"
                           })
        self.add_parameter('mode2',
                           type=types.IntType,
                           flags=Instrument.FLAG_GET,
                           format_map={
                               0: "At rest",
                               1: "Sweeping",
                               2: "Sweep limiting",
                               3: "Sweeping & sweep limiting"
                           })
        self.add_parameter('activity',
                           type=types.IntType,
                           flags=Instrument.FLAG_GETSET
                           | Instrument.FLAG_GET_AFTER_SET,
                           format_map={
                               0: "Hold",
                               1: "To set point",
                               2: "To zero",
                               4: "Clamped"
                           })
        self.add_parameter(
            'switch_heater',
            type=types.IntType,
            flags=Instrument.FLAG_GETSET | Instrument.FLAG_GET_AFTER_SET,
            format_map={
                0: "Off magnet at zero (switch closed)",
                1: "On (switch open)",
                2: "Off magnet at field (switch closed)",
                5: "Heater fault (heater is on but current is low)",
                8: "No switch fitted"
            })
        self.add_parameter('polarity',
                           type=types.StringType,
                           flags=Instrument.FLAG_GETSET
                           | Instrument.FLAG_GET_AFTER_SET)
        self.add_parameter('field_setpoint',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GETSET
                           | Instrument.FLAG_GET_AFTER_SET,
                           minval=0,
                           maxval=10)
        self.add_parameter('sweeprate_field',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GETSET
                           | Instrument.FLAG_GET_AFTER_SET,
                           minval=0,
                           maxval=1)
        self.add_parameter('current_setpoint',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GETSET
                           | Instrument.FLAG_GET_AFTER_SET,
                           minval=-90.93,
                           maxval=90.93)
        self.add_parameter('sweeprate_current',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GETSET
                           | Instrument.FLAG_GET_AFTER_SET,
                           minval=0,
                           maxval=240)
        self.add_parameter('remote_status',
                           type=types.IntType,
                           flags=Instrument.FLAG_GETSET
                           | Instrument.FLAG_GET_AFTER_SET,
                           format_map={
                               0: "Local and locked",
                               1: "Remote and locked",
                               2: "Local and unlocked",
                               3: "Remote and unlocked",
                               4: "Auto-run-down",
                               5: "Auto-run-down",
                               6: "Auto-run-down",
                               7: "Auto-run-down"
                           })
        self.add_parameter('system_status',
                           type=types.IntType,
                           flags=Instrument.FLAG_GET,
                           format_map={
                               0: "Normal",
                               1: "Quenched",
                               2: "Over Heated",
                               4: "Warming Up",
                               8: "Fault"
                           })
        self.add_parameter('system_status2',
                           type=types.IntType,
                           flags=Instrument.FLAG_GET,
                           format_map={
                               0: "Normal",
                               1: "On positive voltage limit",
                               2: "On negative voltage limit",
                               4: "Outside negative current limit",
                               8: "Outside positive current limit"
                           })
        self.add_parameter('current',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('voltage',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('magnet_current',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('field',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('voltage_limit',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('persistent_current',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('trip_current',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('persistent_field',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('trip_field',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('heater_current',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('current_limit_upper',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('current_limit_lower',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('lead_resistance',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)
        self.add_parameter('magnet_inductance',
                           type=types.FloatType,
                           flags=Instrument.FLAG_GET)

        # Add functions
        self.add_function('get_all')
        self.get_all()
示例#10
0
 def _reset_controller(self):  #(ref:fh-internal-fn-enable)
     self.motor_ctrl = visa.SerialInstrument(param.FH_CONST.PORT)
     self.motor_ctrl.baud_rate = param.FH_CONST.BAUD_RATE