コード例 #1
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);
            }
        }
コード例 #2
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);
                }
            }

            //}
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: IDIMTANZANIA/Local_UI_1st
 // 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);
     }
 }
コード例 #4
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);
            }
        }
コード例 #5
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 = " Не полдключен ";
            }
        }
コード例 #6
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";
                }
            }
        }
コード例 #7
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);
        }