进行上位机程序调试, 还要调试变频器程序、传感器程序以及PLC程序, 要是没有实物设备的话, 是很难去测试通讯情况的。将Modbus Slave也就是从站模拟器, 与Modbus Poll主站模拟器搭配起来使用, 这样就不需要485转换器, 也不需要真实仪表, 在电脑本地就能够搭建出完整的Modbus TCP/RTU通讯环境, 它支持模拟线圈, 支持模拟输入寄存器, 支持模拟保持寄存器, 除此之外, 还能够生成递增的动态仿真数据, 能够生成随机的动态仿真数据, 也能够生成正弦的动态仿真数据。
一、Modbus Slave从站模拟的详细操作, 其中1.1项目是关于软件主界面的整体介绍。
界面被划分成, 顶部那种带有中文属性的菜单栏, 还有寄存器数据呈现的表格区域, 以及底部用于通讯状态展示的栏位;左侧则区分出, 被叫做线圈的、离散输入的、起到保持作用的寄存器、输入寄存器这四大点位, 底部会实时把通讯模式、从站地址、收发报文的数量显示出来。
置于顶部的菜单部分, 存在连接、设置、显示、数据、文件这五个具备中文特性的功能栏, 在其之间的表格区域, 有着寄存器地址、当前模拟值、数据属性这些内容, 处于底部位置的状态栏, 呈现出显示已连接 / 断开、TCP / 串口模式、从站 ID、通讯错误统计这些情况。
1.2 新建通讯连接(TCP 本地免硬件推荐)
操作步骤:
在顶部菜单栏那儿, 点击【连接】, 接着点击【连接…】, 之后会弹出配置窗口, 在这个配置窗口里, 通讯类型要选择【TCP/IP 服务器】, 这里本地仿真为首选方式, 而且不需要硬件, IP 地址是默认的 127.0.0.1, 端口固定为 502, 这是 Modbus 标准端口, 从站 ID 默认为 1, 主站 Poll 时要保持相同, 然后点击【确定】, 底部状态栏会提示 “已连接”, 至此 TCP 从站服务启动完成。
如果通讯类型选【串行端口】, 选设备管理器里的COM编号, 波特率设为9600, 数据位是8 , 校验无, 停止位为1, 填好从站ID对应编号后确认。
1.点击顶部菜单中的那个【设置】, 接着找到并点击【定义】, 如此方能打开点位配置窗口, 这是用于 3 寄存器点位定义的, 也就是要设置需要模拟的寄存器数量, 常用参数配置方面, 保持寄存器的起始地址是 0, 寄存器数量为 50, 其功能码包含读写、03/06/16 功能码, 输入寄存器的起始地址同样是 0, 数量是 30,功能码为只读、04 功能码, 线圈、离散输入则是需要按需勾选填写数量, 勾选需要仿真的寄存器类型后, 点击【确定】, 主界面就会自动生成对应地址表格。
1.鼠标双击任意寄存器「数值」单元格, 进行4设置动态模拟数据, 弹出【编辑寄存器】弹窗, 在值处输入初始值, 勾选底部自动增加, 点击确定, 该寄存器每秒自动 +1, 持续动态变化。
1.5 通讯报文监控与
顶部菜单那儿, 点击【显示】, 点完【显示】之后再点击【通讯】, 之后会弹出窗口, 这个窗口会实时展示主站下发的数据指令, 还会展示从站返回的十六进制报文, 接着要排查CRC方面是否有错, 还要排查地址是否报错, 最后得查看收发的原始报文。
1.6工程保存
最上方的菜单, 于其中点击【文件】, 接着再点击【保存】, 如此这般能够完成仿真配置的保存, 所保存的是带有后缀.mbs 的工程文件, 在下次开启的时候, 可直接去加载寄存器以及通讯参数。

二、关于Modbus Poll主站进行读取通讯的实际操作教程, 其中的2.1部分是Modbus Poll中文版作主要说明、表有顶部中文菜单包括其中的连接、设置、显示以及写入、文件这些选项, 还有核心数据表格涵盖里寄存器地址、实时读取值以及数据格式, 另外就是底部状态栏有着其中通讯状态、轮询发包次数、通讯错误计数。
2.其二, 连接Modbus Slave从站, 采取TCP本地互联方式。
操作步骤:
开启 Modbus Poll而后点击顶端之【连接】接着点击【连接…】 于通讯类型处选取【TCP/IP】;其中IP地址为127.0.0.1并且端口是502 同时将从站ID与, Slave都调整为1;随后敲击【确认】 底部呈现绿色之“已连接”;软件会自行循环读取来自从站寄存器的数据。
要是通讯类型选定为串行端口, 那么COM口、波特率、校验位以及从站ID, 都非得和Modbus Slave做到完全匹配才可。
2.就寄存器点位读取的配置(此配置需匹配从站地址范围)而言, 点击顶部的【设置】按钮, 接着点击【读 / 写定义】;对于功能码, 要依据具体需求进行切换选择: 起始地址填写为 0, 读取数量应与 Slave 所定义的寄存器数量保持一致(例如可为 50);轮询速率设定为 100ms(需注意数值越小则刷新速度越快);数据显示格式能够进行无符号整数、有符号整数以及 32 位浮点数之间的自由切换;最后点击确定, 接着表格会自动刷新从站仿真动态数据。
这里是需要留意的, 主站的数据类型得和从站的设置保持一致, 不然所呈现的数据搞不好会出现差错。
2.4 写入单个寄存器
轻点顶部的【功能】那个选项, 接着去往【写入单个寄存器】那里, 填好寄存器的地址, 再填入要写上的数值, 发送出去之后, Modbus Slave对应的点位就会同步更新了。
2.4 写入多个寄存器
点击顶部的【功能】, 接着选择【写入多个寄存器】, 这儿要填入起始地址, 还要填批量数值, 进而一次性修改连续多个寄存器, 之后发送, 随后 Modbus Slave 的对应点位会同步更新。
2.5 报文抓包
轻点顶部的【显示】, 接着选择【通讯】, 以此打开Poll通讯报文监控窗口 , 如此能实时瞅见完整的Modbus收发报文 , 进而定位通讯异常。