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 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()); } } }