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

    文章

    602

    浏览量

    39211
  • MODBUS
    +关注

    关注

    28

    文章

    1796

    浏览量

    76939

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

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

收藏 人收藏

    评论

    相关推荐

    DJN Modbus协议

    DJN Modbus协议
    的头像 发表于 11-27 13:52 1090次阅读
    DJN <b class='flag-5'>Modbus协议</b>

    一文浅谈Modbus协议

    Modbus协议是一种广泛应用的工业控制器网络协议,它定义了一个控制器能够识别的消息结构,用于实现不同设备之间的通信和数据交换。自1979年由Modicon公司(现为施耐德电气Schneider
    的头像 发表于 10-09 13:56 359次阅读

    Modbus协议网关简介

    在工业自动化领域,设备间的通信与数据交换是实现高效、智能控制的关键。Modbus协议作为一种广泛应用的通信协议,自1971年由Modicon公司首次推出以来,便以其标准、开放、支持多种电气接口等特点
    的头像 发表于 09-23 14:51 230次阅读
    <b class='flag-5'>Modbus协议</b>网关简介

    Modbus、楼宇自控、电力协议Modbus协议网关BL120ML支持一键对接LabVIEW

    Modbus楼宇自控电力协议Modbus协议网关BL120ML在LabVIEW中的实际应用中,我们首先需要理解LabVIEW和Modbus协议转换网关的基本功能,
    的头像 发表于 08-10 10:40 395次阅读
    <b class='flag-5'>Modbus</b>、楼宇自控、电力<b class='flag-5'>协议</b>转<b class='flag-5'>Modbus协议</b>网关BL120ML支持一键对接LabVIEW

    使用MODBUS协议、楼宇自控系统、电力协议Modbus协议网关来集成楼宇内的温湿度传感器设备

    在现代建筑管理中,实现楼宇环境的自动化控制是降低能耗、增强管理效率的关键。本文将详细介绍如何使用MODBUS协议、楼宇自控系统、电力协议Modbus协议网关来集成楼宇内的温湿度传感器设备,并通过
    的头像 发表于 08-08 17:31 323次阅读
    使用<b class='flag-5'>MODBUS协议</b>、楼宇自控系统、电力<b class='flag-5'>协议</b>转<b class='flag-5'>Modbus协议</b>网关来集成楼宇内的温湿度传感器设备

    巴图自动化Profinet协议Modbus协议网关模块连接智能仪表与PLC通讯

    巴图自动化Profinet协议Modbus协议网关模块(BT-MDPN10)的主要功能是实现Modbus协议和Profinet协议之间的转换和通信。Profinet
    的头像 发表于 07-04 11:35 2659次阅读
    巴图自动化Profinet<b class='flag-5'>协议</b>转<b class='flag-5'>Modbus协议</b>网关模块连接智能仪表与PLC通讯

    Modbus协议转Profibus协议网关接温控表与PLC通讯

    Modbus协议转Profibus协议网关(XD-MDPB100)则是实现这一通讯的重要工具。Modbus转Profibus网关的主要功能是实现Modbus协议和Profibus
    的头像 发表于 06-21 11:31 1899次阅读
    <b class='flag-5'>Modbus协议</b>转Profibus<b class='flag-5'>协议</b>网关接温控表与PLC通讯

    Modbus协议的工作原理、优缺点及应用

    在当今工业物联网(IIoT)的浪潮中,Modbus协议无疑是连接传统工业设备与现代信息技术的桥梁。作为一位工业物联网的资深工程师,我深感有责任向传统行业解释这一重要协议的工作原理、优缺点以及广泛
    的头像 发表于 05-21 17:06 1355次阅读
    <b class='flag-5'>Modbus协议</b>的工作原理、优缺点及应用

    Modbus协议网关是什么?Modbus协议网关的功能

    Modbus协议网关是一种专门用于工业自动化环境中的网络设备,其主要功能是实现不同通信协议之间的转换,尤其是将基于Modbus协议的设备或系统与使用其他协议的设备、控制系统或信息系统连
    的头像 发表于 04-11 15:51 731次阅读

    modbus协议功能码分类 modbus协议功能码是什么,有什么作用

    的分类及其作用Modbus协议功能码分类: Modbus协议定义了一系列的功能码,每个功能码都代表不同的请求类型和操作。根据Modbus规范,功能码可以分为以下几类: 读功能码(0
    的头像 发表于 01-31 14:47 6980次阅读

    modbus协议与485协议区别

    Modbus协议与485协议是工业通信领域中常用的两种协议,它们在不同的层面上具有不同的功能和设计理念。本文将对Modbus协议与485协议
    的头像 发表于 01-11 11:06 2.1w次阅读

    什么是Modbus协议

    Modbus协议是一种在工业自动化领域广泛应用的通信协议,它允许不同设备之间进行可靠的数据交换和控制。该协议最初由Modicon公司于1979年创建,旨在提供一种简单而有效的方法,使PLC(可编程
    的头像 发表于 01-09 08:00 928次阅读
    什么是<b class='flag-5'>Modbus协议</b>?

    在消防预警系统中Modbus协议和EthernetIP协议都发挥着重要的作用

    Modbus协议则在其中发挥着关键的作用。它们能够将火灾探测器、烟雾浓度传感器、温度传感器等设备的数据进行采集和传输,确保消防控制中心能够实时掌握火场情况,做出准确的判断和决策。 此外,这些协议还支持远程监控
    发表于 01-02 19:34

    实例解析Modbus协议

    Modbus协议是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是
    发表于 12-25 09:33 1544次阅读
    实例解析<b class='flag-5'>Modbus协议</b>

    EtherCAT协议Modbus协议在风电领域

    Modbus协议还可以与其他工业自动化协议进行集成,例如Ethernet/IP、Profinet等,以实现更高效和可靠的数据传输和控制。在风电领域,EtherCAT协议Modbus协议
    的头像 发表于 12-22 15:03 576次阅读
    EtherCAT<b class='flag-5'>协议</b>和<b class='flag-5'>Modbus协议</b>在风电领域