Ejemplo n.º 1
0
        public SettingsWindow()
        {
            InitializeComponent();
            Loaded += SettingsWindow_Loaded;

            CurrentModbusRTUSettings = new ModbusRTUSettings();

            CurrentModbusRTUSettings.SettingsFileNotFoundError += this.ShowSettingsError; // Подписываемся на событие "не найден файл настроек"
            CurrentModbusRTUSettings.SettingsFileReadingError  += this.ShowSettingsError; // Подписываемся на событие "ошибка при чтении файла настроек"
            this.SavingSuccess += this.ShowSettingsSavingSuccess;                         // Подписываемся на событие "успешное сохранение настроек"

            CurrentModbusRTUSettings.GetCurrentSettings();
        }
Ejemplo n.º 2
0
        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);
            }
        }