温馨提示×

如何在C#中测试ModbusTCP通讯

c#
小樊
138
2024-07-19 14:56:41
栏目: 编程语言

在C#中测试ModbusTCP通讯,可以使用Modbus库来帮助实现通讯功能。以下是一个简单的示例代码,用于测试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服务器地址,端口号为默认的Modbus TCP端口502
                ModbusIpMaster master = ModbusIpMaster.CreateIp(tcpClient);

                ushort startAddress = 0; // 寄存器起始地址
                ushort numRegisters = 1; // 寄存器数量
                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);
            }
        }
    }
}

在此示例代码中,我们首先创建了一个TcpClient对象,用于连接到Modbus TCP服务器。然后,我们使用ModbusIpMaster类来创建一个Modbus主站,通过调用ReadHoldingRegisters方法来读取指定起始地址和数量的寄存器值。最后,我们关闭TcpClient连接,并在控制台打印读取到的寄存器值。

请注意,你需要将IP地址替换为你实际使用的Modbus TCP服务器地址,以及根据需要更改寄存器地址和数量。另外,确保在项目中引用了Modbus库。

0