0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于Modbus协议的一些基础知识

唐先生 来源:NGI123 作者:NGI123 2022-04-15 09:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。

丨Modbus通信协议简介

Modbus协议,首先从字面理解它包括Mod和Bus两部分,首先它是一种bus,即总线协议,和I2C、SPI类似,总线就意味着有主机,有从机,这些设备在同一条总线上。

Modbus支持单主机,多个从机,最多支持247个从机设备。关于Mod,因为这种协议最早被用在PLC控制器中,准确的说是Modicon公司的PLC控制器,这也是Mod-Bus名称的由来。

后来Modicon被施耐德(Schneider)收购,Modbus协议广泛应用在工业控制器、HMI和传感器上,逐渐被其他厂商所接受,成为了一种主流的通讯协议,用于和外围设备进行通讯。

poYBAGJYzyqAeNcCAAG2QJ0OQKk637.png

Modbus在7层OSI参考模型中属于第七层应用层,数据链路层有两种:基于标准串口协议和TCP协议,物理层可使用3线232、2线485、4线422,或光纤、网线、无线等多种传输介质。

pYYBAGJYzzmAKl_JAAEiGD8DL1Q135.png

Modbus协议是一种请求/应答方式的交互过程,主机主动发起通讯请求,从机响应主机的请求,从机在没有收到主机的请求时,不会主动发送数据,从机之间不会进行通讯。

目前关于Modbus比较权威的官方标准文档有两个:

1.modbus_application_protocol_specification_v1.1b3.pdf

2.基于Modbus协议的工业自动化网络规范GB-T19582.1-2008.pdf

*大部分的书籍和网络资料都是翻译自这两篇文档,文末获取标准文档下载方法。

丨Modbus 通信协议特点

(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。

(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。

(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。

丨Modbus4种数据类型

Modbus协议规定,进行读写操作的数据类型,按照读写属性和类型可分为以下4种:

1.离散量输入(Discretes Input ):1位,只读

2.线圈(Coils):1位,读写

3.输入寄存器(Input Registers ):16位,只读

4.保持寄存器(Holding Registers):16位,读写

pYYBAGJYz16Aenv4AACoSyrBsiI222.png

丨Modbus协议版本

Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。

大多数Modbus设备通信通过串口EIA-485物理层进行。

对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。

对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和计算。

poYBAGJYz3OASouDAAEu-_cV5_w101.png

对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。

Modbus有一个扩展版本ModbusPlus(Modbus+或者MB+),不过此协议是Modicon专有的,和Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PMCIA总线的板卡。

所以当我们提及Modbus协议时,要确定是哪种模式,不同的模式之间区别还是很大的。

丨Modbus数据帧格式

首先我们要知道一帧正常的MODBUS数据帧包含的内容有:地址域 + 功能码 + 数据 + 差错校验,再者无论是上述哪种协议版本,Modbus帧格式都是一样的:

poYBAGJYz4qAU5g1AABZD4GbEzQ289.png

主要包括:

1.地址域:即主站要访问的从站地址,其范围0~247

2.功能码:即主站想要对从站进行何种操作。

3.数据:如果主站的请求是读数据,那么该“数据”要包含的信息有:从哪里开始读数据 + 读多少数据。如果主站的请求是向从站写数据,那么该“数据”要包含的信息有:从哪里开始写数据 + 写多少个字节数据 + 要写的具体数据。

4.差错校验:为了保证数据传输的正确性,Modbus协议会在数据帧最后面加上两个字节的差错校验。

丨Modbus功能码

Modbus功能码,是写在主机请求数据帧中的,决定主机进行读还是写操作,是读线圈、离散量还是寄存器,是写单个寄存器还是多个寄存器等等,决定主机请求什么类型的数据。

主要包括3类功能码:公共功能码、用户定义功能码和保留功能码

1.公共功能码

·是较好地被定义的功能码

·保证是唯一的

·MODBUS 组织可改变的

·公开证明的

·具有可用的一致性测试

·MB IETF RFC 中证明的

·包含已被定义的公共指配功能码和未来使用的未指配保留供功能码

2.用户定义功能码

·有两个用户定义功能码的定义范围, 即65至72和十进制100至110

·用户没有 MODBUS 组织的任何批准就可以选择和实现一个功能码

·不能保证被选功能码的使用是唯一的

·如果用户要重新设置功能作为一个公共功能码,那么用户必须启动 RFC,以便将改变引入公共分类中,并且指配一个新的公共功能码。

3.保留功能码

·一些公司对传统产品通常使用并且对公共使用是无效的功能码。

pYYBAGJYz6SAZFxxAADr6kuZoNI370.png

实际最常用的是公共功能码中的4个功能码:03/04/06/10

poYBAGJYz7mAPGosAAJ4lW7grS8618.png

0x03:读多个保持寄存器

0x04:读输入寄存器

0x06:写单个保持寄存器

0x10:写多个保持寄存器

因为PLC主要控制的是继电器触点,所以在PLC上还会经常对线圈(Coils)进行读写。这里需要特别注意的一点是:写保持寄存器,需要区分0x06写单个寄存器和0x10写多个寄存器,而读保持寄存器不区分读单个和读多个,当需要读单个保持寄存器时,也是使用0x03指令,指定读取数量为1。

以上就是关于Modbus协议的一些基础知识,如果您想要获取*Modbus权威的官方标准文档,可关注微信公众号【恩智测控NGI】,并在后台发送“Modbus协议”即可。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17638

    浏览量

    190222
  • 通信
    +关注

    关注

    18

    文章

    6316

    浏览量

    139553
  • ModBus协议
    +关注

    关注

    3

    文章

    189

    浏览量

    35036
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PROFIBUS转MODBUS协议转换网关:玻璃制造“智能熔炉”的数据纽带

    PROFIBUS转MODBUS协议转换网关:玻璃制造“智能熔炉”的数据纽带 在玻璃制造行业,熔化环节是决定产品质量与能耗的关键。玻璃熔炉需在1600℃左右的高温下运行,温度控制的精确度、物料熔融
    的头像 发表于 11-20 14:52 87次阅读
    PROFIBUS转<b class='flag-5'>MODBUS协议</b>转换网关:玻璃制造“智能熔炉”的数据纽带

    Modbus协议的深度剖析

    Modbus协议作为工业自动化领域最广泛应用的通信协议,其简洁高效的特性使其在工业控制系统中占据重要地位。本文将从协议的发展历程、技术架构、通信模式、安全机制以及未来演进等多个维度
    的头像 发表于 11-07 07:43 301次阅读
    <b class='flag-5'>Modbus协议</b>的深度剖析

    Modbus协议转HTTP协议,实现JSON格式对接MES等系统平台

    配置运行。 智能网关IGT-DSER集成了多种PLC的原厂协议,比如西门子S7、三菱MC、欧姆龙FINS,罗克韦尔CIP等,也支持通用的Modbus协议、OPCUA协议。本文是Modbus协议
    发表于 10-27 10:33

    迈向工业4.0的第步:从Modbus无线传输开始

    Modbus协议栈和无线通信模块组成,能够将设备的数据进行加密封装和解析输出。采用 RF超短波全数字加密的方式进行传输 。接收端模块接收到数据后,再将其还原为Modbus协议数据,供上位机或主控制器进行处理。 、通信
    的头像 发表于 09-22 11:34 302次阅读
    迈向工业4.0的第<b class='flag-5'>一</b>步:从<b class='flag-5'>Modbus</b>无线传输开始

    【RA4M2-SENSOR】—— 10.实现modbus从站协议

    modbus协议在工业控制领域有着广泛的应用,很多机器人控制和PLC伺服控制器都是使用modbus协议来通信的。 本次测评就是使用我自己实现的modbus slave从站协议来进行测试
    发表于 09-01 07:06

    Modbus协议总线控制在智慧工厂中的应用

    MODBUS
    北京开疆智能技术有限公司
    发布于 :2025年08月04日 17:37:30

    什么是Modbus TCP协议

    的TCP/IP协议栈,通过以太网进行通信,并支持多个设备同时访问同Modbus TCP服务器。 协议本质与设计目标 起源与定位
    的头像 发表于 07-23 17:18 3267次阅读
    什么是<b class='flag-5'>Modbus</b> TCP<b class='flag-5'>协议</b>

    Modbus协议转换:让工业设备轻松“对话”

    在工业自动化中,Modbus协议是设备通信的关键。本文将聚焦于Modbus协议的串口与网口转换需求,并通过ZLG致远电子PXB-6030D的案例,展示如何轻松实现协议转换。Modbus协议
    的头像 发表于 07-15 11:47 457次阅读
    <b class='flag-5'>Modbus协议</b>转换:让工业设备轻松“对话”

    大彩讲堂:VisualTFT软件modbus协议下的告警应用

    VisualTFT软件modbus协议下的告警应用
    的头像 发表于 07-01 17:40 962次阅读
    大彩讲堂:VisualTFT软件<b class='flag-5'>modbus协议</b>下的告警应用

    告别协议冲突!Modbus转Profinet助力风速风向仪无缝对接

    不同协议设备间的互联互通。 、VING微硬创新Modbus与Profinet协议特性分析 VING微硬创新Modbus协议
    发表于 05-19 15:47

    工业通信界“黑科技”来袭Modbus转Profinet,主打个 “泰酷辣”

    Modbus发挥了重要作用。比如在一些小型工厂的简单生产线中,通过VING微硬创新Modbus协议可以实现传感器、执行器与PLC之间的数据交换和基本控制功能 。 VING微硬创新Profinet
    发表于 05-19 15:44

    DLT645协议Modbus协议有什么区别

    DLT645协议Modbus协议的区别主要体现在协议定位、数据帧结构、操作类型与功能、适用场景等方面,以下为具体分析: 协议定位与适用领域 DLT645
    的头像 发表于 05-15 17:47 1342次阅读

    兴达易控modbus协议转换网关配置步骤

    Modbus协议转换网关作为工业自动化系统中的关键组件之,在实现不同设备之间的数据交换和协议转换方面发挥着重要作用。 通过选择合适的网关类型并进行合理的配置和使用说明指导,可以充分发挥其在
    的头像 发表于 03-16 16:07 680次阅读
    兴达易控<b class='flag-5'>modbus协议</b>转换网关配置步骤

    EtherCAT转modbus TCP借协议转换网关模块打通倍福PLC与上位机链路

    在智能工厂中,需要把EtherCAT 设备的数据发送到modbus协议的scada系统中。因为主要是modbus协议,EtherCAT设备不能直接接入到系统。EtherCAT协议内容非常复杂,所以
    的头像 发表于 03-01 11:06 760次阅读
    EtherCAT转<b class='flag-5'>modbus</b> TCP借<b class='flag-5'>协议</b>转换网关模块打通倍福PLC与上位机链路

    聊聊Modbus协议的短板:是时候寻求替代了吗?

    优点,而是 深入剖析并探讨Modbus协议在实际应用中可能遇到的一些不足之处 ,以期能更系统地理解这协议,并为未来的技术选型与优化提供参考依据。 1.数据读取限制 读个数据还得分批来
    的头像 发表于 02-26 17:01 708次阅读
    聊聊<b class='flag-5'>Modbus协议</b>的短板:是时候寻求替代了吗?