示例#1
0
 private void MeasureForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     try
     {
         try
         {
             if (fs != null)
             {
                 sw.Close();
                 fs.Close();
                 sw = null;
                 fs = null;
             }
         }
         catch
         {
         }
         Master.Dispose();
         if (Sp != null)
         {
             Sp.Close();
         }
         else
         {
             Tc.Close();
         }
     }
     catch
     {
     }
     base.Owner.Show();
 }
示例#2
0
 public void Dispose()
 {
     if (Master != null)
     {
         Master.Dispose();
     }
 }
示例#3
0
 public void Dispose()
 {
     ManualResetWork.Set();
     ManualResetLive.Set();
     Master.Dispose();
     MSerialPort.Close();
     MSerialPort.Dispose();
 }
示例#4
0
        private bool ConnectModbusTCP()
        {
            if (master != null)
            {
                master.Dispose();
            }
            if (tcpClient != null)
            {
                tcpClient.Close();
            }
            if (CheckInternet())
            {
                try
                {
                    tcpClient = new TcpClient();
                    IAsyncResult asyncResult = tcpClient.BeginConnect(ipAddress, tcpPort, null, null);
                    asyncResult.AsyncWaitHandle.WaitOne(3000, true);
                    if (!asyncResult.IsCompleted)
                    {
                        tcpClient.Close();
                        Console.WriteLine("Cannot connect to ModbusTCP");
                        return(false);
                    }

                    master = ModbusIpMaster.CreateIp(tcpClient);
                    master.Transport.Retries     = 0;
                    master.Transport.ReadTimeout = 2000;
                    Console.WriteLine("Connected to ModbusTCP");
                    return(true);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.ToString());
                    return(false);
                }
            }

            return(false);
        }
示例#5
0
        public void DisposesTransport()
        {
            // Arrange
            var transportMock = new Mock <IModbusTransport>();

            transportMock.Setup(x => x.Dispose());
            var master = new ModbusMaster(transportMock.Object);

            // Act
            master.Dispose();

            // Assert
            transportMock.Verify(x => x.Dispose(), Times.Once());
        }
示例#6
0
        /// <summary>销毁</summary>
        /// <param name="disposing"></param>
        protected virtual void Dispose(Boolean disposing)
        {
            if (disposing)
            {
                GC.SuppressFinalize(this);
            }

            Transport?.Dispose();
            if (Transport == null)
            {
                return;
            }
            lock (Transport)
            {
                _master?.Dispose();
            }
        }
示例#7
0
        public void closeComm()
        {
            //LogClass.GetInstance().WriteLogFile("closeComm Called");
            lock (locker)
            {
                if (master != null)
                {
                    master.Dispose();
                    master = null;
                }

                if (tcpClient != null)
                {
                    tcpClient.Close();
                    tcpClient = null;
                }
            }
        }
示例#8
0
        public void CleanUp()
        {
            log.Debug("Clean up after tests.");

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

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

            if (Jamod != null)
            {
                Jamod.Kill();
                Thread.Sleep(4000);
            }
        }
示例#9
0
        private void Disconnect()
        {
            seqThreadPause = false;

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

            if (serialPort != null)
            {
                if (serialPort.IsOpen)
                {
                    serialPort.Close();
                }
                serialPort.Dispose();
                serialPort = null;
            }

            if (tcpClient != null)
            {
                tcpClient.Close();
                tcpClient = null;
            }

            disconnectToolStripMenuItem.Enabled   = false;
            connectToolStripMenuItem.Enabled      = true;
            quickConnectToolStripMenuItem.Enabled = true;

            gbModbusSetup.Enabled = true;

            statusLabel.Text = "Disconnected";

            CurrentSlave = 0;
        }