コード例 #1
0
        public static List <ResultDiagnostics> CalculShaft(Machine machine)
        {
            List <ResultDiagnostics> results = new List <ResultDiagnostics>();
            ResultDiagnostics        result  = new ResultDiagnostics();
            FL     fl       = model.FL.Get();            // выгрузили данные с файла
            double maxShaft = 0;
            double fiftyHz  = 0;                         // значение при 50Гц
            List <Tuple <double, double> > list = fl.fl; // получаем герцы и значение
            var f = list[0].Item2;

            fiftyHz = list.FirstOrDefault(x => x.Item1 == 50).Item2;
            foreach (KTS item in machine.Shaft)
            {
                var flShaft = list.Where(x => x.Item1 > item.beginp);
                flShaft = flShaft.Where(x => x.Item1 < item.endp);
                List <double> listSort = new List <double>();
                listSort.AddRange(flShaft.Select(x => x.Item2));
                for (int i = 0; i < listSort.Count(); i++)
                {
                    if (((listSort[i] / fiftyHz) * item.a + item.b) > maxShaft)
                    {
                        maxShaft = ((listSort[i] / fiftyHz) * item.a + item.b);
                    }
                }
                result.file  = fl.FileName;
                result.a     = item.a;
                result.b     = item.b;
                result.begin = item.beginp;
                result.end   = item.endp;
                result.value = maxShaft;
                if (maxShaft <= machine.typestatus.nicely)
                {
                    result.level = "Дефектов не обнаружено!";
                }
                else if ((maxShaft <= machine.typestatus.acceptably) && (maxShaft > machine.typestatus.nicely))
                {
                    result.level = "Слабый";
                }
                else if ((maxShaft <= machine.typestatus.limited) && (maxShaft > machine.typestatus.acceptably) && (maxShaft > machine.typestatus.nicely))
                {
                    result.level = "Средний";
                }
                else
                {
                    result.level = "Сильный";
                }
                results.Add(result);
            }
            return(results);
        }
コード例 #2
0
        public static void AddFL(string filename)
        {
            List <Tuple <double, double> > fl = new List <Tuple <double, double> > {
            };
            FileStream   file1 = new FileStream(filename, FileMode.Open); //создаем файловый поток
            StreamReader reader = new StreamReader(file1);                // создаем «потоковый читатель» и связываем его с файловым потоком
            string       line, frequency, level;
            double       f, l;
            int          i    = 0;
            bool         flag = false;

            while ((line = reader.ReadLine()) != null)//Считываем файл по строкам
            {
                if (flag)
                {
                    line      = line.Replace('.', ',');
                    frequency = line.Split('\t')[0];
                    level     = line.Split('\t')[1];
                    f         = Convert.ToDouble(frequency);
                    l         = Convert.ToDouble(level);
                    fl.Add(new Tuple <double, double>(f, l));
                    i++;
                }
                if (line == "Гц\t дБ (0.000001 mA)")
                {
                    flag = true;
                }
            }
            reader.Close(); //закрываем поток

            FL value = new FL();

            value.FileName = filename;
            value.fl.AddRange(fl);
            model.FL.Add(value);
        }
コード例 #3
0
        public static List <ResultDiagnostics> CalculEngine(Machine machine)
        {
            List <ResultDiagnostics> results = new List <ResultDiagnostics>();
            ResultDiagnostics        result  = new ResultDiagnostics();
            FL     fl         = model.FL.Get();          // выгрузили данные с файла
            double averEngine = 0;
            double fiftyHz    = 0;                       // значение при 50Гц
            List <Tuple <double, double> > list = fl.fl; // получаем герцы и значение
            var f = list[0].Item2;

            fiftyHz = list.FirstOrDefault(x => x.Item1 == 50).Item2;
            foreach (KTS item in machine.Engine)
            {
                var flEngine = list.Where(x => x.Item1 > item.beginp);
                flEngine = flEngine.Where(x => x.Item1 < item.endp);
                List <double> listSort = new List <double>();
                listSort.AddRange(flEngine.Select(x => x.Item2));
                averEngine   = listSort.Average() / fiftyHz;
                result.file  = fl.FileName;
                result.a     = item.a;
                result.b     = item.b;
                result.begin = item.beginp;
                result.end   = item.endp;
                result.value = averEngine;
                if (averEngine > 0.7)
                {
                    result.level = "Да";
                }
                else
                {
                    result.level = "Нет";
                }
                results.Add(result);
            }
            return(results);
        }
コード例 #4
0
 public static void AddFL(FL fl)
 {
     FL.Add(fl);
 }
コード例 #5
0
        private LocalStorage()
        {
            Machines = new List <Machine>()
            {
                new Machine
                {
                    ID      = "12345",
                    Marking = "НАС-1",
                    Power   = 75,
                    Speed   = 33,
                    //NameArea = "Воркута НПЗ",
                    Shaft = new List <KTS>
                    {
                        new KTS
                        {
                            a      = 1,
                            b      = 2,
                            beginp = 99,
                            endp   = 100,
                        },
                        new KTS
                        {
                            a      = 0.9,
                            b      = 1,
                            beginp = 99,
                            endp   = 100,
                        }
                    },
                    Bearing = new List <KTS>
                    {
                        new KTS
                        {
                            a      = 1,
                            b      = 2,
                            beginp = 99,
                            endp   = 100,
                        },
                        new KTS
                        {
                            a      = 0.9,
                            b      = 1,
                            beginp = 99,
                            endp   = 100,
                        }
                    },
                    typestatus = new TypeStatus
                    {
                        nicely     = 2.3,
                        acceptably = 4.5,
                        limited    = 7.1,
                    },
                    Engine = new List <KTS>
                    {
                        new KTS
                        {
                            a      = 0,
                            b      = 0,
                            beginp = 99,
                            endp   = 101,
                        },
                    },
                    DescriptionND = "Свой!"
                },
                new Machine
                {
                    ID      = "64543",
                    Marking = "НАС-2",
                    Power   = 79,
                    Speed   = 23,
                    Shaft   = new List <KTS>
                    {
                        new KTS
                        {
                            a      = 0.95,
                            b      = 0.99,
                            beginp = 99,
                            endp   = 100,
                        },
                        new KTS
                        {
                            a      = 1,
                            b      = 2,
                            beginp = 99,
                            endp   = 100,
                        }
                    },
                    Bearing = new List <KTS>
                    {
                        new KTS
                        {
                            a      = 0.95,
                            b      = 0.99,
                            beginp = 99,
                            endp   = 100,
                        }
                    },
                    typestatus = new TypeStatus
                    {
                        nicely     = 2.3,
                        acceptably = 4.5,
                        limited    = 7.1,
                    },
                    Engine = new List <KTS>
                    {
                        new KTS
                        {
                            a      = 0,
                            b      = 0,
                            beginp = 99,
                            endp   = 101,
                        },
                    },
                    DescriptionND = "Свой!"
                },
                new Machine
                {
                    ID      = "741852",
                    Marking = "НАС-3",
                    Power   = 96,
                    Speed   = 89,
                    Shaft   = new List <KTS>
                    {
                        new KTS
                        {
                            a      = 0.95,
                            b      = 0.99,
                            beginp = 99,
                            endp   = 100,
                        },
                        new KTS
                        {
                            a      = 1,
                            b      = 2,
                            beginp = 99,
                            endp   = 100,
                        }
                    },
                    Bearing = new List <KTS>
                    {
                        new KTS
                        {
                            a      = 0.95,
                            b      = 0.99,
                            beginp = 99,
                            endp   = 100,
                        }
                    },
                    typestatus = new TypeStatus
                    {
                        nicely     = 2.3,
                        acceptably = 4.5,
                        limited    = 7.1,
                    },
                    Engine = new List <KTS>
                    {
                        new KTS
                        {
                            a      = 0,
                            b      = 0,
                            beginp = 99,
                            endp   = 101,
                        },
                    },
                    DescriptionND = "Свой!"
                }
            };

            fl          = new FL();
            fl.FileName = "";
        }
コード例 #6
0
 public void Add(FL value)
 {
     context.fl.FileName = value.FileName;
     context.fl.fl.AddRange(value.fl.ToArray());
 }
コード例 #7
0
 public void Add(FL value)
 {
     TempStorage.AddFL(value);
 }