private void Form1_FormClosed(object sender, FormClosedEventArgs e) { if (COM1.IsOpen) { COM1.Close(); } }
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); } }
public override IEnumerable <ComunicacaoViewModel> Bind(int?index, int pageSize = 50, params object[] param) { string path = System.Configuration.ConfigurationManager.AppSettings["Comunicados"].Replace("~", "..") + "/"; string _descricao = param != null && param.Count() > 0 && param[0] != null ? param[0].ToString() : null; return((from com in db.Comunicacaos join comGrupo in db.ComunicacaoGrupos on com.comunicacaoId equals comGrupo.comunicacaoId into COM from comGrupo in COM.DefaultIfEmpty() where (_descricao == null || String.IsNullOrEmpty(_descricao) || com.cabecalho.StartsWith(_descricao.Trim()) || com.resumo.StartsWith(_descricao.Trim()) || com.mensagemDetalhada.StartsWith(_descricao.Trim())) && comGrupo == null orderby com.dt_publicacao descending select new ComunicacaoViewModel { comunicacaoId = com.comunicacaoId, dt_comunicacao = com.dt_comunicacao, dt_publicacao = com.dt_publicacao, dt_expiracao = com.dt_expiracao, cabecalho = com.cabecalho, resumo = com.resumo, mensagemDetalhada = com.mensagemDetalhada, arq_imagem_300x200 = path + com.arq_imagem_300x200, arq_imagem_100x100 = path + com.arq_imagem_100x100, arq_imagem_400x300 = path + com.arq_imagem_400x300, grupoAssociadoId = comGrupo.grupoAssociadoId, PageSize = pageSize, TotalCount = (from com1 in db.Comunicacaos join comGrupo1 in db.ComunicacaoGrupos on com1.comunicacaoId equals comGrupo1.comunicacaoId into COM1 from comGrupo1 in COM1.DefaultIfEmpty() where (_descricao == null || String.IsNullOrEmpty(_descricao) || com1.cabecalho.StartsWith(_descricao.Trim()) || com1.resumo.StartsWith(_descricao.Trim()) || com1.mensagemDetalhada.StartsWith(_descricao.Trim())) && comGrupo1 == null select com1).Count() }).Skip((index ?? 0) * pageSize).Take(pageSize).ToList()); }
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); } } //} }
//Monitoring private void COM1_DataReceived(object sender, SerialDataReceivedEventArgs e) { Thread.Sleep(100); // important string from_bs_1_t = COM1.ReadExisting(); showdata(from_bs_1_t); }
// automatic running // /* private void pTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { string[] lines_sensor = System.IO.File.ReadAllLines(korea); int which_channel = 0; if (lines_sensor.Length != 0) { if (initial_changdu != lines_sensor.Length) { if (lines_sensor[lines_sensor.Length - 1].Contains("+")) { //eg:1+T-2-1 第一channel,第二个meter,关 string [] zhong = lines_sensor[lines_sensor.Length - 1].Split('+'); which_channel = Convert.ToInt32(zhong[0]); textBox12.Text = zhong[1]; if ((COM1.IsOpen) && (which_channel == 1)) { COM1.Write(zhong[1]); COM1.DiscardOutBuffer(); order_record(zhong[1]); } else if ((COM2.IsOpen) && (which_channel == 2)) { COM2.Write(zhong[1]); COM2.DiscardOutBuffer(); order_record_2(zhong[1]); } } } } GC.Collect(); initial_changdu = lines_sensor.Length; }
//关闭seriel通信// private void button3_Click(object sender, EventArgs e) { if (COM1.IsOpen) { COM1.Close(); progressBar1.Value = 0; } }
// control private void control1_Click(object sender, EventArgs e) { if (COM1.IsOpen) { string output; output = textBox3.Text; COM1.Write(output); textBox3.Text = ""; COM1.DiscardOutBuffer(); } }
// 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); }