/// <summary>
        /// 开启生产线按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            robot1.Start();
            ModbusMasterTCP mm = new ModbusMasterTCP("192.168.0.2", 502);

            mm.Connect();
            mm.WriteSingleCoil(2, 0, true);
            try
            {
                while (mm.ReadCoils(2, 0, 1).First())
                {
                    //Application.DoEvents();//待定,空执行
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            mm.Disconnect();
            mm = new ModbusMasterTCP("192.168.0.3", 502);
            mm.Connect();
            mm.WriteSingleCoil((byte)3, 0, true);

            /*while (mm.ReadCoils(3, 0, 1).First())
             *  {
             *      //Application.DoEvents();//待定,空执行
             *  }*/
            mm.Disconnect();
        }
예제 #2
0
 private void button1_Click(object sender, EventArgs e)
 {
     // Read and write some registers on RTU n. 5
     mm.WriteSingleRegister(byte.Parse(textBox5.Text), 4, ushort.Parse(textBox2.Text));
     mm.WriteSingleCoil(byte.Parse(textBox5.Text), 2, checkBox1.Checked);
     textBox3.Text = mm.ReadHoldingRegisters(byte.Parse(textBox5.Text), 4, 1).First().ToString("D5");
     textBox4.Text = mm.ReadCoils(byte.Parse(textBox5.Text), 2, 1).First().ToString();
     // Exec the cicle each 2 seconds
 }