Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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()")