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; }
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); }