第二章:Modbus开发环境搭建

REDISANT 提供互联网与物联网开发测试套件 #


第二章:Modbus开发环境搭建 #

为了搭建开发环境,我们需要准备三款软件:

如下图所示,为了便于理解和调试Modbus,首推两个工具软件 Modbus从站模拟器Modbus主站模拟器 ,分别代表 Modbus 主站设备 和从站设备;为了在一台PC上通信和调试,另外需要安装虚拟串口软件 Visual Serial Port Driver(即VSPD),用于连接主站设备和从站。借助此3种软件的帮助,可以先在PC上做一些基础实验,直观地观察通信数据,这是个很好的入门方法。

以上软件仅用于学习和评估,安装测试完毕后请删除或者购买正版软件。

Virtual Serial Port Driver 是一款虚拟串口软件,允许用户去模拟多串口,支持所有的设置和信号线,仿佛操作真正的COM端口。通过操作虚拟串口对,写入到一个虚拟COM端口的数据可以从另外一个COM端口读取,可以通过此种方式实现在两个串口程序之间交换数据,如下图所示;而且可以随时创建多个虚拟端口对,所以不会有串行端口短缺的困扰,不需要额外的硬件挤占用户的办公桌。

虚拟串口软件使用 #

打开软件后,点击右侧的“Add pair”即可添加一对串口,只有主站和从站即可使用这一对串口进行通信。创建完成后,可以在左侧的Virtual ports看到这一对刚刚创建的窗口。之后就可以把软件关闭了。

Modbus从站模拟器使用 #

主要功能介绍 #

Modbus Slave Emulator 支持多种 Modbus 协议(RTU、ASCII、TCP/IP、UDP/IP、RUT Over TCP、RUT Over UDP);您可以同时创建多个连接,并将多个从站设备加入网络,快速搭建您的测试平台。

主要功能包括:

  • 支持多种Modbus协议,包括:
    • Modbus RTU
    • Modbus ASCII
    • Modbus TCP/IP
    • Modbus UDP/IP
    • Modbus RTU Over TCP/IP
    • Modbus RTU Over UDP/IP
  • 监视串行线路或以太网上的通信数据
  • 支持按照业务类型对寄存器进行分组管理
  • 您可以在“测试中心”编写并发送您自己的测试字符串,并以十六进制数字检查从站返回的结果。
  • 支持多达 28 种数据格式,包括:Signed、Unsigned、Hex、Binary、Long、Float、Double、String等
  • 支持 Modbus 协议地址和 PLC 地址相互切换
  • 对任意数量寄存器中的数据绘制实时图表,监控数据的变化趋势
  • 支持同时创建多个连接网络和大量主站设备
  • 通过多个标签页进行管理,快速在主站设备之间进行切换
  • 通过表格的形式管理寄存器,支持添加变量名和注释,支持切换背景与前景颜色
  • 导出/导入从站设备寄存器数据到Excel
  • 内置字节转换工具,方便将Long、Float、Double类型数据转换为寄存器中的数据
  • 内置数据校验工具,支持 CRC、LRC 校验
  • 对从站进行压力测试,以了解系统如何处理负载
  • 支持丰富的 Modbus 功能码:
    • 01 (0x01) 读取线圈
    • 02 (0x02) 读取离散输入
    • 03 (0x03) 读取保持寄存器
    • 04 (0x04) 读取输入寄存器
    • 05 (0x05) 写单个线圈
    • 06 (0x06) 写单个寄存器
    • 08 (0x08) 诊断(仅限串口)
    • 11 (0x0B) 获取通讯事件计数器(仅限串口)
    • 15 (0x0F) 写入多个线圈
    • 16 (0x10) 写入多个寄存器
    • 17 (0x11) 报告服务器 ID(仅限串口)
    • 22 (0x16) 掩码写入寄存器
    • 23 (0x17) 读/写多个寄存器
    • 43 / 14 (0x2B / 0x0E) 读取设备标识

使用方法 #

打开软件后,点击上方的“新建连接”,在新建连接窗口中,连接模式选择“Serial Port”,并选择刚刚创建的虚拟串口COM1,然后点击确定。

每次新建连接,它会为我们自动创建一个从站,并配置一些寄存器。默认创建10个保持寄存器,并分到名为“RegisterGroup1”的寄存器组里。双击该寄存器组,我们就能看到这10个寄存器了。在这里我们可以为每个寄存器命名,每个寄存器相当于一个变量,我们可以为它自定义变量名。比如第一个寄存器代表电压值,第二个寄存器代表电流值。最后,我们选中连接并点击上方的“打开连接”按钮,现在从站处于启动状态,可以接收主站的命令了。

我们编辑前两个寄存器,给它们赋值12和3。一会主站即可读取到这两个值。

Modbus主站模拟器使用 #

主要功能介绍 #

和从站类似;Modbus Master Emulator 支持多种 Modbus 协议(RTU、ASCII、TCP/IP、UDP/IP、RUT Over TCP、RUT Over UDP);您可以同时创建多个连接,监控多个Modbus从站寄存器,快速调试您的从站设备。

使用方法 #

与从站类似,这次还是点击“新建连接”按钮,端口号那里选择“COM2”。然后点击确定,即可创建一个新的连接。

每次新建连接,它会为我们自动创建一个从站,并配置一些寄存器。默认创建10个保持寄存器,并分到名为“RegisterGroup1”的寄存器组里。双击该寄存器组,我们就能看到这10个寄存器了。点击上方的“打开连接”按钮,即可开始与从站进行通信,软件默认定期读取从站的所有寄存器。这里我们可以看到刚刚在从站那里配置的10个寄存器的值。

软件其他功能这这一章里就不一一介绍了,将放到后续章节讲解mdobus功能码时结合报文进行介绍。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.redisant.cn