public void OpenPort(ModbusConnectionParameters parameters)
        {
            if (rs232Manager != null)
            {
                rs232Manager.ClosePort();
                rs232Manager.DataReceivedEvent -= OnDataReceived;
            }

            rs232Manager = new Rs232CommunicationManager(parameters.GetConnectionParameters());
            rs232Manager.DataReceivedEvent += OnDataReceived;
            rs232Manager.OpenPort();

            messageProcessor = parameters.GetMessageProcessor();

            IsPortOpen = true;
        }
Example #2
0
File: Main.cs Project: kamilk/rs232
        private void OpenPort()
        {
            ModbusParityAndStopBits parityAndStopBits;
            if (e1RadioButton.Checked)
                parityAndStopBits = ModbusParityAndStopBits.E1;
            else if (o1RadioButton.Checked)
                parityAndStopBits = ModbusParityAndStopBits.O1;
            else
                parityAndStopBits = ModbusParityAndStopBits.N2;

            var parameters = new ModbusConnectionParameters()
            {
                Mode = asciiRadioButton.Checked ? ModbusMode.Ascii : ModbusMode.Rtu,
                PortName = cboPort.Text,
                BaudRate = int.Parse(cboBaud.Text),
                Handshake = ((HandshakeMenuItem)cboHandshake.SelectedItem).type,
                ParityAndStopBits = parityAndStopBits,
            };

            communicationManager.OpenPort(parameters);
        }