在C#中進行Modbus TCP網(wǎng)絡(luò)配置和管理通常需要使用第三方的Modbus TCP庫,例如NModbus庫。以下是一個簡單的示例代碼,用于創(chuàng)建一個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]}");
}
}
}
在上述代碼中,首先創(chuàng)建了一個TcpClient對象并指定了Modbus TCP服務(wù)器的IP地址和端口(默認端口為502)。然后使用ModbusIpMaster類創(chuàng)建一個Modbus TCP主站對象,并設(shè)置了通信參數(shù)。接下來可以通過調(diào)用ReadHoldingRegisters方法來從Modbus設(shè)備中讀取數(shù)據(jù)。
除了讀取數(shù)據(jù),還可以通過WriteSingleCoil、WriteSingleRegister等方法來寫入數(shù)據(jù)到Modbus設(shè)備。通過使用NModbus庫中提供的方法,可以方便地在C#中進行Modbus TCP網(wǎng)絡(luò)配置和管理。