예제 #1
0
        ///

        dynamic ParseEndxxResponse(dynamic answer, string nameParameter, DateTime date)
        {
            if (!answer.success)
            {
                return(answer);
            }
            var recs = new List <dynamic>();

            var lData = DriverHelper.responceToParameters(nameParameter, answer.rsp, 0);

            double summa = System.Double.Parse(lData[0].Replace(".", ","));

            date = date.AddDays(1); //" на конец суток" 23:59:59 => следующие сутки 00:00:00
            switch (nameParameter)
            {
            case "ENDPE": nameParameter = "Энергия активная потребленная"; break;

            case "ENDPI": nameParameter = "Энергия активная отпущенная"; break;

            case "ENDQE": nameParameter = "Энергия реактивная потребленная"; break;

            case "ENDQI": nameParameter = "Энергия реактивная отпущенная"; break;
            }

            recs.Add(MakeDayRecord(nameParameter, (float)summa, "кВт", date));
            recs.Add(MakeDayRecord(nameParameter + " на конец суток", (float)summa, "кВт", date.AddDays(-1)));

            answer.records = recs;

            return(answer);
        }
예제 #2
0
        public ResponseGRAXX(string nameParameter, byte[] data, DateTime date, int tAver)
            : base(data)
        {
            int nDiapasone = (int)(60.0 / tAver); // число дипазонов внутри часа и он же коэфициент на который надо разделить мощности по диапазонам

            Data = new List <Common.Data>();
            var lData = DriverHelper.responceToParameters(nameParameter, data, 0);

            double summa = 0;

            foreach (var item in lData)
            {
                try
                {
                    summa = summa + System.Double.Parse(item.Replace(".", ","));
                }
                catch (Exception)
                {
                    summa = -1;
                }
            }
            switch (nameParameter)
            {
            case "GRAPE": nameParameter = "Мощность активная потребленная"; break;

            case "GRAPI": nameParameter = "Мощность активная отпущенная"; break;

            case "GRAQE": nameParameter = "Мощность реактивная потребленная"; break;

            case "GRAQI": nameParameter = "Мощность реактивная отпущенная"; break;
            }

            Data.Add(new Data(nameParameter, MeasuringUnitType.kWt, date, (float)(summa / nDiapasone)));
        }
예제 #3
0
        dynamic ParseGraxxResponse(dynamic answer, string nameParameter, DateTime date, int tAver)
        {
            if (!answer.success)
            {
                return(answer);
            }

            int nDiapasone = (int)(60.0 / tAver); // число дипазонов внутри часа и он же коэфициент на который надо разделить мощности по диапазонам

            var recs = new List <dynamic>();

            var lData = DriverHelper.responceToParameters(nameParameter, answer.rsp, 0);

            double summa = 0;

            foreach (var item in lData)
            {
                try
                {
                    summa = summa + System.Double.Parse(item.Replace(".", ","));
                }
                catch (Exception)
                {
                    summa = -1;
                }
            }
            switch (nameParameter)
            {
            case "GRAPE": nameParameter = "Мощность активная потребленная"; break;

            case "GRAPI": nameParameter = "Мощность активная отпущенная"; break;

            case "GRAQE": nameParameter = "Мощность реактивная потребленная"; break;

            case "GRAQI": nameParameter = "Мощность реактивная отпущенная"; break;
            }

            recs.Add(MakeHourRecord(nameParameter, (float)(summa / nDiapasone), "кВт", date));

            answer.records = recs;

            return(answer);
        }
예제 #4
0
        public ResponseENDxx(string nameParameter, byte[] data, DateTime date)
            : base(data)
        {
            Data = new List <Common.Data>();
            var lData = DriverHelper.responceToParameters(nameParameter, data, 0);

            double summa = System.Double.Parse(lData[0].Replace(".", ","));

            switch (nameParameter)
            {
            case "ENDPE": nameParameter = "Энергия активная потребленная на конец суток"; break;

            case "ENDPI": nameParameter = "Энергия активная отпущенная на конец суток"; break;

            case "ENDQE": nameParameter = "Энергия реактивная потребленная на конец суток"; break;

            case "ENDQI": nameParameter = "Энергия реактивная отпущенная на конец суток"; break;
            }

            Data.Add(new Data(nameParameter, MeasuringUnitType.kWt, date, (float)summa));
        }