/// <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(); }
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 }