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

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

3天内不再提示

ModBus协议是什么以及作用

电子工程师 来源:张飞实战电子 作者:蔡琰老师 2021-08-13 15:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ModBus是什么?干什么用的?我们一起来了解下吧。

作为一些大型工业商,其实需要不同厂商提供的控制设备来组成一个工业网路,有了网络是不是需要监控啊?就像你的汽车一样,其实有一个总的控制系统在监控着油箱,行驶安全等等很多信息,所以才呈现给我们一个安全的驾驶体验。那么开发总的控制系统如果那么多的设备都各自有一套通信方案,开发难度可想而知了吧?这个时候就需要有一个标准了,那么这个modbus就是自动控制业界的标准,其实可以理解为我们交互的一个标准协议。这样对开发进度提升了,对通信安全提升了,还方便多个链路之间的通信,集中监控也更加方便了。

既然是通信的标准,也就是规范了通信的应用层。根据这个标准我们各自去进行工作就好了。

这个协议定义了一个控制器能认识的使用的消息结构,而不管是经过何种网络进行通信的。

我们看到网络中每种设备(PLC、HMI、控制面板、驱动程序、动作控制、输入/输出设备)都能使用modbus协议来启动远程操作。

通常我们在串行通信中用到modbus都是主从结构,总线上有一个主节点,一个或多个从节点。从节点地址是唯一的,通信模式是主节点发起请求,子节点没有收到来自主节点的请求时,从不会发送数据,子节点之间从不会互相通信。主节点在同一时刻只会发起一个modbus事物处理。

我们说到这种协议是主从协议模式,主节点可以广播给所有节点请求,这就是广播模式,这种模式就是从节点不需要应答,接收到处理就可以了,地址0是专门用于表示广播数据的。

还有一种是单播模式,就是主节点以特定地址访问子节点,子节点接到并处理完请求后,子节点向主节点返回一个应答。

那我们一起看下协议描述:

首先我们看两个概念,ADU:应用数据单元;PDU:协议数据单元。可以理解为PDU就是我们的应用层协议解析需要的。

其实简单来看就是这样的一个结构,地址域只针对于从节点而言,也有规定(0是广播地址,1~247是从节点地址,248-255预留)其实就是一个字节的分配了。

那么功能码就是指明要执行的动作。

功能码后面的数据域就很容易理解了,是表示含有请求和响应参数的数据域。数据域虽然给了长度范围,也可以是没有的,功能码就能代表操作了。

后面还有一个校验,就是做过通信的都知道校验是必须要的。否则怎么确保数据的正确性。

对于ADU的长度也是有限制的,最大ADU是256个字节,具体在什么物理层上通信对于PDU就有区别了,比如RS232/RS485 ADU = 地址域(1字节)+ PDU(253字节)+CRC(2字节)=256字节;还支持以太网口,也就是在TCP/IP协议层上封装了一层modbus协议,这样应用范围更广了。那么TCP MODBUS ADU = 249字节 + MBAP(7字节) =256字节。

到这里我们就可以知道了协议结构、协议模型、协议规则。简单来说就是主机是老大,它说了算,它想设置或者读取哪个从机,从机才能做出响应,所以说从机是被动的。当广播发送的时候无需应答,这就是定义的规则,有了规则做事就方便多了啊。

具体的还详细做了主机的处理模型,从机的处理模型,所有正常的和异常的处理都在规则里面了,是不是很贴心。基本上把逻辑关系都考虑到了,只要按照逻辑关系图去写程序就好了。那么对于解析而言,主要还是对于功能码和数据域的值了。也就是到了上层应用了。

对于串行传输还有两种模式,RTU模式和ASCII模式。

我们先来了解一下RTU模式

对于报文格式就是上面这样的,子节点收到信息先解析是否是自己节点,然后对校验做出比对处理。然后就是上层的功能码和数据的处理了。除了数据解析还有一个超时处理,总不能一直接收吧,有个超时的要求,两个字节之间间隔大于1.5个字符时间,报文帧就被认为不完整应该被接收节点丢弃。两帧数据之间也有时间间隔要求,最小间隔是3.5个字符时间。

这个模式也是我们在工业控制中通用的模式,协议紧凑。

还有一个ASCII模式

我们都知道ASCII码是一个字符一个字符发送的,也就是表示0-9,A-F;那么就是说一个字符表示四位二进制,也就是我们前面说的一个字节需要两个ASCII字符表示,所以这个相对RTU模式时序要求不高,自然应用场合也是有区别的。

跟RTU不同的是还增加了一个起始字符和结束字符,校验方式是LRC校验方式,校验不包含起始字符和结束字符的。对比而言,我们看到是一个字节由两个字符表示的。字符间隔最大可以达到1S,相对宽松。

结构清晰了,规则有了就是可以去解析了,主要还是对功能码和数据域的规则解析了,不同的功能码要处理什么功能的数据区,这个都是要根据规则去解析处理。

解析这种标准协议首先就是要分好层,逻辑关系要处理清楚,模块处理要结合实际应用映射关系,对于从节点有接收有应答,就是一个完整的闭环。你对modbus了解了吗?

责任编辑:haq

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

    关注

    2

    文章

    617

    浏览量

    40853
  • MODBUS
    +关注

    关注

    28

    文章

    2388

    浏览量

    82313

原文标题:白话文讲解ModBus协议

文章出处:【微信号:CanaanTech,微信公众号:嘉楠科技】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    Modbus协议的深度剖析

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

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

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

    【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服务器。 一、协议本质与设计目标 起源与定位 Modbus TCP是
    的头像 发表于 07-23 17:18 3384次阅读
    什么是<b class='flag-5'>Modbus</b> TCP<b class='flag-5'>协议</b>

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

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

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

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

    Modbus转Profinet网关:工控机的“逆袭神器”

    程度和生产效率。 Modbus与Profinet协议概述 Modbus协议 Modbus是一种串行通讯协议,它是工业领域通信
    发表于 05-20 16:50

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

    在工业自动化与物联网蓬勃发展的当下,风速风向仪作为环境监测与工业生产过程中的关键设备,其数据的实时准确传输对气象监测、风力发电、港口作业等领域至关重要。然而,风速风向仪常采用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 1379次阅读

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

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

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

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

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

    Modbus协议,作为工业物联网领域中的重要协议之一,以其显著的特点赢得了广泛的认可与应用。 然而,正如任何技术都有其局限性和改进空间一样,今天我们将打破常规,采取一种‘倒反天罡’的视角,不再专注其
    的头像 发表于 02-26 17:01 719次阅读
    聊聊<b class='flag-5'>Modbus协议</b>的短板:是时候寻求替代了吗?