Exemple #1
0
        internal void SynchroniseSensor(Sensor sensor, string serialPort)
        {
            try
            {
                SerialPortToken.Instance.ConnectToSerialPort(serialPort);
                InitializeModbus();

                var activeMode = GetActiveMode();

                var isActive = _modbusService.CheckActivityStatusOfDevice(new Slave
                {
                    DeviceNumber = (ushort)sensor.Id,
                    SlaveId      = (byte)sensor.GatewayId
                }, activeMode);

                if (!isActive)
                {
                    throw new Exception("Wybrany czujnik jest niedostępny.");
                }

                _modbusService.SendControlMessage(new Slave
                {
                    DeviceNumber = (ushort)sensor.Id,
                    SlaveId      = (byte)sensor.GatewayId
                });
            }
            finally
            {
                SerialPortToken.Instance.DisconnectSerialPort();
            }
        }
Exemple #2
0
        internal bool CheckIfSensorIsActive(Sensor sensor, ModbusService modbusService)
        {
            var activeMode = GetActiveMode();

            return(modbusService.CheckActivityStatusOfDevice(new Slave
            {
                DeviceNumber = (ushort)sensor.Id,
                SlaveId = (byte)sensor.GatewayId
            }, activeMode));
        }