public ModbusDataWriter(ModbusInitDataArray arr, RWModeEnum mode = RWModeEnum.hh) { InitArray = arr; Headers = new List<string>(); RWMode = mode; FirstRun = true; }
public DataDBWriter(ModbusInitDataArray initArray) { InitArray = initArray; Headers = new List <int>(); Dates = new List <DateTime>(); Data = new SortedList <int, DataDBRecord>(); }
public ModbusDataReader(ModbusServer server, ModbusInitDataArray initArr) { this.server = server; this.countData = initArr.MaxAddr; this.InitArr = initArr; data = new SortedList<int, int>(countData); server.ModbusMaster.OnResponseData += new Master.ResponseData(ModbusMaster_OnResponseData); }
public ModbusDataReader(ModbusServer server, ModbusInitDataArray initArr) { this.server = server; this.countData = initArr.MaxAddr; this.InitArr = initArr; data = new SortedList <int, int>(countData); server.ModbusMaster.OnResponseData += new Master.ResponseData(ModbusMaster_OnResponseData); }
public static String GetFileName(String path, ModbusInitDataArray InitArray, RWModeEnum RWMode, DateTime date, bool createDir) { string dirName=GetDir(path, InitArray, RWMode, date); if (createDir) { Directory.CreateDirectory(dirName); } string fileName=String.Format("{0}\\data_{1}.csv",dirName,date.ToString("HH_mm")); return fileName; }
public ModbusDataReader(ModbusServer server, ModbusInitDataArray initArr) { this.Server = server; this.CountData = initArr.MaxAddr; this.InitArr = initArr; Data = new SortedList<string, double>(CountData); StepData = InitArr.IsDiscrete ? (ushort)(100 * 8) : (ushort)50; server.OnResponse += new ResponseDataDelegeate(ModbusMaster_OnResponseData); server.OnError += new ErrorDelegate(server_OnError); }
public static String GetFileName(ModbusInitDataArray InitArray, RWModeEnum RWMode, DateTime date, bool createDir) { string dirName = GetDir(InitArray, RWMode, date); if (createDir) { Directory.CreateDirectory(dirName); } string fileName = String.Format("{0}\\data_{1}.csv", dirName, date.ToString("HH_mm")); return(fileName); }
public ModbusDataWriter(ModbusInitDataArray arr, RWModeEnum mode = RWModeEnum.hh) { InitArray = arr; Headers = new List <int>(); foreach (ModbusInitData data in arr.Data) { if (!data.Name.Contains("_FLAG") && !String.IsNullOrEmpty(data.Name)) { Headers.Add(data.Addr); } } rwMode = mode; }
public MasterModbusReader(int sleepTime) { SleepTime = sleepTime; InitArrays = new SortedList <string, ModbusInitDataArray>(); Readers = new SortedList <string, ModbusDataReader>(); WritersHH = new SortedList <string, ModbusDataWriter>(); WritersMin = new SortedList <string, ModbusDataWriter>(); FinishReading = new SortedList <string, bool>(); foreach (string fileName in Settings.single.InitFiles) { try { Logger.Info(String.Format("Чтение настроек modbus из файла '{0}'", fileName)); ModbusInitDataArray arr = XMLSer <ModbusInitDataArray> .fromXML(fileName); arr.processData(); InitArrays.Add(arr.ID, arr); String.Format("===Считано {0} записей", arr.FullData.Count); Logger.Info(String.Format("Создание объекта чтения данных")); ModbusServer sv = new ModbusServer(arr.IP, (ushort)arr.Port); ModbusDataReader reader = new ModbusDataReader(sv, arr); reader.OnFinish += new FinishEvent(reader_OnFinish); readers.Add(arr.ID, reader); String.Format("===Объект создан"); if (arr.WriteMin) { Logger.Info(String.Format("Создание объекта записи данных в файл (минуты)")); ModbusDataWriter writer = new ModbusDataWriter(arr, RWModeEnum.min); writersMin.Add(arr.ID, writer); String.Format("===Объект создан"); } if (arr.WriteHH) { Logger.Info(String.Format("Создание объекта записи данных в файл (получасовки)")); ModbusDataWriter writer = new ModbusDataWriter(arr, RWModeEnum.hh); writersHH.Add(arr.ID, writer); String.Format("===Объект создан"); } FinishReading.Add(arr.ID, false); } catch (Exception e) { String.Format("===Ошибка при чтении настроек"); Logger.Error(e.ToString()); } } }
public void reader_OnFinish(string InitArrayID, SortedList <int, double> ResultData) { Console.WriteLine(InitArrayID + " read"); ModbusInitDataArray init = initArrays[InitArrayID]; if (init.WriteMin) { WritersMin[InitArrayID].writeData(ResultData); } if (init.WriteHH) { WritersHH[InitArrayID].writeData(ResultData); } FinishReading[InitArrayID] = true; if (!FinishReading.Values.Contains(false)) { Thread.Sleep(SleepTime); Read(); } }
public MasterDBWriter() { InitArrays = new SortedList <string, ModbusInitDataArray>(); Writers = new SortedList <string, DataDBWriter>(); foreach (string fileName in Settings.single.InitFiles) { try { Logger.Info(String.Format("Чтение настроек modbus из файла '{0}'", fileName)); ModbusInitDataArray arr = XMLSer <ModbusInitDataArray> .fromXML(fileName); arr.processData(); InitArrays.Add(arr.ID, arr); String.Format("===Считано {0} записей", arr.FullData.Count); DataDBWriter writer = new DataDBWriter(arr); Writers.Add(arr.ID, writer); } catch (Exception e) { String.Format("===Ошибка при чтении настроек"); Logger.Error(e.ToString()); } } }
public static string GetDir(ModbusInitDataArray InitArray, RWModeEnum RWMode, DateTime date) { string dirName = String.Format("{0}\\{1}\\{2}\\{3}", Settings.single.DataPath, InitArray.ID, RWMode.ToString(), date.ToString("yyyy_MM_dd")); return(dirName); }
public static string GetDir(String path,ModbusInitDataArray InitArray, RWModeEnum RWMode, DateTime date) { string dirName=String.Format("{0}\\{1}\\{2}\\{3}",path,InitArray.ID,RWMode.ToString(),date.ToString("yyyy_MM_dd")); return dirName; }
public DataDBWriter(ModbusInitDataArray initArray) { InitArray = initArray; Headers = new List<int>(); Dates = new List<DateTime>(); Data = new SortedList<int, DataDBRecord>(); }
public DataDBWriter(ModbusInitDataArray initArray) { InitArray = initArray; Headers = new List<string>(); Data = new SortedList<string, DataDBRecord>(); }