using System;
using System.Net.Sockets;
using System.Threading.Tasks;
using Modbus.Data;
using Modbus.Device;
class Program
{
static async Task Main(string[] args)
{
string ipAddress = “192.168.80.22”;
int port = 10051; // Modbus TCP默认端口号
// 创建Modbus TCP客户端
using (TcpClient client = new TcpClient(ipAddress, port))
using (ModbusIpMaster master = ModbusIpMaster.CreateIp(client))
{
// 设置读取的起始地址和数量
ushort startAddress = 300;
ushort numberOfPoints = 20; // 读取300-320共计21个寄存器的值
try
{
// 读取输入寄存器的值
ushort[] inputRegisters = master.ReadInputRegisters(1,startAddress, numberOfPoints);
// 输出读取到的输入寄存器的值
Console.WriteLine("Read Input Registers:");
for (int i = 0; i < inputRegisters.Length; i++)
{
Console.WriteLine($"Register {startAddress + i}: {inputRegisters[i]}");
}
}
catch (Exception ex)
{
Console.WriteLine($"Error reading input registers: {ex.Message}");
}
}
}
}