Esempio n. 1
0
def cond_state():
    try:
        if not scriptSys.GENERAL['mode'] == 'CONDITIONING':  #es llamado por 1
            scriptSys.GENERAL['mode'] = 'CONDITIONING'
            scriptSys.TIME_INIT = scriptSys.TIME
            print "PAUSE"
            return

        if ((scriptSys.TIME) -
            (scriptSys.TIME_INIT)) >= (maxTimeCond - tMargin):
            stress_state()
            return

        #condiciones de Fallas:
        if scriptSys.CURRENT > (-iMargin) and scriptSys.VOLTAGE < vMargin:
            scriptSys.final_report("F18", 0)
            return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= maxTimeInit:
            slope = scriptSys.get_slope(
                range(scriptSys.TIME_INIT + 3, scriptSys.TIME))
            if slope['VOLTAGE'] < 80:
                scriptSys.final_report("F19", 0)
                return
        if scriptSys.CURRENT > iMargin or scriptSys.CURRENT < (-iMargin):
            scriptSys.final_report("F20", 0)
            return
        print "RUN"
        return
    except Exception as e:
        scriptSys.error_report(e, "cond_state()")
Esempio n. 2
0
def stress_test():
    try:
        if scriptSys.VOLTAGE < vMargin:  #si actula la proteccion cargo la Batery
            scriptSys.GENERAL['mode'] = 'CHARGE'
            scriptSys.TIME_INIT = scriptSys.TIME
            print "CHARGE," + vCharge1 + "," + iCharge1
            return
        if scriptSys.GENERAL['mode'] != 'STRESS':  #si es llamado por 1
            scriptSys.GENERAL['mode'] = 'STRESS'
            scriptSys.TIME_INIT = scriptSys.TIME
            print "DISCHARGE," + iDischargeTest1
            return

        #condiciones de Fallas:
        if scriptSys.CURRENT > (-iMargin) and scriptSys.VOLTAGE < vMargin:
            scriptSys.final_report("F12", 0)
            return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= maxTimeInit:
            slope = scriptSys.get_slope(
                range(scriptSys.TIME_INIT + 3, scriptSys.TIME))
            if slope['VOLTAGE'] > 80 and slope['CURRENT'] > 180:
                scriptSys.final_report("F13", 0)
                return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= tMaxStress:
            scriptSys.final_report("F15", 0)
            return

        if scriptSys.VOLTAGE <= lowVoltageLimit:  #si actula la proteccion cargo la Batery
            evaluate()
            return

        print "RUN"
        return
    except Exception as e:
        scriptSys.error_report(e, "stress_test()")
Esempio n. 3
0
def discharge_state(number):
    try:
        if not scriptSys.GENERAL['mode'] == 'DISCHARGE':  #si es llamado por 1
            scriptSys.GENERAL['mode'] = 'DISCHARGE'
            scriptSys.TIME_INIT = scriptSys.TIME
            if number == 1: print "DISCHARGE," + iDischarge1
            if number == 2: print "DISCHARGE," + iDischarge2
            if number == 3: print "DISCHARGE," + iDischarge3
            return

        if scriptSys.VOLTAGE < (umbralVoltTarget - umbralVolt) \
            and (scriptSys.TIME - scriptSys.TIME_INIT) >= minTimeDischarge:
            cond_state()
            return
        #condiciones de Fallas:
        if scriptSys.CURRENT > (-iMargin) and scriptSys.VOLTAGE < vMargin:
            scriptSys.final_report("F12", 0)
            return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= maxTimeInit:
            slope = scriptSys.get_slope(
                range(scriptSys.TIME_INIT + 3, scriptSys.TIME))
            if slope['VOLTAGE'] > 80 and slope['CURRENT'] > 180:
                scriptSys.final_report("F13", 0)
                return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= maxTimeDischarge:
            scriptSys.final_report("F15", 0)
            return
        print "RUN"
        return
    except Exception as e:
        scriptSys.error_report(e, "discharge_state()")
Esempio n. 4
0
def charge_state(number) :
    try:
        if not scriptSys.GENERAL['mode'] == 'CHARGE' : #si es llamado por 1 vez
            scriptSys.GENERAL['mode'] = 'CHARGE'
            scriptSys.TIME_INIT = scriptSys.TIME
            print "CHARGE,"+ vCharge1 +","+ iCharge1
            return
        if scriptSys.CURRENT < iMargin and \
            scriptSys.VOLTAGE > (int(1000*float(vCharge2))-100) :
            scriptSys.final_report("F03",0)
            return
        if (scriptSys.TIME - scriptSys.TIME_INIT) <= maxTimeInit:
            print "CHARGE,"+ vCharge2 +","+ iCharge2
            return
        if  scriptSys.CURRENT < (umbralCurrentTarget) and \
            (scriptSys.TIME - scriptSys.TIME_INIT) >= minTimeCharge:
            cond_state()
            return

        #condiciones de Fallas:

        if scriptSys.CURRENT < iMargin :
            scriptSys.final_report("F02",0)
            return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= maxTimeInit:
            slope = scriptSys.get_slope(range(scriptSys.TIME_INIT + 3,scriptSys.TIME))
            if scriptSys.GENERAL['vstate'] == "vBAJA" and not slope['VOLTAGE'] > -80 \
                and scriptSys.CURRENT > (int(1000*float(iCharge2))-200):
                scriptSys.final_report("F04",0)
                return
            if scriptSys.GENERAL['vstate'] == "vMEDIA" and not slope['VOLTAGE'] > -80\
                and scriptSys.CURRENT > (int(1000*float(iCharge2))-200):
                scriptSys.final_report("F05",0)
                return
            if scriptSys.GENERAL['vstate'] == "vALTA" and not slope['CURRENT'] < 80\
                and scriptSys.VOLTAGE > (int(1000*float(vCharge2))-200):
                scriptSys.final_report("F06",0)
                return
            if slope['VOLTAGE'] > 0 and slope['CURRENT'] < 80 :
                scriptSys.final_report("F07",0)
                return
            if slope['VOLTAGE'] < 100 :
                scriptSys.final_report("F08",0)
                return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= maxTimeChargeLow and \
            scriptSys.GENERAL['vstate'] == "vBAJA" :
            scriptSys.final_report("F09",0)
            return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= maxTimeChargeMed and \
            scriptSys.GENERAL['vstate'] == "vMEDIA" :
            scriptSys.final_report("F10",0)
            return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= maxTimeChargeHig and \
            scriptSys.GENERAL['vstate'] == "vALTA" :
            scriptSys.final_report("F11",0)
            return
        print "RUN"
        return
    except Exception as e:
        scriptSys.error_report(e,"charge_state()")
Esempio n. 5
0
def stress_test():
    try:
        if scriptSys.GENERAL['mode'] != 'STRESS':  #si es llamado por 1
            scriptSys.GENERAL['mode'] = 'STRESS'
            scriptSys.TIME_INIT = scriptSys.TIME
            scriptSys.AUX['testnr'] = str(int(scriptSys.AUX['testnr']) + 1)
            scriptSys.AUX['strike'] = 0
            scriptSys.AUX['strikeh'] = 0
            print "PAUSE"
            return
        #condiciones de Fallas:
        if scriptSys.VOLTAGE < lowVoltageLimit:  #si actula la proteccion cargo la Batery
            scriptSys.AUX['Dropdown voltage T=' +
                          str(scriptSys.TIME)] = scriptSys.VOLTAGE
            # scriptSys.send_msg('Dropdown voltage T='+ str(scriptSys.TIME))
            scriptSys.final_report("SoHfail", 0)
            return
        # if scriptSys.VOLTAGE < vMargin : #si actula la proteccion cargo la Batery
        #     scriptSys.GENERAL['mode'] = 'CHARGE'
        #     scriptSys.TIME_INIT = scriptSys.TIME
        #     print "CHARGE,"+ vCharge1 +","+ iCharge1
        #     return
        if scriptSys.CURRENT > (-iMargin) and scriptSys.VOLTAGE < vMargin:
            scriptSys.AUX['F12'] = scriptSys.CURRENT
            scriptSys.final_report("F12", 0)
            return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= maxTimeInit:
            slope1 = scriptSys.get_slope(
                range(scriptSys.TIME_INIT + 3, scriptSys.TIME))
            if slope1['VOLTAGE'] > 80 and slope1['CURRENT'] > 180:
                scriptSys.AUX['F13 T=' + str(scriptSys.TIME)] = slope1
                # scriptSys.send_msg('F13 T='+ str(scriptSys.TIME))
                scriptSys.final_report("F13", 0)
                return
        if (scriptSys.TIME - scriptSys.TIME_INIT) >= tMaxStress:
            scriptSys.AUX['F12'] = (scriptSys.TIME - scriptSys.TIME_INIT)
            scriptSys.final_report("F15", 0)
            return
        ######################################

        actual_time = (scriptSys.TIME - scriptSys.TIME_INIT)
        scriptSys.AUX['actual_time'] = actual_time
        if actual_time >= (tTestC3 - tMargin) and actual_time < (tTestC3 +
                                                                 tMargin):
            msj = evaluate()
            return
        if actual_time >= (tTestB3 - tMargin) and actual_time < (tTestB3 +
                                                                 tMargin):
            print "PAUSE"
            return
        if actual_time >= (tTestA3 - tMargin) and actual_time < (tTestA3 +
                                                                 tMargin):
            print "DISCHARGE," + iDischargeTest2
            return

        print "RUN"
        return
    except Exception as e:
        scriptSys.error_report(e, "stress_test()")