private void but_open_Click(object sender, EventArgs e) { try { var PortName = cb_portNameSend.Text.ToString(); var BaudRate = int.Parse(cb_baudRate.Text.ToString()); var DataBits = int.Parse(txt_dataBit.Text.ToString()); var StopBits = (StopBits)int.Parse(txt_stopBit.Text.ToString()); var parity = cb_parity.SelectedIndex == 0 ? Parity.None : (cb_parity.SelectedIndex == 1 ? Parity.Odd : Parity.Even); client?.Close(); client = new ModbusAsciiClient(PortName, BaudRate, DataBits, StopBits, parity); var result = client.Open(); if (result.IsSucceed) { but_open.Enabled = false; cb_portNameSend.Enabled = false; but_read.Enabled = true; but_write.Enabled = true; but_open.Enabled = false; but_close.Enabled = true; but_sendData.Enabled = true; AppendText("连接成功"); } else { AppendText($"连接失败:{result.Err}"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void but_open_Click(object sender, EventArgs e) { try { var PortName = cb_portNameSend.Text.ToString(); var BaudRate = int.Parse(cb_baudRate.Text.ToString()); var DataBits = int.Parse(txt_dataBit.Text.ToString()); var StopBits = (StopBits)int.Parse(txt_stopBit.Text.ToString()); var parity = cb_parity.SelectedIndex == 0 ? Parity.None : (cb_parity.SelectedIndex == 1 ? Parity.Odd : Parity.Even); client?.Close(); EndianFormat format = EndianFormat.ABCD; switch (comboBox1.SelectedIndex) { case 0: format = EndianFormat.ABCD; break; case 1: format = EndianFormat.BADC; break; case 2: format = EndianFormat.CDAB; break; case 3: format = EndianFormat.DCBA; break; } client = new ModbusAsciiClient(PortName, BaudRate, DataBits, StopBits, parity, format: format); var result = client.Open(); if (result.IsSucceed) { but_open.Enabled = false; cb_portNameSend.Enabled = false; but_read.Enabled = true; but_write.Enabled = true; but_open.Enabled = false; but_close.Enabled = true; but_sendData.Enabled = true; AppendText("连接成功"); ControlEnabledFalse(); } else { AppendText($"连接失败:{result.Err}"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
byte stationNumber = 1;//站号 public ModbusAsciiClient_tests() { client = new ModbusAsciiClient("COM3", 9600, 8, StopBits.One, Parity.None); }
private void but_open_Click(object sender, EventArgs e) { try { var PortName = cb_portNameSend.Text.ToString(); var BaudRate = int.Parse(cb_baudRate.Text.ToString()); var DataBits = int.Parse(txt_dataBit.Text.ToString()); var StopBits = (StopBits)int.Parse(txt_stopBit.Text.ToString()); var parity = cb_parity.SelectedIndex == 0 ? Parity.None : (cb_parity.SelectedIndex == 1 ? Parity.Odd : Parity.Even); client?.Close(); EndianFormat format = EndianFormat.ABCD; switch (cmb_EndianFormat.SelectedIndex) { case 0: format = EndianFormat.ABCD; break; case 1: format = EndianFormat.BADC; break; case 2: format = EndianFormat.CDAB; break; case 3: format = EndianFormat.DCBA; break; } client = new ModbusAsciiClient(PortName, BaudRate, DataBits, StopBits, parity, format: format); var result = client.Open(); if (result.IsSucceed) { but_open.Enabled = false; cb_portNameSend.Enabled = false; but_read.Enabled = true; but_brokenline.Enabled = true; but_write.Enabled = true; but_open.Enabled = false; but_close.Enabled = true; but_sendData.Enabled = true; AppendText($"连接成功\t\t\t\t耗时:{result.TimeConsuming}ms"); ControlEnabledFalse(); } else { AppendText($"连接失败:{result.Err}"); } var config = ConnectionConfig.GetConfig(); config.ModBusAscii_PortName = PortName; config.ModBusAscii_BaudRate = BaudRate.ToString(); config.ModBusAscii_DataBits = DataBits.ToString(); config.ModBusAscii_StopBits = StopBits; config.ModBusAscii_Parity = parity; config.ModBusAscii_Value = txt_value.Text; config.ModBusAscii_Address = txt_address.Text; config.ModBusAscii_ShowPackage = chb_show_package.Checked; config.ModBusAscii_EndianFormat = format; config.SaveConfig(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }