def measure_z1(): if scriptSys.GENERAL['mode'] != 'Z_MEASURE': #si es llamado por primera vez scriptSys.GENERAL['mode'] = 'Z_MEASURE' scriptSys.TIME_INIT = scriptSys.TIME print "DISCHARGE,0.2" if (scriptSys.TIME - scriptSys.TIME_INIT) >= (tTest3 + tTest2 + tTest1): # deja reposar y chequea q no caiga la tension scriptSys.import_data( ) #levanto todo el archivo solo cuando lo necesito t = scriptSys.TIME_INIT + tTest1 + tTest2 var = scriptSys.get_data('VOLTAGE', range(t, t + voltageAverage)) # chequear rectas stress_test() elif (scriptSys.TIME - scriptSys.TIME_INIT) >= (tTest2 + tTest1): # print "DISCHARGE,1.0" Descarga fuerte scriptSys.import_data() t = scriptSys.TIME_INIT + tTest1 var = scriptSys.get_data('VOLTAGE', range(t, t + voltageAverage)) V1 = sum(var) / float( len(var)) #promedio de las mediciones al principio var = scriptSys.get_data( 'VOLTAGE', range(t + tTest2, t + tTest2 + voltageAverage)) V2 = sum(var) / float( len(var)) #promedio de las mediciones al final del test var = scriptSys.get_data('CURRENT', range(t, t + currentAverage)) I1 = sum(var) / float( len(var)) #promedio de las mediciones al principio Z2 = int((float(V2 - V1) / float(I1)) * 1000) scriptSys.EVAL['int_z2'] = Z2 # chequear rectas elif (scriptSys.TIME - scriptSys.TIME_INIT) >= tTest1: # print "DISCHARGE,0.2" Descarga suave scriptSys.import_data() t = scriptSys.TIME_INIT var = scriptSys.get_data('VOLTAGE', range(t, t + voltageAverage)) V1 = sum(var) / float( len(var)) #promedio de las mediciones al principio var = scriptSys.get_data( 'VOLTAGE', range(t + tTest1, t + tTest1 + voltageAverage)) V2 = sum(var) / float( len(var)) #promedio de las mediciones al final del test var = scriptSys.get_data('CURRENT', range(t, t + currentAverage)) I1 = sum(var) / float( len(var)) #promedio de las mediciones al principio Z1 = int((float(V2 - V1) / float(I1)) * 1000) scriptSys.EVAL['int_z1'] = Z1 # chequear rectas print "DISCHARGE,1.0" return
def measure_z2() : if scriptSys.GENERAL['mode'] != 'Z_MEASURE2' : #si es llamado por primera vez scriptSys.GENERAL['mode'] = 'Z_MEASURE2' scriptSys.TIME_INIT = scriptSys.TIME print "DISCHARGE,1.0" return actual_time = (scriptSys.TIME - scriptSys.TIME_INIT) if actual_time >= tTestD2 : # deja reposar y chequea q no caiga la tension # final_report() stress_test() return if actual_time >= (tTestC2 - tMargin) and actual_time < (tTestC2 + tMargin) : # print "DISCHARGE,1.0" Descarga fuerte scriptSys.import_data() t = scriptSys.TIME_INIT + tTestB2 + 2 #delay en el inicio de la descarga var = scriptSys.get_data('VOLTAGE', range( t - 5 , t - 5 + voltageAverage)) V1 = sum(var) / float(len(var)) #promedio de las mediciones al principio var = scriptSys.get_data('VOLTAGE', range( scriptSys.TIME - voltageAverage, scriptSys.TIME )) V2 = sum(var) / float(len(var)) #promedio de las mediciones al final del test var = scriptSys.get_data('CURRENT', range(scriptSys.TIME - currentAverage,scriptSys.TIME)) I1 = sum(var) / float(len(var)) #promedio de las mediciones al principio Z2 = int( ( (float(V2)-float(V1))/float(I1) ) *1000 ) scriptSys.EVAL['int_z2'] = str(Z2) scriptSys.EVAL['int_z'] = str(Z2) #str(round(Z1,0)) # chequear rectas print "PAUSE" return if actual_time >= (tTestB2 - tMargin) and actual_time < (tTestB2 + tMargin) : # deja reposar y chequea q no caiga la tension # stress_test() print "DISCHARGE,1.5" return if actual_time >= (tTestA2 - tMargin) and actual_time < (tTestA2 + tMargin) : # print "DISCHARGE,0.2" Descarga suave scriptSys.import_data() t = scriptSys.TIME_INIT + 2 #delay en el inicio de la descarga var = scriptSys.get_data('VOLTAGE', range( t - 5, t- 5 + voltageAverage)) V1 = sum(var) / float(len(var)) #promedio de las mediciones al principio var = scriptSys.get_data('VOLTAGE', range( scriptSys.TIME - voltageAverage, scriptSys.TIME )) V2 = sum(var) / float(len(var)) #promedio de las mediciones al final del test var = scriptSys.get_data('CURRENT', range( scriptSys.TIME - currentAverage,scriptSys.TIME)) I1 = sum(var) / float(len(var)) #promedio de las mediciones al principio Z1 = int( ( (float(V2)-float(V1))/float(I1) ) *1000 ) scriptSys.EVAL['int_z1'] = str(Z1) #str(round(Z1,3)) # chequear rectas print "PAUSE" return print "RUN" return
def get_line(dType, tLapse): n = len(tLapse) if len(tLapse) % 2 == 1: tLapse.pop() n = len(tLapse) var = scriptSys.get_data(dType, tLapse) VAR = sum(var) / float(len(var)) #promedio m = [] m_aux = [] for x in range(0, n, 2): m_aux.append((var[x] + var[x + 1]) / 2) for x in range((n / 2) - 1): m.append((m_aux[x + 1] - m_aux[x]) / 2) M = sum(m) / float(len(m)) #promedio VAR1 = VAR + M * (n / 2) if scriptSys.DEBUG_MODE: scriptDebug.plot_line(dType, M, VAR1, tLapse[-1]) scriptSys.GENERAL['line_m'] = str(M) scriptSys.GENERAL['line_m'] = str(VAR1) return
def measure_z2(): try: if scriptSys.SCRIPT['mode'] != 'Z_MEASURE2': #si es llamado por 1 scriptSys.SCRIPT['mode'] = 'Z_MEASURE2' scriptSys.TIME_INIT = scriptSys.TIME print "DISCHARGE,1.0" return actual_time = (scriptSys.TIME - scriptSys.TIME_INIT) if actual_time >= tTestD2: # deja reposar y chequea q no caiga la tension # final_report(0,0) # stress_test() scriptSys.SCRIPT['mode'] = 'CHARGE' scriptSys.TIME_INIT = scriptSys.TIME print "CHARGE,4.2,1.2" # scriptTest.charge_state(1) return if actual_time >=(tTestC2 - tMargin) \ and actual_time <(tTestC2 + tMargin): # print "DISCHARGE,1.0" Descarga fuerte scriptSys.import_data() #delay en el inicio de la descarga t = scriptSys.TIME_INIT + tTestB2 + 2 var = scriptSys.get_data('VOLTAGE', \ range( t - 5 , t - 5 + voltageAverage)) #promedio de las mediciones al principio V1 = sum(var) / float(len(var)) var = scriptSys.get_data('VOLTAGE', \ range( scriptSys.TIME - voltageAverage, scriptSys.TIME )) #promedio de las mediciones al final del test V2 = sum(var) / float(len(var)) var = scriptSys.get_data( 'CURRENT', range(scriptSys.TIME - currentAverage, scriptSys.TIME)) #promedio de las mediciones al principio I1 = sum(var) / float(len(var)) Z2 = int(((float(V2) - float(V1)) / float(I1)) * 1000) scriptSys.EVAL['int_z2'] = str(Z2) scriptSys.EVAL['int_z'] = str(Z2) #str(round(Z1,0)) # chequear rectas print "PAUSE" return if actual_time >=(tTestB2 - tMargin) \ and actual_time <(tTestB2 + tMargin): # deja reposar y chequea q no caiga la tension # stress_test() print "DISCHARGE,1.5" return if actual_time >= (tTestA2 - tMargin) \ and actual_time < (tTestA2 + tMargin) : # print "DISCHARGE,0.2" Descarga suave scriptSys.import_data() t = scriptSys.TIME_INIT + 2 #delay en el inicio de la descarga var = scriptSys.get_data('VOLTAGE', \ range( t - 5, t- 5 + voltageAverage)) #promedio de las mediciones al principio V1 = sum(var) / float(len(var)) var = scriptSys.get_data('VOLTAGE', \ range( scriptSys.TIME - voltageAverage, scriptSys.TIME )) #promedio de las mediciones al final del test V2 = sum(var) / float(len(var)) var = scriptSys.get_data('CURRENT', \ range( scriptSys.TIME - currentAverage,scriptSys.TIME)) #promedio de las mediciones al principio I1 = sum(var) / float(len(var)) Z1 = int(((float(V2) - float(V1)) / float(I1)) * 1000) scriptSys.EVAL['int_z1'] = str(Z1) #str(round(Z1,3)) # chequear rectas print "PAUSE" return print "RUN" return except Exception as e: scriptSys.error_report(e, "measure_z2()")