MODBUS是使用广泛的协议,通讯测试时进行有使用。Modbus通讯分为主站和从站,使用RS485通讯时同一个网络内只能有一个主站,多个从站。使用TCP通讯时没有这方面的限制,可以同时支持多个主站的通讯读写。
开发测试时有各种复杂的需求,现有的仪器仪表实物搭建费时费力,可以用C#使用NMODBUS组件快速编写自己的从站仿真器,从而实现各种复杂场景的模拟。
编程思路:
创建通讯侦听端口、添加Modbus从站设备、定时改变数据。
主要实现代码如下:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using NModbus;
using System.Net.Sockets;
using System.Net;
using System.Linq;
namespace EasyModbusSlaveSimulator
{
public partial class Form1 : Form
{
private TcpListener modbusListener;
private byte CountSlave = 10;
private ushort CountRegisterMax =