ModbusTCP 是一種基于 TCP/IP 網絡通信的協議,用于在工業自動化領域進行設備之間的數據交換。在 C# 中,你可以使用第三方庫來實現 ModbusTCP 通信。一個流行的庫是 NModbus。以下是如何使用 NModbus 庫實現 ModbusTCP 通信的步驟:
首先,確保你已經安裝了 NModbus 庫。如果沒有,請在 NuGet 包管理器中搜索并安裝 NModbus。
創建一個新的 C# 項目,或者在現有項目中添加 NModbus 庫。
導入必要的命名空間:
using NModbus;
using System;
IModbusSerialClient modbusClient = new ModbusTcpClient("127.0.0.1"); // 替換為你的 Modbus 服務器 IP 地址
modbusClient.Transport.Timeout = TimeSpan.FromMilliseconds(1000); // 設置超時時間
modbusClient.Transport.DataBits = 8; // 設置數據位
modbusClient.Transport.Parity = Parity.None; // 設置奇偶校驗
modbusClient.Transport.StopBits = StopBits.One; // 設置停止位
modbusClient.Transport.Handshake = Handshake.None; // 設置握手模式
ReadHoldingRegisters
方法讀取寄存器數據:int[] holdingRegisters = modbusClient.ReadHoldingRegisters(address, count); // address 是寄存器地址,count 是要讀取的寄存器數量
WriteMultipleRegisters
方法寫入寄存器數據:modbusClient.WriteMultipleRegisters(address, values); // address 是寄存器地址,values 是要寫入的值數組
modbusClient.Dispose();
這是一個簡單的示例,展示了如何使用 NModbus 庫實現 ModbusTCP 通信。你可以根據自己的需求修改代碼以滿足特定的應用場景。