以下是使用 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

用 C# 程序包 NModbus3078 写一个 modbus tcp server的例子并给地址1赋值

原文地址: https://www.cveoy.top/t/topic/hyBs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录