C# 使用NModbus4進行TCP讀取,并且實現(xiàn)自動斷線重連文章來源地址http://www.zghlxwxcb.cn/news/detail-708389.html
//簡要版本
using Modbus.Device;
TcpClient tcp = new TcpClient();
private IModbusMaster master;
public ushort[] aa(ushort add, ushort length)
{
ushort[] a = null;
Task.Run(() =>
{
do
{
try
{
if (!tcp.Connected)
{
tcp.Connect("192.168.1.50", 502);
master = ModbusIpMaster.CreateIp(tcp);
}
a = master.ReadHoldingRegisters(1, add, length);
}
catch (Exception ex)
{
tcp.Close();
Thread.Sleep(10);
tcp = new TcpClient();
}
}
while (a == null);
}).Wait(100); // 超過100ms沒執(zhí)行完,就不等待了,可能是網(wǎng)線掉了,連接費時
return a;
}
//周期:500ms
private void timer1_Tick(object sender, EventArgs e)
{
ushort[] a = aa(1000, 4);
if (a != null)
label1.Text = a[0].ToString();
else
{
label1.Text = "xxxx";
num++;
label2.Text = num.ToString();
}
}
文章來源:http://www.zghlxwxcb.cn/news/detail-708389.html
到了這里,關(guān)于C# 使用NModbus4進行TCP讀取,并且實現(xiàn)自動斷線重連的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!