示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }
示例#5
0
        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));
        }