C# modbus tcp通讯防止断线

 public ModbusTcpNet busTcpClient= new ModbusTcpNet("ip", 502, 通讯地址);
 /// <summary>
 /// 建立连接
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public void ModbusConect(object sender, System.Timers.ElapsedEventArgs e)
 {
     Task.Factory.StartNew(async () => { 
     try
     {
         string ip = "IP";
         int port = Convert.ToInt32("502");
         bool IsEnable = false;
         busTcpClient = new ModbusTcpNet(ip, port, 0x01);
         OperateResult res = busTcpClient.ConnectServer();
         if (res.IsSuccess == true) //接收状态返回值
         {
             IsEnable = true;
             log.Info("上位机网络连接成功");
             //Main.main.textBox_log.Text += ("\r\n"+ "时间:" + DateTime.Now+"信息:上位机网络开启连接成功!" );
             Main.main.hslLanternSimple4.LanternBackground = Color.Green;
                                                                                                 
         }
         else
         {
             Main.main.hslLanternSimple4.LanternBackground = Color.Gray;
             log.Info("开启连接失败,尝试重连中");
             Main.main.textBox_log.Text += ("\r\n信息:开启连接失败,尝试重连中!" + "时间:" + DateTime.Now);
         }
         if (IsEnable)
         {
             //MessageBox.Show("请勿重复建立连接!");
             return;
         }
         else
         {
             Main.main.hslLanternSimple4.LanternBackground = Color.Gray;
             log.Info("上位机网络连接断开");
             Main.main.textBox_log.Text += ("\r\n信息:上位机网络连接断开!" + "时间:" + DateTime.Now);
         }

     }
     catch (Exception ex)
     {
         MessageBox.Show("开启连接失败通讯异常!", ex.Message.ToString());
     }
         await Task.Delay(1000);
     });

 }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值