在C#中測試ModbusTCP通訊,可以使用Modbus庫來幫助實現(xiàn)通訊功能。以下是一個簡單的示例代碼,用于測試ModbusTCP通訊:
using Modbus.Device;
using System;
using System.Net.Sockets;
namespace ModbusTCPTest
{
class Program
{
static void Main(string[] args)
{
try
{
TcpClient tcpClient = new TcpClient("192.168.1.1", 502); // IP地址為Modbus TCP服務(wù)器地址,端口號為默認(rèn)的Modbus TCP端口502
ModbusIpMaster master = ModbusIpMaster.CreateIp(tcpClient);
ushort startAddress = 0; // 寄存器起始地址
ushort numRegisters = 1; // 寄存器數(shù)量
ushort[] registers = master.ReadHoldingRegisters(startAddress, numRegisters); // 讀取保持寄存器
foreach (ushort reg in registers)
{
Console.WriteLine("Register Value: " + reg);
}
tcpClient.Close();
}
catch (Exception ex)
{
Console.WriteLine("An error occurred: " + ex.Message);
}
}
}
}
在此示例代碼中,我們首先創(chuàng)建了一個TcpClient對象,用于連接到Modbus TCP服務(wù)器。然后,我們使用ModbusIpMaster類來創(chuàng)建一個Modbus主站,通過調(diào)用ReadHoldingRegisters方法來讀取指定起始地址和數(shù)量的寄存器值。最后,我們關(guān)閉TcpClient連接,并在控制臺打印讀取到的寄存器值。
請注意,你需要將IP地址替換為你實際使用的Modbus TCP服務(wù)器地址,以及根據(jù)需要更改寄存器地址和數(shù)量。另外,確保在項目中引用了Modbus庫。