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 static void init() { System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-GB"); ci.NumberFormat.NumberDecimalSeparator = "."; ci.NumberFormat.NumberGroupSeparator = ""; System.Threading.Thread.CurrentThread.CurrentCulture = ci; System.Threading.Thread.CurrentThread.CurrentUICulture = ci; Settings settings = XMLSer <Settings> .fromXML("Data\\Settings.xml"); Settings.settings = settings; settings.DBInfoList = new SortedList <string, DBInfo>(); foreach (DBInfo dbInfo in settings.Databases) { settings.DBInfoList.Add(dbInfo.ID, dbInfo); } }
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()); } } }