private Constants.SP300Status ReadSP300Block(int index) { ushort dcNennleistung = (ushort)(((int)this.fileRawData[index + 1] << 8) + (int)this.fileRawData[index]); ushort acLeistung = (ushort)(((int)this.fileRawData[index + 3] << 8) + (int)this.fileRawData[index + 2]); byte anzahlDCM = this.fileRawData[index + 4]; float uac = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 6] << 8) + (int)this.fileRawData[index + 5]), GlobalData.ParamDefs[355]); float uac2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 8] << 8) + (int)this.fileRawData[index + 7]), GlobalData.ParamDefs[356]); float uac3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 10] << 8) + (int)this.fileRawData[index + 9]), GlobalData.ParamDefs[357]); float uacPeak = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 12] << 8) + (int)this.fileRawData[index + 11]), GlobalData.ParamDefs[359]); float uacPeak2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 14] << 8) + (int)this.fileRawData[index + 13]), GlobalData.ParamDefs[360]); float uacPeak3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 16] << 8) + (int)this.fileRawData[index + 15]), GlobalData.ParamDefs[361]); float pac = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 18] << 8) + (int)this.fileRawData[index + 17]), GlobalData.ParamDefs[351]); float pac2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 20] << 8) + (int)this.fileRawData[index + 19]), GlobalData.ParamDefs[352]); float pac3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 22] << 8) + (int)this.fileRawData[index + 21]), GlobalData.ParamDefs[353]); float netzfrequenz = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 24] << 8) + (int)this.fileRawData[index + 23]), GlobalData.ParamDefs[376]); float netzfrequenz2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 26] << 8) + (int)this.fileRawData[index + 25]), GlobalData.ParamDefs[377]); float netzfrequenz3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 28] << 8) + (int)this.fileRawData[index + 27]), GlobalData.ParamDefs[378]); float temperaturWR = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 30] << 8) + (int)this.fileRawData[index + 29]), GlobalData.ParamDefs[371]); float temperaturWR2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 32] << 8) + (int)this.fileRawData[index + 31]), GlobalData.ParamDefs[372]); float temperaturWR3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 34] << 8) + (int)this.fileRawData[index + 33]), GlobalData.ParamDefs[373]); float maxTemperaturDcm = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 36] << 8) + (int)this.fileRawData[index + 35]), GlobalData.ParamDefs[379]); float temperaturFP = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 38] << 8) + (int)this.fileRawData[index + 37]), GlobalData.ParamDefs[380]); float uzk = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 40] << 8) + (int)this.fileRawData[index + 39]), GlobalData.ParamDefs[374]); float uzkAbweichung = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 42] << 8) + (int)this.fileRawData[index + 41]), GlobalData.ParamDefs[375]); return(new Constants.SP300Status(dcNennleistung, acLeistung, anzahlDCM, uac, uac2, uac3, uacPeak, uacPeak2, uacPeak3, pac, pac2, pac3, netzfrequenz, netzfrequenz2, netzfrequenz3, temperaturWR, temperaturWR2, temperaturWR3, maxTemperaturDcm, temperaturFP, uzk, uzkAbweichung)); }
private Constants.SP120Status ReadSP120Block(int index) { ushort dcNennleistung = (ushort)(((int)this.fileRawData[index + 1] << 8) + (int)this.fileRawData[index]); ushort acLeistung = (ushort)(((int)this.fileRawData[index + 3] << 8) + (int)this.fileRawData[index + 2]); float uac = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 5] << 8) + (int)this.fileRawData[index + 4]), GlobalData.ParamDefs[355]); float uac2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 7] << 8) + (int)this.fileRawData[index + 6]), GlobalData.ParamDefs[356]); float uac3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 9] << 8) + (int)this.fileRawData[index + 8]), GlobalData.ParamDefs[357]); float uacPeak = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 11] << 8) + (int)this.fileRawData[index + 10]), GlobalData.ParamDefs[359]); float uacPeak2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 13] << 8) + (int)this.fileRawData[index + 12]), GlobalData.ParamDefs[360]); float uacPeak3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 15] << 8) + (int)this.fileRawData[index + 14]), GlobalData.ParamDefs[361]); float pac = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 17] << 8) + (int)this.fileRawData[index + 16]), GlobalData.ParamDefs[351]); float pac2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 19] << 8) + (int)this.fileRawData[index + 18]), GlobalData.ParamDefs[352]); float pac3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 21] << 8) + (int)this.fileRawData[index + 20]), GlobalData.ParamDefs[353]); float netzfrequenz = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 23] << 8) + (int)this.fileRawData[index + 22]), GlobalData.ParamDefs[376]); float netzfrequenz2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 25] << 8) + (int)this.fileRawData[index + 24]), GlobalData.ParamDefs[377]); float netzfrequenz3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 27] << 8) + (int)this.fileRawData[index + 26]), GlobalData.ParamDefs[378]); float temperaturWR = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 29] << 8) + (int)this.fileRawData[index + 28]), GlobalData.ParamDefs[371]); float temperaturWR2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 31] << 8) + (int)this.fileRawData[index + 30]), GlobalData.ParamDefs[372]); float temperaturWR3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 33] << 8) + (int)this.fileRawData[index + 32]), GlobalData.ParamDefs[373]); float udc = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 35] << 8) + (int)this.fileRawData[index + 34]), GlobalData.ParamDefs[528]); float udc2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 37] << 8) + (int)this.fileRawData[index + 36]), GlobalData.ParamDefs[529]); float udc3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 39] << 8) + (int)this.fileRawData[index + 38]), GlobalData.ParamDefs[530]); float idc = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 41] << 8) + (int)this.fileRawData[index + 40]), GlobalData.ParamDefs[531]); float idc2 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 43] << 8) + (int)this.fileRawData[index + 42]), GlobalData.ParamDefs[532]); float idc3 = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 45] << 8) + (int)this.fileRawData[index + 44]), GlobalData.ParamDefs[533]); byte fehlerWR = this.fileRawData[index + 46]; byte fehlerWR2 = this.fileRawData[index + 47]; byte fehlerWR3 = this.fileRawData[index + 48]; byte statusWR = this.fileRawData[index + 49]; byte statusWR2 = this.fileRawData[index + 50]; byte statusWR3 = this.fileRawData[index + 51]; int num = (int)this.fileRawData[index + 55] << 24; num += (int)this.fileRawData[index + 54] << 16; num += (int)this.fileRawData[index + 53] << 8; num += (int)this.fileRawData[index + 52]; float ertragWR = UtilityCore.Uint2Float((uint)num, GlobalData.ParamDefs[492]); num = (int)this.fileRawData[index + 59] << 24; num += (int)this.fileRawData[index + 58] << 16; num += (int)this.fileRawData[index + 57] << 8; num += (int)this.fileRawData[index + 56]; float ertragWR2 = UtilityCore.Uint2Float((uint)num, GlobalData.ParamDefs[493]); num = (int)this.fileRawData[index + 63] << 24; num += (int)this.fileRawData[index + 62] << 16; num += (int)this.fileRawData[index + 61] << 8; num += (int)this.fileRawData[index + 60]; float ertragWR3 = UtilityCore.Uint2Float((uint)num, GlobalData.ParamDefs[494]); return(new Constants.SP120Status(dcNennleistung, acLeistung, uac, uac2, uac3, uacPeak, uacPeak2, uacPeak3, pac, pac2, pac3, netzfrequenz, netzfrequenz2, netzfrequenz3, temperaturWR, temperaturWR2, temperaturWR3, udc, udc2, udc3, idc, idc2, idc3, fehlerWR, fehlerWR2, fehlerWR3, statusWR, statusWR2, statusWR3, ertragWR, ertragWR2, ertragWR3)); }
private DcmStatus ReadDcmBlock(int index) { byte dcm = this.fileRawData[index]; float upv = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 2] << 8) + (int)this.fileRawData[index + 1]), GlobalData.ParamDefs[403]); float ipv = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 4] << 8) + (int)this.fileRawData[index + 3]), GlobalData.ParamDefs[404]); byte status = this.fileRawData[index + 5]; byte error = this.fileRawData[index + 6]; float temp = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 8] << 8) + (int)this.fileRawData[index + 7]), GlobalData.ParamDefs[405]); int num = (int)this.fileRawData[index + 12] << 24; num += (int)this.fileRawData[index + 11] << 16; num += (int)this.fileRawData[index + 10] << 8; num += (int)this.fileRawData[index + 9]; float ertrag = UtilityCore.Uint2Float((uint)num, GlobalData.ParamDefs[492]); float fw = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 14] << 8) + (int)this.fileRawData[index + 13]), GlobalData.ParamDefs[389]); return(new DcmStatus(dcm, upv, ipv, status, error, temp, ertrag, fw)); }
private Constants.SP50Status ReadSP50Block(int index) { ushort dcNennleistung = (ushort)(((int)this.fileRawData[index + 1] << 8) + (int)this.fileRawData[index]); ushort acLeistung = (ushort)(((int)this.fileRawData[index + 3] << 8) + (int)this.fileRawData[index + 2]); float netzfrequenz = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 5] << 8) + (int)this.fileRawData[index + 4]), GlobalData.ParamDefs[15]); float udc = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 7] << 8) + (int)this.fileRawData[index + 6]), GlobalData.ParamDefs[2]); float uac = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 9] << 8) + (int)this.fileRawData[index + 8]), GlobalData.ParamDefs[1]); float idc = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 11] << 8) + (int)this.fileRawData[index + 10]), GlobalData.ParamDefs[4]); float iac = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 13] << 8) + (int)this.fileRawData[index + 12]), GlobalData.ParamDefs[3]); float geraetetemperatur = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 15] << 8) + (int)this.fileRawData[index + 14]), GlobalData.ParamDefs[16]); float netzimpedand = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 17] << 8) + (int)this.fileRawData[index + 16]), GlobalData.ParamDefs[13]); float fehlstrom = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 19] << 8) + (int)this.fileRawData[index + 18]), GlobalData.ParamDefs[24]); float einstrahlung = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 21] << 8) + (int)this.fileRawData[index + 20]), GlobalData.ParamDefs[19]); float modultemperatur = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 23] << 8) + (int)this.fileRawData[index + 22]), GlobalData.ParamDefs[17]); float sensorertrag = UtilityCore.Uint2Float((uint)(((int)this.fileRawData[index + 25] << 8) + (int)this.fileRawData[index + 24]), GlobalData.ParamDefs[217]); return(new Constants.SP50Status(dcNennleistung, acLeistung, netzfrequenz, udc, uac, idc, iac, geraetetemperatur, netzimpedand, fehlstrom, einstrahlung, modultemperatur, sensorertrag)); }
private CommonStatus ReadCommonBlock(int index) { ushort status = (ushort)(((int)this.fileRawData[index + 1] << 8) + (int)this.fileRawData[index]); ushort status2 = (ushort)(((int)this.fileRawData[index + 3] << 8) + (int)this.fileRawData[index + 2]); ushort status3 = (ushort)(((int)this.fileRawData[index + 5] << 8) + (int)this.fileRawData[index + 4]); int num = (int)this.fileRawData[index + 9] << 24; num += (int)this.fileRawData[index + 8] << 16; num += (int)this.fileRawData[index + 7] << 8; num += (int)this.fileRawData[index + 6]; float energieTag = UtilityCore.Uint2Float((uint)num, GlobalData.ParamDefs[8]); num = (int)this.fileRawData[index + 13] << 24; num += (int)this.fileRawData[index + 12] << 16; num += (int)this.fileRawData[index + 11] << 8; num += (int)this.fileRawData[index + 10]; float energieWoche = UtilityCore.Uint2Float((uint)num, GlobalData.ParamDefs[9]); num = (int)this.fileRawData[index + 17] << 24; num += (int)this.fileRawData[index + 16] << 16; num += (int)this.fileRawData[index + 15] << 8; num += (int)this.fileRawData[index + 14]; float energieMonat = UtilityCore.Uint2Float((uint)num, GlobalData.ParamDefs[10]); num = (int)this.fileRawData[index + 21] << 24; num += (int)this.fileRawData[index + 20] << 16; num += (int)this.fileRawData[index + 19] << 8; num += (int)this.fileRawData[index + 18]; float energieJahr = UtilityCore.Uint2Float((uint)num, GlobalData.ParamDefs[11]); num = (int)this.fileRawData[index + 25] << 24; num += (int)this.fileRawData[index + 24] << 16; num += (int)this.fileRawData[index + 23] << 8; num += (int)this.fileRawData[index + 22]; float energieGesamt = UtilityCore.Uint2Float((uint)num, GlobalData.ParamDefs[12]); byte letzterFehler = this.fileRawData[index + 26]; return(new CommonStatus(status, status2, status3, energieTag, energieWoche, energieMonat, energieJahr, energieGesamt, letzterFehler)); }