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