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); }
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); }
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); }
public static void AddFL(FL fl) { FL.Add(fl); }
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 = ""; }
public void Add(FL value) { context.fl.FileName = value.FileName; context.fl.fl.AddRange(value.fl.ToArray()); }
public void Add(FL value) { TempStorage.AddFL(value); }