/// <summary>
        /// Contructor for linklayer
        /// </summary>
        /// <param name="link">Link layer</param>
        public BPCommunicationModbus( Link link)
        {
            this.link = link;

            //Create Rtu modbus master using link port
            modbus = ModbusSerialMaster.CreateRtu((SerialPort)this.link.port);
        }
 internal SerialMasterContext(SerialPort serialPort, int readTimeout, int writeTimeout)
 {
     _serialPort = serialPort;
     _master = ModbusSerialMaster.CreateRtu(_serialPort);
     _master.Transport.ReadTimeout = readTimeout;
     _master.Transport.WriteTimeout = writeTimeout;
     _master.Transport.Retries = 0;
 }
        public void Dispose()
        {
            if (_serialPort != null)
            {
                _serialPort.Dispose();
                _serialPort = null;
            }

            if (_master == null)
                return;

            _master.Dispose();
            _master = null;
        }
Exemple #4
0
        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                serialPort1.BaudRate = 19200;
                serialPort1.Parity = System.IO.Ports.Parity.None;
                serialPort1.StopBits = System.IO.Ports.StopBits.One;
                serialPort1.DataBits = 8;
                serialPort1.PortName = "COM4";
                mMaster = ModbusSerialMaster.CreateRtu(serialPort1);
                serialPort1.Open();
                timer1.Start();
            }
            catch (Exception ex)
                {

                }
        }
        /// <summary>
        /// Sets link layer
        /// </summary>
        /// <param name="link"> Link layer to use</param>
        public void SetLink(Link link)
        {
            this.link = link;

            //Create Rtu modbus master using link port
            modbus = ModbusSerialMaster.CreateRtu((SerialPort)this.link.port);
        }