高级Modbus RTU通信指南


在本文中,我们将解释与Modbus RTU通信相关的所有方面。 Modbus RTU与ASCII和Modbus RTU与TCP / IP有什么区别? 如何使用Modbus RTU监控软件测试Modbus RTU协议。

内容


  1. 什么是Modbus RTU协议?
  2. 如何使用Serial Port Monitor测试Modbus RTU
  3. Modbus RTU如何工作?
  4. Modbus RTU与TCP
  5. Modbus RTU与TCP

什么是Modbus RTU协议?


Modbus RTU协议是一种允许可编程逻辑控制器(PLC)和计算机之间进行数据交换的通信方式。 电子设备可以使用Modbus协议通过串行线路交换信息。

它已被广泛接受并广泛用于建筑 Building Management Systems (BMS) 和工业自动化系统 (IAS). 它的易用性,可靠性以及它是开源的,并且可以在任何设备或应用程序中免费使用。

该协议由Modicon®于1979年开发和发布,用于其可编程逻辑控制器。 它使用主/从架构构建,并支持使用RS232 / RS485 / RS422协议的串行设备。 Modbus通常用于多个仪器和控制设备将信号传输到中央控制器或系统以收集和分析数据的情况。 工业自动化和监督控制和数据采集 (SCADA) 系统通常采用Modbus协议。

Modbus RTU代表什么?


Modbus RTU(远程终端单元)是原始Modbus规范中定义的两种传输模式之一。 这两种模式是Modbus RTU和ASCII,它们都设计用于支持RS232,RS485和RS422协议的串行设备。 Modbus RTU的一个显着特点是它使用二进制编码和强大的CRC错误检查。 Modbus RTU是Modbus协议的实现,最常用于工业应用和自动化生产设施。

如何使用Serial Port Monitor测试Modbus RTU


在某些情况下,使用Modbus RTU测试仪非常有用。 如果你正在开发或 调试串行设备或应用程序, 您希望能够监视和分析设备和应用程序之间的数据传输。 Modbus RTU监控实用程序必不可少的另一个例子是,如果您负责维护自动化工业生产设施中的网络和相关设备。

Serial Port Monitor

Serial POrt Monitor是一种用于测试和调试Modbus RTU协议的高效软件.
Serial Port Monitor logo

Serial Port Monitor

记录和分析串行端口活动
4.8 等级 基于 41+ 用户, 评论(75)
下载 14天全功能试用
Serial Port Monitor

Serial Port Monitor 由Eltima是一款Modbus RTU软件。 它是一个全面的功能齐全的应用程序,可以监控和分析系统上的所有Modbus RTU接口活动。 任何支持RS232,RS485和RS422协议的设备都可以对其传输进行监控和分析,以协助调试或开发任务。

该软件工具设计灵活,用户友好,具有内置终端和数据导出功能。 它是诊断Windows环境中Modbus RTU通信问题的宝贵资源。 以下是串行端口监视器功能列表中的一些要点。

  • Modbus RTU活动分析. 此串行端口嗅探器可以打开任何串行端口,甚至是已经由另一个应用程序打开的串行端口,并立即开始监视通过该接口移动的所有活动。 通过实时数据收集,您可以快速跟踪问题。 可以将监视的数据重定向到文件或复制到剪贴板以用于以后的分析。
  • 同时监控多个串口。 使用此功能,您可以在同一监视会话中观察与多个端口或设备交互的应用程序。 捕获的数据以先进先出的方式呈现在中央日志文件中,以简化其分析。
  • 选择多个数据视图. 有四种视图可以单独使用,也可以同时使用。 它们是表格,行,转储和终端模式,它们可以提供对数据的不同洞察。 转储视图允许您调查端口设置,并且您可以使用监视筛选器来减少屏幕混乱并专注于重要的事件。
  • 仿真数据传输。 您可以以各种格式(如字符串,二进制,十进制和十六进制)将数据发送到串行设备,以监视串行设备对特定命令或数据字符串的反应。
  • 会话播放选项. 您可以重复传输到串行端口以获得更精确的监视信息。 可以相互比较会话,并自动突出显示差异以便于分析。
  • 以各种格式导出监控数据。 您可以将数据导出为HTML,ASCII文本,UNICODE文本或ExсelCSV格式的文件,并且可以将当前监视的数据附加到以前保存的文件中。
  • 用户友好的界面. Serial Port Monitor旨在允许访问串行端口和接口,而无需任何编程技能。 可以在应用程序的工具栏中轻松自定义用于控制显示数据的过滤器。
  • 跟踪输入/输出控制代码。 您可以使用获取所有串行输入/输出控制代码(IOCTL)的完整详细信息和参数Serial Port Monitor.

此Modbus RTU协议分析仪应位于任何与串行设备和Modbus协议广泛协作的人的工具箱中。 您可以在RTU或ASCII模式下使用它,使其成为一个多功能的软件实用程序。 它是一种有效的解决方案,允许您监视系统上的所有串行接口,而无需额外的硬件要求。 Eltima的Serial Port Monitor在Windows 10操作系统以及Windows Server 2012和2016上运行。

Modbus RTU如何工作?


Modbus协议基本上是一个处理来自电子设备的请求和响应的系统。 主/从体系结构与主设备一起使用,这些请求由从设备响应。

  • 什么是Modbus RTU主站?

Modbus RTU主站是从连接的从站设备请求信息的中央设备。 自动化生产系统中的中央控制器可以扮演Modbus RTU主站的角色。 Modbus实现有一个主服务器。 主设备从从设备获取信息,也可以写入从设备的寄存器。

  • 什么是Modbus RTU从站?

Modbus RTU从站是响应主设备请求的设备。 它无法启动信息传输,并且在响应主服务器发出的请求之前处于保持模式。

如上所述,Modbus RTU实现中有一个主设备,最多可以有247个从设备。 每个从设备由从地址1到247标识。

Modbus协议的核心是被称为的组件 协议数据单元 (PDU). PDU由功能代码和数据组成,无论使用何种Modbus传输模式,都可以一致地构建。 功能代码指定主站请求的数据。

在Modbus RTU传输模式中,附加信息包裹在PDU周围以创建完整的应用数据单元(ADU)。 在信号流中和功能代码之前,在Modbus RTU模式下,发送1字节的从ID以识别应满足请求的从设备。 附加到PDU的是2字节CRC,确保发送和接收正确数量的字节。

Modbus设备支持四个数据表,用于促进设备之间的通信。 它们是离散输入,离散输出(线圈),输入寄存器和保持寄存器。 寄存器执行不同的功能,并不是每个设备都包含在内。 在某些情况下,只有保持寄存器用于I / O功能。

领域 访问 尺寸 描述
离散输入
只读
1位
用作输入
线圈输出
读/写
1位
用于控制离散
输入寄存器
只读
16位
用于输入
持有寄存器
读/写
16位
用于各种事物,包括输入,输出,配置数据等。

功能代码指示主设备如何与从设备ID中指定的从设备进行交互。 根据发送的功能代码,主设备可以读取从机的一个寄存器,或写入它们。

当从站接收到包含请求中的错误的数据包时,它们会返回错误代码。 对于诸如非法功能请求,指定从站无法访问的非法寄存器地址以及指示从设备忙或已经发生故障的消息等问题,将返回错误代码。

Modbus RTU要求您在启动通信时知道或定义波特率,字符格式(8位无奇偶校验等)和从站ID等参数。 任何这些参数不匹配都会导致您的通信尝试失败。

Modbus RTU与TCP


Modbus RTU是Modbus协议中定义的原始传输模式之一。 Modbus TCP是最近开发的协议扩展,允许Modbus协议通过TCP / IP网络传输。 通过网络进行通信的固有延迟和其他方面,需要对如何保持请求和响应彼此同步进行一些修改,并确保不从从设备接收错误数据。

与Modbus RTU相比,Modbus TCP在PDU的包装方式上有所不同。 包含PDU的TCP帧以2字节的MODBUS应用协议(MBAP)事务标识符开始,而不是从ID。 当TCP层处理该功能时,也不需要CRC执行错误检查。

Modbus RTU与ASCII


由于它们都是原始Modbus协议规范的一部分,您可能想知道它们之间的区别 Modbus ASCII 和Modbus RTU. Modbus RTU采用二进制编码和CRC错误检查。 这些选择是为了提高效率而进行的,并且是RTU模式是工业环境中最常用的模式的主要原因。 您可能已经猜到,Modbus ASCII在发送消息时使用ASCII字符。

ASCII字符的使用使消息更易于阅读,但传输效率较低。 另一个主要区别在于执行的错误检查级别。 Modbus ASCII使用效率较低的LRC错误检查方法,而不是RTU模式的较强CRC。

虽然Modbus RTU和Modbus ASCII都设计用于串行设备和协议,但由于上述差异,它们彼此不兼容。 如果使用串行设备,则应准备好使用Modbus协议。

Serial Port Monitor

要求: Windows XP/2003/2008/Vista/7/8/10/Server 2012 , 9.16MB 大小
版本 7.0.342 (13.01.2018) 行说明
類別: CommunicationApplication