private void button1_Click(object sender, EventArgs e) { try { if (!COM1.IsOpen) { COM1.Close(); COM1.PortName = "COM3"; COM1.BaudRate = 115200; COM1.DataBits = 8; COM1.Parity = System.IO.Ports.Parity.None; COM1.StopBits = System.IO.Ports.StopBits.One; COM1.Open(); } m_mbMaster = ModbusSerialMaster.CreateRtu(COM1); ushort[] rBuf = { 200 }; m_mbMaster.WriteMultipleRegisters(m_slaveAddr, 1, rBuf); System.Threading.Thread.Sleep(200); ushort[] tBuf = m_mbMaster.ReadHoldingRegisters(m_slaveAddr, 0x00, 104); int t = 5; t++; } catch (Exception ex) { this.Text = (string.IsNullOrEmpty(ex.Message)) ? "Form1" : ("Form1... Error: " + ex.Message); } }
private void save_btn_Click(object sender, EventArgs e) { if (!COM1.IsOpen) { COM1.Open(); } //int addr = int.Parse(module_addr1.Text); //bool addr_check = false; //if (addr > 255 || addr < 0) //{ // status_line.Text = "Задан неверный адрес устройства"; // addr_check = false; //} //else // addr_check = true; //if( addr_check) //{ // tBuf[0] = (ushort)br_enum[Baudrate.SelectedIndex]; // tBuf[1] = (ushort)dbits_enum[Databits.SelectedIndex]; // tBuf[2] = (ushort)sbit_enum[Stopbit.SelectedIndex]; // tBuf[3] = (ushort)par_enum[Parity.SelectedIndex]; // tBuf[4] = (ushort)addr; // try // { // m_mbMaster.WriteMultipleRegisters(0, 0x64, tBuf); // } // catch (Exception ex) // { // this.Text = (string.IsNullOrEmpty(ex.Message)) ? "Form1" : ("Form1... Error: " + ex.Message); // } // Connect_check(); if (IsConnected) { try { ushort[] flag_save = new ushort[1]; flag_save[0] = 0x01; m_mbMaster.WriteMultipleRegisters((byte)0, 0x00, flag_save); } catch (Exception ex) { this.Text = (string.IsNullOrEmpty(ex.Message)) ? "Form1" : ("Form1... Error: " + ex.Message); } } //} }
// Serial communication options private void button2_Click(object sender, EventArgs e) { try { COM1.PortName = comboBox13.Text; COM1.BaudRate = Convert.ToInt32(comboBox1.Text); COM1.DataBits = Convert.ToInt32(comboBox2.Text); COM1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), comboBox3.Text); COM1.Parity = (Parity)Enum.Parse(typeof(Parity), comboBox4.Text); COM1.Open(); progressBar1.Value = 100; } catch (Exception err) { MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void button2_Click(object sender, EventArgs e) { if (!COM1.IsOpen) { COM1.Open(); } try { ushort[] tmpbuf = m_mbMaster.ReadHoldingRegisters(0, 0x64, 5); Thread.Sleep(200); Thread.Sleep(100); } catch (Exception ex) { this.Text = (string.IsNullOrEmpty(ex.Message)) ? "Form1" : ("Form1... Error: " + ex.Message); } }
private void write_btn_Click(object sender, EventArgs e) { if (!COM1.IsOpen) { COM1.Open(); } ushort[] SendBuf = pack_mb_msg(); if (mb_packet.dev_address > 255 || mb_packet.dev_address < 0) { status_line.Text = "Задан неверный адрес устройства"; } else if (IsConnected) { try { m_mbMaster.WriteMultipleRegisters((byte)0, 0x64, SendBuf); } catch (Exception ex) { this.Text = (string.IsNullOrEmpty(ex.Message)) ? "Form1" : ("Form1... Error: " + ex.Message); baudrate_label.BackColor = Color.OrangeRed; baudrate_label.Text = "Sent"; databits_label.BackColor = Color.OrangeRed; databits_label.Text = "Sent"; parity_label.BackColor = Color.OrangeRed; parity_label.Text = "Sent"; stopbit_label.BackColor = Color.OrangeRed; stopbit_label.Text = "Sent"; addr_label.BackColor = Color.OrangeRed; addr_label.Text = "Sent"; } } else { status_line.Text = " Не полдключен "; } }
private void Search_Click(object sender, EventArgs e) { if (!COM1.IsOpen) { COM1.Open(); } Baudrate_Search(); if (!mod_faund) { Parity_Search(); } if (!mod_faund) { Stop_Bit_Search(); } if (!mod_faund) // ваще не нашли { status_line.Text = " Не найден"; } else { baudrate_label.BackColor = Color.Green; baudrate_label.Text = "Set"; databits_label.BackColor = Color.Green; databits_label.Text = "Set"; parity_label.BackColor = Color.Green; parity_label.Text = "Set"; stopbit_label.BackColor = Color.Green; stopbit_label.Text = "Set"; addr_label.BackColor = Color.Green; addr_label.Text = "Set"; ushort[] Addr = null; try { Addr = m_mbMaster.ReadHoldingRegisters(0, 0x68, 1); // читаем адрес и обновляем } catch (Exception ex) { status_line.Text = " Ошибка адреса"; } if (Addr != null) { mb_packet.dev_address = (ushort)Addr[0]; module_addr1.Text = Addr[0].ToString(); addr_label.BackColor = Color.Green; addr_label.Text = "Set"; } else { module_addr1.Text = "0"; } } }
private void Connect_check() { COM1.BaudRate = br_enum[Baudrate.SelectedIndex]; switch (Databits.SelectedIndex) { case 0: COM1.DataBits = 8; break; case 1: COM1.DataBits = 9; break; } switch (Parity.SelectedIndex) { case 0: COM1.Parity = System.IO.Ports.Parity.None; break; case 1: COM1.Parity = System.IO.Ports.Parity.Odd; break; case 2: COM1.Parity = System.IO.Ports.Parity.Even; break; default: COM1.Parity = System.IO.Ports.Parity.None; break; } switch (Stopbit.SelectedIndex) { case 0: COM1.StopBits = System.IO.Ports.StopBits.One; break; case 1: COM1.StopBits = System.IO.Ports.StopBits.Two; break; case 2: COM1.StopBits = System.IO.Ports.StopBits.OnePointFive; break; default: COM1.StopBits = System.IO.Ports.StopBits.None; break; } status_line.Text = null; checkBox1.CheckState = CheckState.Unchecked; try { if (!COM1.IsOpen) { COM1.Open(); } //Thread read = //m_mbMaster = ModbusSerialMaster.CreateRtu(COM1); //m_mbMaster.Transport.ReadTimeout = 1000; //m_state = WorkState.Update; ushort[] tBuf = m_mbMaster.ReadHoldingRegisters(0, 90, 10); if ((tBuf[0] == 0x0102) && (tBuf[9] == 0x01)) { status_line.Text = " Подключен "; IsConnected = true; checkBox1.CheckState = CheckState.Checked; baudrate_label.BackColor = Color.Green; baudrate_label.Text = "Set"; databits_label.BackColor = Color.Green; databits_label.Text = "Set"; parity_label.BackColor = Color.Green; parity_label.Text = "Set"; stopbit_label.BackColor = Color.Green; stopbit_label.Text = "Set"; addr_label.BackColor = Color.Green; addr_label.Text = "Set"; } } catch (Exception ex) { status_line.Text = " Ошибка подключения"; checkBox1.CheckState = CheckState.Unchecked; MessageBox.Show(ex.Message, "Ошибка !!!", MessageBoxButtons.OK, MessageBoxIcon.Error); } //if(!COM1.IsOpen) //{ // COM1.Open(); // m_mbMaster = ModbusSerialMaster.CreateRtu(COM1); //} // rxBuf = m_mbMaster.ReadHoldingRegisters(0, 20, 1); }