Exemple #1
0
        private void RunPollig()
        {
            ModBusDriver?.Dispose();

            try
            {
                CreateModbusDriver();
            }
            catch (Exception e)
            {
                if (!_linkRecoveryTimer.IsEnabled)
                {
                    StatusString   = e.Message;
                    AvaliablePorts = SerialPort.GetPortNames().ToList();
                }
                return;
            }
            _timer.Interval = TimeSpan.FromMilliseconds(ScanRate);
            ModbusConfig.Save(ModbusConfig);
            _retriesToRecoverLink = 0;
            _linkRecoveryTimer.Stop();
            _linkRecoveryTimer.Tick -= _connectionRecoveryHandler;
            _timer.Tick             += _dataUpdateHandler;
            _timer.Start();
            IsStopped = false;
        }