溫馨提示×

如何在C#中測試ModbusTCP通訊

c#
小樊
200
2024-07-19 14:56:41
欄目: 編程語言

在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庫。

0