在C#中實現ModbusTCP客戶端,可以使用第三方的庫來幫助簡化開發流程。一個常用的庫是NModbus,它提供了一個簡單易用的API來與ModbusTCP設備進行通信。
以下是一個簡單的示例代碼,演示如何使用NModbus庫來實現ModbusTCP客戶端:
using Modbus.Device;
using System;
using System.Net.Sockets;
namespace ModbusClient
{
class Program
{
static void Main(string[] args)
{
TcpClient client = new TcpClient("127.0.0.1", 502); // 連接到ModbusTCP服務器
ModbusIpMaster master = ModbusIpMaster.CreateIp(client);
ushort startAddress = 0; // 起始地址
ushort numRegisters = 1; // 寄存器數量
// 讀取保持寄存器的值
ushort[] registers = master.ReadHoldingRegisters(1, startAddress, numRegisters);
// 打印讀取的值
foreach (ushort value in registers)
{
Console.WriteLine("Value: " + value);
}
client.Close(); // 關閉連接
}
}
}
在這個示例中,我們首先創建一個TcpClient對象來連接到ModbusTCP服務器。然后創建一個ModbusIpMaster對象,用來執行ModbusTCP請求。接著指定要讀取的寄存器的起始地址和數量,并調用ReadHoldingRegisters方法來讀取寄存器的值。最后打印讀取的值并關閉連接。
請注意,這只是一個簡單的示例代碼,實際情況下可能需要根據具體的ModbusTCP設備和通信需求來調整代碼。建議查閱NModbus庫的文檔以了解更多詳細信息和示例代碼。