示例#1
0
        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);
            }
        }