public SettingsWindow() { InitializeComponent(); Loaded += SettingsWindow_Loaded; CurrentModbusRTUSettings = new ModbusRTUSettings(); CurrentModbusRTUSettings.SettingsFileNotFoundError += this.ShowSettingsError; // Подписываемся на событие "не найден файл настроек" CurrentModbusRTUSettings.SettingsFileReadingError += this.ShowSettingsError; // Подписываемся на событие "ошибка при чтении файла настроек" this.SavingSuccess += this.ShowSettingsSavingSuccess; // Подписываемся на событие "успешное сохранение настроек" CurrentModbusRTUSettings.GetCurrentSettings(); }
private void Start_measurement() { if (Modbus == null) { CurrentModbusRTUSettings = new ModbusRTUSettings(); // Создаем объект настроек CurrentModbusRTUSettings.SettingsFileNotFoundError += this.DisplayErrorOccurred; // Подписываемся на обработчик события "не найден файл настроек" CurrentModbusRTUSettings.SettingsFileReadingError += this.DisplayErrorOccurred; // Подписываемся на обработчик события "ошибка при чтении файла настроек" CurrentModbusRTUSettings.GetCurrentSettings(); // Считываем настройки из файла настроек Modbus = new ModbusRTU(CurrentModbusRTUSettings); // Создаем объект ModbusRTU // Modbus.DeviceNotRespondingError += this.DisplayErrorOccurred; // Подписываемся на обработчик события "Устройство не отвечает" Modbus.SerialPortOpeningError += this.DisplayErrorOccurred; // Подписываемся на обработчик события "Ошибка открытия порта" Modbus.RequestSent += this.DisplayRequestMessageInConsole; // Подписываемся на обработчик события "Отправлена команда" Modbus.ResponseReceived += this.DisplayResponseMessageInConsole; // Подписываемся на обработчик события "Получен ответ" Modbus.CRC_Error += this.ProcessMissedResult; Modbus.SlaveError += this.ProcessMissedResult; Modbus.DeviceNotRespondingError += this.ProcessMissedResult; // Создаем функцию обратного вызова по таймеру Timer = new Timer(new TimerCallback(GetSlaveState), null, 0, CurrentModbusRTUSettings.PollingInterval * 1000); } }