苏州稳联科技
内容banner
物联网边缘计算网关新闻资讯

提供物联网边缘计算网关、PLC网关、智能网关产品讯息

联系我们
您的当前位置: 首页 > 新闻中心 > 产品新闻>

什么是Modbus TCP

发布时间:2022-09-26 22:17:54 作者:小编 浏览:

Modbus TCP 将 Modbus RTU 请求和响应数据包封装在通过标准以太网传输的 TCP 数据包中。单元号仍然包括在内,其解释因应用而异——单元或从地址不是 TCP 中的主要寻址方式。这里最重要的地址是 IP 地址,例如 192.168.1.100。Modbus TCP 的标准端口是 502,但如果需要,通常可以重新分配端口号。

通常在 RTU 数据包末尾找到的校验和字段从 TCP 数据包中省略。在 Modbus TCP 的情况下,校验和和错误处理由以太网处理。

Modbus 的 TCP 版本遵循 OSI 网络参考模型。Modbus TCP 定义了 OSI 模型中的表示层和应用层。

Modbus TCP 使主从的定义不那么明显,因为以太网允许对等通信。客户端和服务器的定义是基于以太网的网络中更为人所知的实体。在这种情况下,slave 成为服务器,master 成为客户端。可以有多个客户端从服务器获取数据。在 Modbus 术语中,这意味着可以有多个主站和多个从站。与逐个设备地在物理设备上定义主设备和从设备不同,现在系统设计人员有责任在主设备和从设备功能之间创建逻辑关联。Modbus RTU

什么是 Modbus ASCII?

Modbus ASCII 是一种较旧的实现,它包含 RTU 数据包的所有元素,但完全用可打印的 ASCII 字符表示。Modbus ASCII 被认为已弃用,不再使用,并且不包含在正式的 Modbus 协议规范中。

Modbus 寄存器类型回顾

Modbus 设备中引用的寄存器类型包括:

• 线圈(离散输出)

• 离散输入(或状态输入)

• 输入寄存器

• 保持寄存器


特定设备是否包括所有这些寄存器类型取决于制造商。发现所有 I/O 仅映射到保持寄存器是很常见的。线圈是 1 位寄存器,用于控制离散输出,可以读取或写入。离散输入是用作输入的 1 位寄存器,只能读取。输入寄存器是用于输入的 16 位寄存器,只能读取。保持寄存器是最通用的 16 位寄存器,可读取或写入,可用于多种用途,包括输入、输出、配置数据或“保持”数据的任何要求。

当网关是主控时,或在直接模式下(Babel Buster SP-GW)运行时,Control Solutions 网关将支持所有寄存器类型。将非 Modbus 设备连接到 Modbus 网络的控制解决方案网关在某些情况下将仅使用保持寄存器来表示非 Modbus 设备数据。

大多数控制解决方案 I/O 设备对所有类型的输入和输出都使用保持寄存器。在大多数情况下,相同的 I/O 也可以像其他寄存器类型一样访问,I/O 状态或值被镜像到多个寄存器中。

Modbus 功能代码回顾

Modbus 协议定义了几个访问 Modbus 寄存器的功能码。Modbus 定义了四种不同的数据块,每个数据块中的地址或寄存器编号重叠。因此,一个完整的定义在哪里可以找到一条数据需要地址(或寄存器号)和功能代码(或寄存器类型)。

Modbus 设备最常识别的功能码如下表所示。这只是可用代码的一个子集 - 一些代码具有通常不适用的特殊应用。


审查 Modbus 异常(错误)代码

当 Modbus 从站识别到一个数据包,但确定请求中有错误时,它将返回异常代码回复而不是数据回复。异常回复由从机地址或单元号、设置高位的功能代码副本和异常代码组成。例如功能码为3,异常回复中的功能码为0x83。异常代码将是以下之一:

image.png

我从哪里开始与我的 Modbus 设备进行通信?

以下是您需要了解的前几件事:


(1) 物理连接是什么?


Modbus RTU 使用 RS-485 或 RS-232。Modbus TCP 使用以太网。如果您正在寻找控制解决方案网关,则需要选择与您要连接的设备的电气接口相匹配的型号。如果您选择的是 Control Solutions I/O 设备,请选择与您的网络匹配的设备。


(2) 寄存器是如何映射的?


当使用网关将 Modbus 设备连接到非 Modbus 网络时,您需要从设备制造商处获取描述可用寄存器以及如何寻址它们的文档。Modbus 协议不提供寄存器自动识别自己的方法。Control Solutions 无法为您确定此信息。您必须咨询设备制造商。


使用 Control Solutions I/O 设备(例如 AddMe III)时,您可以在设备随附的在线帮助文件或我们的网站上找到此信息。


(3) 什么是通讯参数?


Modbus RTU 要求您知道或定义波特率、字符格式(8 位无奇偶校验等)和从站 ID(也称为从站地址、单元编号、单元 ID)。其中任何一个不匹配都将导致无法通信。


Modbus TCP 要求您知道或定义网络上的 IP 地址。在某些情况下,您还需要单位 ID。控制解决方案 Modbus TCP 设备可以使用单元 ID,也可以忽略它,具体取决于设备和应用程序。


点击了解modbus RTU和modbusTCP的区别

相关新闻: (什么是Modbus TCP和Modbus RTU)