//Добавление записи текущего измерения в архив для датчика в канале ch public void WriteToArhiv(SChanalVR ch, SPointVR point) { StreamWriter writer = null; if (!File.Exists(ch.FileNameArchiv)) { writer = CreateFileArhiv(ch); } else { writer = new StreamWriter(ch.FileNameArchiv, true);//открываем файл БД } if (writer != null) { // if (ch.Points.Count > 0) // writer.WriteLine(GetStringFromPoint(ch.Points[ch.Points.Count - 1])); writer.WriteLine(GetStringFromPoint(point)); writer.Close(); writer = null; } else { Program.txtlog.WriteLineLog("VR:Ошибка записи в архив верификации: " + ch.FileNameArchiv, 1); } }
public void AddPoint(int ch, double Temp, double npi, double vpi, double PressZ, double PressF, double CurF, double CurR, double Volt, double Resist) { try { SPointVR point = new SPointVR { Datetime = DateTime.Now, Temperature = Temp, NPI = npi, VPI = vpi, PressureZ = PressZ, PressureF = PressF, CurrentF = CurF, CurrentR = CurR, OutVoltage = Volt, Resistance = Resist, }; Channal[ch].Points.Add(point); FileStream[ch].WriteLine(GetStringFromPoint(point)); FileStream[ch].Flush(); WriteToArhiv(Channal[ch], point); } catch { Program.txtlog.WriteLineLog(string.Format("VR:Ошибка записи в файл результатов верификации (канал {0})", ch), 1); } }
//возвращает строку результатов характеризации в точке private string GetStringFromPoint(SPointVR point) { return(point.Datetime.ToString() + "|" + point.Temperature.ToString(" +000.0; -000.0; 0.0") + " |" + point.NPI.ToString(" +00000.00; -00000.00; 0.0") + " |" + point.VPI.ToString(" +00000.00; -00000.00; 0.0") + " |" + point.PressureZ.ToString(" +00000.00; -00000.00; 0.0") + " |" + point.PressureF.ToString(" +00000.00; -00000.00; 0.0") + " |" + point.CurrentR.ToString(" +00000.0000; -00000.0000; 0.0") + " |" + point.CurrentF.ToString(" +00000.0000; -00000.0000; 0.0") + " |" + point.OutVoltage.ToString(" +00000.0000; -00000.0000; 0.0") + " |" + point.Resistance.ToString(" +00000.0000; -00000.0000; 0.0") + " |"); }