c#使用Modbus TCP
c#使用Modbus TCP
在C#中,使用第三方庫(kù)來(lái)實(shí)現(xiàn)Modbus TCP通訊。其中比較常用的是EasyModbusTCP庫(kù)。
以下是使用EasyModbusTCP庫(kù)進(jìn)行Modbus TCP通訊的示例代碼:
首先需要安裝EasyModbusTCP庫(kù),可以通過NuGet包管理器來(lái)安裝。
1.創(chuàng)建一個(gè)ModbusClient對(duì)象,并設(shè)置連接參數(shù):
using EasyModbus;
// 創(chuàng)建ModbusClient對(duì)象
ModbusClient modbusClient = new ModbusClient();
// 設(shè)置連接參數(shù)
modbusClient.IPAddress = "192.168.1.100"; // 服務(wù)器IP地址
modbusClient.Port = 502; // 端口號(hào)
modbusClient.Connect(); // 建立連接
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2.讀取數(shù)據(jù):
// 讀取保持寄存器的數(shù)據(jù)
int[] registers = modbusClient.ReadHoldingRegisters(0, 10); // 從地址0開始讀取10個(gè)保持寄存器的數(shù)據(jù)
// 讀取輸入寄存器的數(shù)據(jù)
int[] inputRegisters = modbusClient.ReadInputRegisters(0, 10); // 從地址0開始讀取10個(gè)輸入寄存器的數(shù)據(jù)
- 1
- 2
- 3
- 4
- 5
3.寫入數(shù)據(jù):
復(fù)制代碼運(yùn)行
// 寫入保持寄存器的數(shù)據(jù)
modbusClient.WriteSingleRegister(0, 1234); // 將值1234寫入地址為0的保持寄存器
// 寫入多個(gè)保持寄存器的數(shù)據(jù)
int[] values = new int[] { 1, 2, 3, 4, 5 };
modbusClient.WriteMultipleRegisters(0, values); // 將數(shù)組values中的值寫入從地址0開始的連續(xù)5個(gè)保持寄存器
- 1
- 2
- 3
- 4
- 5
- 6
- 7
4.斷開連接:
modbusClient.Disconnect(); // 斷開連接
- 1

浙公網(wǎng)安備 33010602011771號(hào)