在C#中進行Modbus TCP網絡配置和管理通常需要使用第三方的Modbus TCP庫,例如NModbus庫。以下是一個簡單的示例代碼,用于創建一個Modbus TCP客戶端并進行連接和通信:
using System;
using System.Net;
using System.Net.Sockets;
using Modbus.Data;
using Modbus.Device;
using Modbus.Utility;
class Program
{
static void Main()
{
using (TcpClient client = new TcpClient("192.168.1.1", 502))
{
ModbusIpMaster master = ModbusIpMaster.CreateIp(client);
master.Transport.Retries = 3;
master.Transport.ReadTimeout = 1000;
master.Transport.WriteTimeout = 1000;
// 讀取保持寄存器的值
ushort startAddress = 0;
ushort numRegisters = 1;
ushort[] registers = master.ReadHoldingRegisters(1, startAddress, numRegisters);
Console.WriteLine($"Value of register 1: {registers[0]}");
}
}
}
在上述代碼中,首先創建了一個TcpClient對象并指定了Modbus TCP服務器的IP地址和端口(默認端口為502)。然后使用ModbusIpMaster類創建一個Modbus TCP主站對象,并設置了通信參數。接下來可以通過調用ReadHoldingRegisters方法來從Modbus設備中讀取數據。
除了讀取數據,還可以通過WriteSingleCoil、WriteSingleRegister等方法來寫入數據到Modbus設備。通過使用NModbus庫中提供的方法,可以方便地在C#中進行Modbus TCP網絡配置和管理。