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);
});
}
C# modbus tcp通讯防止断线
于 2024-08-30 10:53:19 首次发布