Ejemplo n.º 1
0
 private void Form1_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (COM1.IsOpen)
     {
         COM1.Close();
     }
 }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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);
                }
            }

            //}
        }
Ejemplo n.º 5
0
        //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);
        }
Ejemplo n.º 6
0
        // 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;
        }
Ejemplo n.º 7
0
 //关闭seriel通信//
 private void button3_Click(object sender, EventArgs e)
 {
     if (COM1.IsOpen)
     {
         COM1.Close();
         progressBar1.Value = 0;
     }
 }
Ejemplo n.º 8
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();
     }
 }
Ejemplo n.º 9
0
 // 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);
     }
 }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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 = " Не полдключен ";
            }
        }
Ejemplo n.º 12
0
        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";
                }
            }
        }
Ejemplo n.º 13
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);
        }