在C#中實現ModbusTCP協議棧可以使用第三方庫,例如NModbus庫。NModbus是一個開源的Modbus協議庫,可以方便地在C#中實現ModbusTCP通信。以下是一個簡單的示例代碼,演示了如何使用NModbus庫進行ModbusTCP通信:
using System;
using System.Net;
using Modbus.Device;
// 創建ModbusTCP客戶端
TcpClient client = new TcpClient("192.168.1.1", 502);
// 創建ModbusTCP主站
ModbusIpMaster master = ModbusIpMaster.CreateIp(client);
// 讀取保持寄存器
ushort startAddress = 0;
ushort numRegisters = 1;
ushort[] registers = master.ReadHoldingRegisters(startAddress, numRegisters);
// 打印讀取結果
Console.WriteLine("Register value: " + registers[0]);
// 關閉客戶端連接
client.Close();
在這個示例中,我們首先創建了一個ModbusTCP客戶端,并指定了服務器的IP地址和端口號。然后創建了一個ModbusTCP主站,并使用ReadHoldingRegisters
方法讀取了一個保持寄存器的值。最后打印了讀取的結果,并關閉了客戶端連接。
通過使用NModbus庫,可以快速簡便地在C#中實現ModbusTCP通信。您可以根據實際需求,使用不同的方法和功能來完成更復雜的通信任務。