import crea as C import pregunta as P import processaA11 as E if(len(sys.argv)<2): print 'Ús: python %s dd-mm-yy' % sys.argv[0] sys.exit() else: data=sys.argv[1] data=data.split("-") dia=int(data[0]) mes=int(data[1]) yea=int(data[2]) '''Login ASDU 183''' P.pregunta(C.creaTramaVar(0b01110011,C.creaASDU183())) #request data & send password P.pregunta(C.creaTramaFix(0b01011011)) #request data '''ASDU 123, registre 11, objecte 1 (inicial i final)''' P.pregunta( C.creaTramaVar(0b01110011, C.creaASDU123(11,1,1, C.creaTemps(dia ,mes,yea,0,0), C.creaTemps(dia+1,mes,yea,0,0)))) P.pregunta(C.creaTramaFix(0b01011011)) #request data respostes=[] #array per contenir les respostes a processar (trames amb asdus 11) while True: #vés consultant fins que doni senyal de fi try: respostes.append(P.pregunta(C.creaTramaFix(0b01111011))) #flip FCB bit respostes.append(P.pregunta(C.creaTramaFix(0b01011011))) #request data
ASDU 190 amb registre 11 dóna corba de potència (per blocs, respon ASDU 140) ASDU 123 amb registre 11 dóna corba de potència (respon ASDU 11) ASDU 123 amb registre 21 dóna resums diaris ASDU 122 amb registre 21 dóna els resums diaris (respon ASDU 8) ===NO FUNCIONA ASDU 122 amb registre 11 no funciona ASDU 115: no disponible (esborrat del codi) ASDU 118: no disponible (idem) ''' import sys sys.path.insert(0, "../bin") #add bin folder to path import crea as C import pregunta as P #login P.pregunta(C.creaTramaVar(0b01110011, C.creaASDU183())) #request user data & send password P.pregunta(C.creaTramaFix(0b01011011)) #request class 2 data '''TEST: ASDU 123 amb registre 21''' P.pregunta( C.creaTramaVar( 0b01110011, C.creaASDU123(21, 1, 1, C.creaTemps(16, 10, 20, 0, 0, 0), C.creaTemps(16, 10, 22, 0, 0, 0)))) while (1): P.pregunta(C.creaTramaFix(0b01011011)) #request data P.pregunta(C.creaTramaFix(0b01111011)) #request data (flip FCB) quit('STOP') #TEST: prova asdu 190 amb registre 11 (Curva de carga) i direccio 9,10,11
estiu_final = estiu_inici #si és març o octubre, flip bit estiu (pel canvi d'hora) if mes in [3, 10]: estiu_final = int(not (estiu_inici)) #mostra per pantalla dia inici print "Dia inici (dd/mm/aa): 1", mes, yea print "Dia final (dd/mm/aa):", dia, mes, yea #local imports sys.path.insert(0, "../bin") #add bin folder to path import crea as C import pregunta as P import processaA11 as E '''Login ASDU 183''' P.pregunta(C.creaTramaVar(0b01110011, C.creaASDU183())) #request data & send password P.pregunta(C.creaTramaFix(0b01011011)) #request data '''ASDU 123 amb registre 11 i objecte 1 (inicial i final)''' P.pregunta( C.creaTramaVar( 0b01110011, C.creaASDU123(11, 1, 1, C.creaTemps(yea, mes, 1, 0, 0, estiu_inici), C.creaTemps(yea, mes, dia, 0, 0, estiu_final)))) P.pregunta(C.creaTramaFix(0b01011011)) #request data respostes = [] #array de trames amb asdus 11 #consulta fins que doni error while True: try: respostes.append(P.pregunta(C.creaTramaFix(0b01111011))) #flip FCB bit
def registrarPregunta(self): 'agrega una nueva pregunta al examen con una nueva clase pregunta' nuevoexamen = pregunta.pregunta() self.preguntas.append(nuevoexamen)
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' Extreu valors instantanis. Opcions: ASDU 162 amb objecte 192 (només necessita un request data després del 1r request) ASDU 162 amb objecte 193 (idem) ASDU 162 amb objecte 194 (idem) ''' import sys sys.path.insert(0, "../bin") #add bin folder to path import crea as C import pregunta as P #login P.pregunta(C.creaTramaVar(0b01110011, C.creaASDU183())) #request user data & send password P.pregunta(C.creaTramaFix(0b01011011)) #request class 2 data #request amb asdu 162 i objecte 192 P.pregunta(C.creaTramaVar(0b01110011, C.creaASDU162(192))) P.pregunta(C.creaTramaFix(0b01011011)) #request data
import pregunta as P import processaA11 as E #processa dates diaInici = inici[0] mesInici = inici[1] anyInici = inici[2] diaFinal = final[0] mesFinal = final[1] anyFinal = final[2] #horari estiu? <0,1> estiuInici = inici[3] estiuFinal = final[3] '''Login amb ASDU 183''' P.pregunta(C.creaTramaVar(0b01110011, C.creaASDU183())) #request data & send password P.pregunta(C.creaTramaFix(0b01011011)) #request data '''REQUEST amb ASDU 123 registre 11 i objecte 1 inicial i final''' P.pregunta( C.creaTramaVar( 0b01110011, C.creaASDU123( 11, 1, 1, C.creaTemps(anyInici, mesInici, diaInici, 0, 0, estiuInici), C.creaTemps(anyFinal, mesFinal, diaFinal, 0, 0, estiuFinal)))) P.pregunta(C.creaTramaFix(0b01011011)) #request data '''Array per contenir les respostes a processar (trames amb asdus 11)''' respostes = [] #consulta fins que doni error while True: