def analizarRegistroDat(self, reg, calibr, tv, ti, header): reg.v1 = ((300 * reg.v1Raw) / 65278) * tv if self.largoRegistro == 12: reg.v1Max = ((300 * reg.v1MaxRaw) / 65278) * tv reg.v1Min = ((300 * reg.v1MinRaw) / 65278) * tv if reg.v1 > reg.v1Max: reg.v1Max = reg.v1 if reg.v1Min > reg.v1: reg.v1 = reg.v1Min reg.v1, reg.v1Max, reg.v1Min = (limitar( v, 0, header.vNom * self.deltaMax * tv) for v in (reg.v1, reg.v1Max, reg.v1Min)) elif self.largoRegistro == 6: reg.v1Max, reg.v1Min = reg.v1, reg.v1 thd = reg.thdRaw * 50 / 65278 fkr = reg.fkrRaw * 20 / 65278 reg.thd = limitar(thd, 0, self.thdCap) reg.fkr = limitar(fkr, 0, self.fkrCap) return reg
def analizarRegistroDat(self, reg, calibr, tv, ti, header): reg.v1 = reg.v1Raw * (header.vNom / calibr.cV) * tv reg.v1Max = reg.v1MaxRaw * (header.vNom / calibr.cV) * tv reg.v1Min = reg.v1MinRaw * (header.vNom / calibr.cV) * tv if reg.v1 > reg.v1Max: reg.v1 = reg.v1Max if reg.v1Min > reg.v1: reg.v1Min = reg.v1 reg.v1, reg.v1Max, reg.v1Min = (limitar(v, 0, header.vNom * self.deltaMax * tv) for v in (reg.v1, reg.v1Max, reg.v1Min)) try: thd = abs((100 / (reg.v1Raw * (header.vNom / calibr.cV))) * ( (18 / calibr.cThd) * (reg.thdRaw - ((calibr.cRes / calibr.cV) * reg.v1Raw)))) except ZeroDivisionError: thd = 0 try: fkr = ((reg.fkrRaw * header.vNom * .02) / calibr.cFkr) * (100 / reg.v1 * tv) except ZeroDivisionError: fkr = 0 reg.thd = limitar(thd, 0, self.thdCap) reg.fkr = limitar(fkr, 0, self.fkrCap) return reg
def analizarRegistroDat(self, reg, calibr, tv, ti, header): from math import floor calibr.cV = 26214 / (220 / header.vNom) reg.v1 = reg.v1Raw * (header.vNom / calibr.cV) * tv reg.v1Max = reg.v1MaxRaw * (header.vNom / calibr.cV) * tv reg.v1Min = reg.v1MinRaw * (header.vNom / calibr.cV) * tv if reg.v1 > reg.v1Max: reg.v1Max = reg.v1 if reg.v1Min > reg.v1: reg.v1 = reg.v1Min reg.v1, reg.v1Max, reg.v1Min = (limitar( v, 0, header.vNom * self.deltaMax * tv) for v in (reg.v1, reg.v1Max, reg.v1Min)) reg.v2 = reg.v2Raw * (header.vNom / calibr.cV) * tv reg.v2Max = reg.v2MaxRaw * (header.vNom / calibr.cV) * tv reg.v2Min = reg.v2MinRaw * (header.vNom / calibr.cV) * tv if reg.v2 > reg.v2Max: reg.v2Max = reg.v2 if reg.v2Min > reg.v2: reg.v2 = reg.v2Min reg.v2, reg.v2Max, reg.v2Min = (limitar( v, 0, header.vNom * self.deltaMax * tv) for v in (reg.v2, reg.v2Max, reg.v2Min)) reg.v3 = reg.v3Raw * (header.vNom / calibr.cV) * tv reg.v3Max = reg.v3MaxRaw * (header.vNom / calibr.cV) * tv reg.v3Min = reg.v3MinRaw * (header.vNom / calibr.cV) * tv if reg.v3 > reg.v3Max: reg.v3Max = reg.v3 if reg.v3Min > reg.v3: reg.v3 = reg.v3Min reg.v3, reg.v3Max, reg.v3Min = (limitar( v, 0, header.vNom * self.deltaMax * tv) for v in (reg.v3, reg.v3Max, reg.v3Min)) reg.i1 = reg.i1Raw * (header.iNom / self.iCoef) reg.i1Max = reg.i1MaxRaw * (header.iNom / self.iCoef) reg.i1Min = reg.i1MinRaw * (header.iNom / self.iCoef) reg.i2 = reg.i2Raw * (header.iNom / self.iCoef) reg.i2Max = reg.i2MaxRaw * (header.iNom / self.iCoef) reg.i2Min = reg.i2MinRaw * (header.iNom / self.iCoef) reg.i3 = reg.i3Raw * (header.iNom / self.iCoef) reg.i3Max = reg.i3MaxRaw * (header.iNom / self.iCoef) reg.i3Min = reg.i3MinRaw * (header.iNom / self.iCoef) if reg.i1 > reg.i1Max: reg.i1Max = reg.i1 if reg.i1Min > reg.i1: reg.i1 = reg.i1Min if reg.i2 > reg.i2Max: reg.i2Max = reg.i2 if reg.i2Min > reg.i2: reg.i2 = reg.i2Min if reg.i3 > reg.i3Max: reg.i3Max = reg.i3 if reg.i3Min > reg.i3: reg.i3 = reg.i3Min calibr.cV = header.vNom try: thd1 = abs( (100 / reg.v1) * ((18 / (calibr.cThd1 - calibr.cRes1)) * (reg.thdRaw1 - (floor(calibr.cRes1 / calibr.cV) * reg.v1)))) except ZeroDivisionError: thd1 = 0.0 reg.thd = limitar(thd1, 0, self.thdCap) # thd2 = abs((100 / reg.v2) * ( # (18 / (calibr.cThd2-calibr.cRes2)) * (reg.thdRaw2 - (floor(calibr.cRes2 / calibr.cV) * reg.v2)))) # thd3 = abs((100 / reg.v3) * ( # (18 / (calibr.cThd3-calibr.cRes3)) * (reg.thdRaw3 - (floor(calibr.cRes3 / calibr.cV) * reg.v3)))) reg.e1 = ((((reg.e1b1 << 7) + reg.e1b2) << 7) + reg.e1b3) * ( header.iNom / 35) * (self.eCoef / 1000) * tv * ti reg.e2 = ((((reg.e2b1 << 7) + reg.e2b2) << 7) + reg.e2b3) * ( header.iNom / 35) * (self.eCoef / 1000) * tv * ti reg.e3 = ((((reg.e3b1 << 7) + reg.e3b2) << 7) + reg.e3b3) * ( header.iNom / 35) * (self.eCoef / 1000) * tv * ti try: reg.phi1 = reg.e1 / (reg.i1 * reg.v1 / 1000 * header.periodo / 60) except ZeroDivisionError: reg.phi1 = 0.0 try: reg.phi2 = reg.e2 / (reg.i2 * reg.v2 / 1000 * header.periodo / 60) except ZeroDivisionError: reg.phi2 = 0.0 try: reg.phi3 = reg.e3 / (reg.i3 * reg.v3 / 1000 * header.periodo / 60) except ZeroDivisionError: reg.phi3 = 0.0 reg.phi1, reg.phi2, reg.phi3 = (limitar(phi, 0, self.phiCap) for phi in (reg.phi1, reg.phi2, reg.phi3)) try: fkr = ((reg.fkrRaw * header.vNom * .02) / calibr.cFkr) * (100 / reg.v1 * tv) except ZeroDivisionError: fkr = 0.0 reg.fkr = limitar(fkr, 0, self.fkrCap) * (220 / header.vNom) reg.pTotal = (reg.v1 * reg.i1 * reg.phi1 + reg.v2 * reg.i2 * reg.phi2 + reg.v3 * reg.i3 * reg.phi3) / 1000 reg.eTotal = sum((reg.e1, reg.e2, reg.e3)) return reg