示例#1
0
            private void MakesureConnection(IPLCCommunicator communicator)
            {
                switch (communicator.Status)
                {
                case CommunicationStatus.Connected:
                {
                    break;
                }

                case CommunicationStatus.NotConnected:
                {
                    communicator.ConnectServer();
                    break;
                }

                case CommunicationStatus.Failed:
                {
                    break;
                }

                case CommunicationStatus.Connecting:
                case CommunicationStatus.Disconnecting:
                {
                    break;
                }
                }
            }
示例#2
0
            protected virtual void Dispose(bool disposing)
            {
                if (!_isDisposed)
                {
                    _isDisposed = true;
                    _mre?.SafeSet();
                    if (_loopThread != null)
                    {
                        try
                        {
                            _loopThread.Abort();
                        }
                        catch
                        {
                        }

                        _loopThread = null;
                    }

                    if (Communicator != null)
                    {
                        Communicator.Dispose();
                        Communicator = null;
                    }

                    foreach (var kv in Variables)
                    {
                        kv.Value.Communicator = null;
                    }

                    _mre.SafeDispose();
                    _mre = null;
                }
            }
示例#3
0
 public ReadLoop(PLCClient pLCDevice, IPLCCommunicator comm, string thread)
 {
     PLC          = pLCDevice;
     Communicator = comm;
     ThreadName   = thread;
 }