Esempio n. 1
0
        public async Task 长连接主动开关()
        {
            client.Open();

            short Number = 33;

            client.Write("4", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("4", stationNumber).Value == Number);

            Number = 34;
            client.Write("4", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("4", stationNumber).Value == Number);

            Number = 1;
            client.Write("12", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("12", stationNumber).Value == 1);
            Number = 0;
            client.Write("12", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("12", stationNumber).Value == 0);

            client.Close();
        }
Esempio n. 2
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (but_open.Text == "连接")
     {
         client?.Close();
         client = new ModBusTcpClient(txt_ip.Text?.Trim(), int.Parse(txt_port.Text?.Trim()));
         if (client.Open())
         {
             but_open.Text   = "已连接";
             button3.Enabled = true;
             button4.Enabled = true;
             toolTip1.SetToolTip(but_open, "点击关闭连接");
         }
         else
         {
             MessageBox.Show("连接失败");
         }
     }
     else
     {
         client?.Close();
         but_open.Text = "连接";
         toolTip1.SetToolTip(but_open, "点击打开连接");
     }
 }
Esempio n. 3
0
 private void but_open_Click(object sender, EventArgs e)
 {
     try
     {
         client?.Close();
         client = new ModBusTcpClient(txt_ip.Text?.Trim(), int.Parse(txt_port.Text?.Trim()));
         var result = client.Open();
         if (result.IsSucceed)
         {
             but_read.Enabled     = true;
             but_write.Enabled    = true;
             but_open.Enabled     = false;
             but_close.Enabled    = true;
             but_sendData.Enabled = true;
             AppendText($"连接成功");
         }
         else
         {
             MessageBox.Show($"连接失败:{result.Err}");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Esempio n. 4
0
        private void but_sendData_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(txt_dataPackage.Text))
                {
                    MessageBox.Show("请输入要发送的报文");
                    return;
                }
                var dataPackageString = txt_dataPackage.Text.Replace(" ", "");
                if (dataPackageString.Length % 2 != 0)
                {
                    MessageBox.Show("请输入正确的的报文");
                    return;
                }

                var dataPackage = DataConvert.StringToByteArray(txt_dataPackage.Text?.Trim(), false);
                var msg         = client.SendPackage(dataPackage);
                AppendText($"[请求报文]{string.Join(" ", dataPackage.Select(t => t.ToString("X2")))}");
                AppendText($"[响应报文]{string.Join(" ", msg.Select(t => t.ToString("X2")))}\r\n");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                client.Close();
                client.Open();
            }
        }
        public async Task 长连接主动开关()
        {
            client.Open();

            short Number = 33;

            client.Write("4", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("4", stationNumber).Value == Number);

            Number = 34;
            client.Write("4", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("4", stationNumber).Value == Number);

            Number = 1;
            client.Write("12", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("12", stationNumber).Value == 1);

            Number = 0;
            client.Write("12", Number, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt16("12", stationNumber).Value == 0);

            int numberInt32 = -12;

            client.Write("4", numberInt32, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadInt32("4", stationNumber).Value == numberInt32);

            float numberFloat = 112;

            client.Write("4", numberFloat, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadFloat("4", stationNumber).Value == numberFloat);

            double numberDouble = 32;

            client.Write("4", numberDouble, stationNumber);
            await Task.Delay(500);

            Assert.True(client.ReadDouble("4", stationNumber).Value == numberDouble);

            client.Close();
        }
Esempio n. 6
0
 private void but_open_Click(object sender, EventArgs e)
 {
     client?.Close();
     client = new ModBusTcpClient(txt_ip.Text?.Trim(), int.Parse(txt_port.Text?.Trim()));
     if (client.Open())
     {
         button3.Enabled  = true;
         button4.Enabled  = true;
         but_open.Enabled = false;
         button5.Enabled  = true;
         txt_content.AppendText($"[{DateTime.Now.ToLongTimeString()}]连接成功\r\n");
     }
     else
     {
         MessageBox.Show("连接失败");
     }
 }