public bool Connection() { try { lock (LockObject) { xGBCnet?.Close(); xGBCnet = new XGBCnet { Station = Station }; try { xGBCnet.SerialPortInni(sp => { sp.PortName = serialPort.PortName; sp.BaudRate = serialPort.BaudRate; sp.DataBits = serialPort.DataBits; sp.StopBits = serialPort.StopBits; sp.Parity = serialPort.Parity; }); xGBCnet.Open(); if (xGBCnet.IsOpen()) { EventscadaException?.Invoke(GetType().Name, StringResources.Language.ConnectedSuccess); IsConnected = true; } else { EventscadaException?.Invoke(GetType().Name, StringResources.Language.ConnectedFailed); } IsConnected = true; return(IsConnected); } catch (Exception ex) { EventscadaException?.Invoke(GetType().Name, ex.Message); return(IsConnected); } } } catch (TimeoutException ex) { IsConnected = false; EventscadaException?.Invoke(GetType().Name, ex.Message); return(IsConnected); } }