예제 #1
0
 def on_SC_start_clicked(self):
     """
     Slot documentation goes here.
     """
     # TODO: not implemented yet
     # raise NotImplementedError
     logger.info("test start!")
     self.xls_name = str(self.save_path.text() + '/'+ self.sample_id.text() + '-'+ time.strftime("%m%d%H%M")+ ".xls")
     self.xtime = 0
     self.meas_mode = 0
     self.test_times = 1
     self.c_index = 0
  
     self.dataC = [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]
     self.Sens = []
     self.dataS = []
     self.dataX = []
     self.dataY = []
     self.dataX.append([])
     self.dataY.append([])
     self.Rt_MPL.clear_curve()
     self.SC_MPL.clear_curve()
     
     self.get_inst_conf()
     
     if self.vi_mode:
         Keithley2400.measure_voltage(self.src_curr, self.vlimit, self.meas_type)
     else:
         Keithley2400.measure_current(self.src_vol, self.ilimit, self.meas_type)        
     # self.ref_time = int(time.time())
     self.timer.start(1000)
예제 #2
0
    def on_ST_start_clicked(self):
        """
        Slot documentation goes here.
        """
        # TODO: not implemented yet
        # raise NotImplementedError
        logger.info("test start!")
        self.xls_name = str(self.save_path.text() + '/'+ self.sample_id.text() + '-'+ time.strftime("%m%d%H%M")+ ".xls")
        self.xtime = 0
        self.meas_mode = 0
        self.temp_index = 0
        self.test_times = 1
        self.temp_flag = 0
        self.stable_time = 0

        self.t1_set_flag = 0
        self.t2_set_flag = 0
        self.t3_set_flag = 0
        self.t4_set_flag = 0        
        
        self.Sens = []
        self.dataS = []
        self.dataX = []
        self.dataY = []
        self.dataX.append([])
        self.dataY.append([])
        
        self.Rt_MPL.clear_curve()
        self.RT_MPL.clear_curve()
        self.ST_MPL.clear_curve()
        
        self.get_inst_conf()
        if self.get_gas_conf() == False:
            return
        
        if self.RT_test:
            if len(qmdz_const.temp_list) > 0:
                temp_start = ai518p_api.get_now_temp() + 0.5
                temp_end = qmdz_const.temp_list[-1]
                ai518p_api.set_518p_constmode(temp_start,temp_end,self.up_slot,self.down_slot)
        else:
            if len(qmdz_const.temp_list) > 0:
                temp_now = ai518p_api.get_now_temp() + 0.5
                self.exp_temp = qmdz_const.temp_list[0]
                ai518p_api.set_518p_constmode(temp_now,self.exp_temp,self.up_slot,self.down_slot)

        if self.vi_mode:
            Keithley2400.measure_voltage(self.src_curr, self.vlimit, self.meas_type)
        else:
            Keithley2400.measure_current(self.src_vol, self.ilimit, self.meas_type)
        
        self.ref_time = int(time.time())
        self.timer.start(1000)
예제 #3
0
 def iv_meas(self):
     if self.index < len(qmdz_const.IV_VLIST):
         v_out = qmdz_const.IV_VLIST[self.index]
         if float(v_out) == 0:
             meas_V = meas_I = meas_R = 0
         else:
             meas_V,meas_I,meas_R = Keithley2400.measure_current(v_out, self.ilimit, qmdz_const.MEAS_MODE)
         self.now_v.setText(str(meas_V))
         self.now_I.setText(str(meas_I))
         self.now_R.setText(str(meas_R))
         self.dataX[self.temp_index].append(float(v_out))
         self.dataY[self.temp_index].append(float(meas_I))
         print "dataX:",self.dataX
         print "dataY:",self.dataY
         if len(self.dataX[self.temp_index]) == 1:
             if len(qmdz_const.temp_list) > 0:
                 self.VI_MPL.generateData(self.dataX[self.temp_index], self.dataY[self.temp_index],
                                          style=qmdz_const.color_list[self.temp_index], 
                                          label=str(qmdz_const.temp_list[self.temp_index])+u'\u2103', type=1)
             else:
                 self.VI_MPL.generateData(self.dataX[self.temp_index], self.dataY[self.temp_index],
                                          style=qmdz_const.color_list[self.temp_index], 
                                          label=str(self.temprature)+u'\u2103', type=1)
         else:
             self.VI_MPL.generateData(self.dataX[self.temp_index], self.dataY[self.temp_index], type=0)
     else:
         self.measure_times += 1
         self.index = -1