public void Dispose()
        {
            if (_poll != null)
            {
                _poll.Stop();
                _poll = null;
            }

            if (_client != null)
            {
                _client.Disconnect();
                _client = null;
            }

            if (_master != null)
            {
                _master.DisconnectAllDevices();
                _master = null;
            }

            if (_slave != null)
            {
                _slave.Terminate();
                _slave = null;
            }

            Task.Delay(1000).Wait();
        }
        private void ConnectMasterAndSlave()
        {
            _slave = new ModbusSlave("Test", _source, _port, 1);
            _slave.Start();

            _master = new ModbusMaster();
            _client = _master.ConnectDevice("localhost", _port, 1);

            AssertWait.Max(2000, () => _client.IsConnected);
        }
        public PollServiceTests()
        {
            Trace.Listeners.Add(new TronTraceListener(true));

            _port++;

            _source = new TestData();

            _slave = new ModbusSlave("Test", _source, _port, 1);
            _slave.Start();

            _master = new ModbusMaster();

            _client = _master.ConnectDevice("localhost", _port, 1);
        }
예제 #4
0
        public ExplorerVm(AppSession session) : base(session)
        {
            Host = "192.168.2.87";

            _hostNode = new TreeNode(null)
            {
                Name = "HOST"
            };
            RootNodes = new List <TreeNode> {
                _hostNode
            };

            _modbus = new ModbusMaster(Host);
            _device = _modbus.ConnectDevice(Host, 502, 2);

            var data0 = _device.ReadHoldingRegisters(40705, 2);

            Console.WriteLine("NIX");
        }
        public void Dispose()
        {
            if (_client != null)
            {
                _client.Disconnect();
                _client.Dispose();
                _client = null;
            }

            if (_master != null)
            {
                _master.DisconnectAllDevices();
                _master = null;
            }

            if (_slave != null)
            {
                _slave.Terminate();
                _slave = null;
            }
        }