C# Modbus TCP服务器示例可以用于建立一个基于Modbus TCP协议的服务器应用程序。以下是一个简单的代码示例:
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading.Tasks;
using EasyModbus;
class Program
static void Main(string[] args)
var server = new ModbusServer();
// Listen on port 502
server.Listen(502);
// Register some coils and holding registers
server.Coils[0] = true;
server.HoldingRegisters[0] = 123;
// Start the server loop
while (true)
server.AcceptTcpClient();
Task.Run(() => server.ModbusLoop());
在上面的例子中,我们使用了EasyModbus库,它是一个用于简单的Modbus通信的开源库。首先,我们创建了一个ModbusServer对象,并将其绑定到端口502上。然后,我们注册了一些线圈和保持寄存器的值。最后,我们进入了一个循环,用于等待连接并处理Modbus请求。
在循环中,我们先调用AcceptTcpClient()方法,它会阻塞当前线程,一直等待客户端连接。一旦有客户端连接,我们使用Task.Run()方法开启一个新的线程,来执行Modbus请求的处理。这里,我们调用了ModbusLoop()方法,它会一直循环监听客户端的Modbus请求,并做出相应的响应。
当然,实际的Modbus服务器应用程序需要更加复杂的逻辑和处理,例如通过数据库存储寄存器的值,或者对访问进行安全验证等等。但是上述代码可以作为一个简单的模板,让你开始构建自己的Modbus TCP服务器。