用 C# 程序包 NModbus3078 写一个 modbus tcp server的例子并给地址1赋值
以下是使用 NModbus3.0.78 编写的 Modbus TCP Server 的示例代码,其中给地址1赋值为12345:
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using NModbus;
namespace ModbusServerExample
{
class Program
{
static void Main(string[] args)
{
// 创建 Modbus TCP Server
var server = new TcpListener(IPAddress.Any, 502);
server.Start();
Console.WriteLine("Modbus TCP Server started.");
using (var modbusFactory = new ModbusFactory())
{
// 创建 Modbus TCP Slave
var slave = modbusFactory.CreateSlaveTcpConnection(new TcpClient(), server);
slave.Listen();
// 设置地址1的初始值为0
ushort address1Value = 0;
while (true)
{
// 进行 Modbus 数据的处理
var dataStore = slave.DataStore;
// 读取地址1的值
var currentValue = dataStore.HoldingRegisters[1];
// 如果地址1的值发生改变,则输出新的值
if (currentValue != address1Value)
{
address1Value = currentValue;
Console.WriteLine("Address 1 value changed to: " + address1Value);
}
// 给地址1赋值为12345
dataStore.HoldingRegisters[1] = 12345;
// 等待一段时间
Thread.Sleep(1000);
}
}
}
}
}
请确保已经通过 NuGet 安装了 NModbus3.0.78 包,然后使用上述代码创建并运行 Modbus TCP Server
原文地址: https://www.cveoy.top/t/topic/hyBs 著作权归作者所有。请勿转载和采集!