Modbus协议学习第一篇之基础概念

发布时间:2024年01月13日

什么是“协议”

? ? ? ? 大白话解释:协议是用来正确传递消息数据而设立的一种规则。传递消息的双方(两台计算机)在通信时遵循同一种协议,即可理解彼此传递的消息数据。

Modbus协议模型

? ? ? ? Modbus协议模型较为简单,使用一种称为应用数据单元ADU(Application Data Unit)的模型,而应用数据单元模型ADU又由地址域+PDU+校验域组成。

? ? ? ? 地址域:设备的地址标识。

? ? ? ? PDU:协议数据单元(Modbus协议模型的核心),由功能码+数据组成。

? ? ? ? 校验域:用于检查传输的数据是否准确(数据在链路中传输有可能会失真,如0变1,1变0,接收端可通过校验域来检查是否有失真的情况)

? ? ? ? 具体协议模型如图所示:

Modbus协议运行机制

? ? ? ? Modbus协议的通信双方一般被称之为主机设备(客户端)和从机设备(服务端,提供数据)。主机设备创建Modbus应用数据单元ADU形成查询报文,其中的功能码是指向从机设备表明将要执行哪种操作,比如读数据等。功能码占用一个字节,有效的范围为1-255(其中128-255为异常响应保留)。查询报文创建完毕,主机设备向从机设备发送报文,从机设备接收到该报文,根据功能码来执行相应操作,并将响应报文返回给主机设备,如图所示(响应正常情况)。

专业术语

? ? ? ? 常用专业术语如下:

????????Master:主设备

? ? ? ? Slave:从设备

? ? ? ? Client:客户端

? ? ? ? Server:服务端

? ? ? ? ADU:应用数据单元(Application Data Unit)

? ? ? ? PDU:协议数据单元(Protocol Data Unit)

? ? ? ? MSB:最高有效位(Most Significant Bit)

? ? ? ? LSB:最低有效位(Least Significant Bit)

? ? ? ? MBAP:Modbus应用协议(ModBus Application Protocol)

? ? ? ? PLC:可编程逻辑控制器(Programmable Logic Controller)

写在最后

? ? ? ? 因工作需要而接触Modbus,正在恶补知识,利用博客的方式来加深理解和记忆,同时希望同行大佬能一起交流。

文章来源:https://blog.csdn.net/hzf978742221/article/details/135532995
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。