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(); } }
internal bool CheckIfSensorIsActive(Sensor sensor, ModbusService modbusService) { var activeMode = GetActiveMode(); return(modbusService.CheckActivityStatusOfDevice(new Slave { DeviceNumber = (ushort)sensor.Id, SlaveId = (byte)sensor.GatewayId }, activeMode)); }