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

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

3天内不再提示

Modbus协议介绍

jf_03557382 来源:jf_03557382 作者:jf_03557382 2023-05-04 17:42 次阅读

1、Modbus 协议简介

Modbus 是开放标准的 RTU,该协议被认为是最普遍的通信协议,并且通常可以作为链接工程电子设备的一种手段来访问。详细地说,这是用于通过串行线路或以太网连接在电子设备之间进行信息传输的通信协议。在开放标准条件下,任何人都可以实施。这可能用于连接电源域使用SCADA中的RTU 进行控制的系统。

Modbus 的协议被明确定义为主从协议,这意味着作为主设备的工具将使一个或多个工具作为从设备。只能由主机(PC,HMI等)通过唯一从机地址发起请求,从机(终端设备)根据主机请求进行响应,即半双工通讯。该协议只允许主机发起请求,从机进行被动响应,因此从机不会主动占用通讯线路造成数据冲突。

2、Modbus 的通讯方式

2.1、Modbus三种通讯方式

Modbus有下列三种通信方式:

(1)、以太网:对应的通信模式是Modbus TCP/IP

(2)、异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等):对应的通信模式是Modbus RTU或Modbus ASCII

(3)、高速令牌传递网络:对应的通信模式是Modbus PLUS

Modbus RTU和Modbus ASCII协议应用于串口链接(RS232RS485RS422),Modbus tcp/ip协议应用于以太网链接。

2.2、在Modbus网络上传输

标准的Modbus口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。

控制器通信使用主/从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。

典型的主设备:主机和可编程仪表。

典型的从设备:可编程控制器。

主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。

Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。

从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。

2.3、在其它类型网络上转输

在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。

在消息位,Modbus协议仍提供了主/从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。

3、三种通讯方式的报文格式

Modbus协议的报文(或帧)的基本格式是:表头 + 功能码 + 数据区 + 校验码

功能码和数据区在不同类型的网络都是固定不变的,表头和校验码则因网络底层的实现方式不同而有所区别。表头包含了从站的地址,功能码告诉从站要执行何种功能,数据区是具体的信息。

对于不同类型的网络,Modbus的协议层实现是一样的,区别在于下层的实现方式,常见的有TCP/IP和串行通讯两种。

Modbus TCP基于以太网和TCP/IP协议,Modbus RTU和Modbus ASCII则是使用异步串行传输(通常是RS-232/422/485)。

3.1、以太网(modbus tcp/ip)

对于Modbus TCP而言,主站通常称为Client,从站称为Server;而对于Modbus RTU和Modbus ASCII来说,主站是Master,从站是Slave。

ModbusTCP的数据帧可分为两部分:ADU=MBAP+PDU = MBAP + 功能码 + 数据域,MBAP 7byte,功能码1byte,数据域不确定,由具体功能决定。

3.2、异步串行传输的两种传输方式(modbus RTU和modbus ASCII)

异步串行传输时,控制器可以设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。

3.2.1、ASCII模式

当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,在消息中的每个8Bit字节都作为两个ASCII字符发送。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。

代码系统:

  1. 十六进制,ASCII字符0...9,A...F
  2. 消息中的每个ASCII字符都是一个十六进制字符组成
  3. 每个字节的位:1个起始位、7个数据位(最小的有效位先发送)、1个奇偶校验位(无校验则无)、1个停止位(有校验时)、2个Bit(无校验时)
  4. 错误检测域:LRC(纵向冗长检测)

3.2.2、RTU模式

当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。

代码系统:

  1. 8位二进制,十六进制数0...9,A...F
  2. 消息中的每个8位域都是两个十六进制字符组成
  3. 每个字节的位:1个起始位、8个数据位(最小的有效位先发送)、1个奇偶校验位(无校验则无)、1个停止位(有校验时),2个Bit(无校验时)
  4. 错误检测域:CRC(循环冗长检测)

3.2.3、RTU和ASCII的区别

(1)、RTU模式下,一个字节的数据,传输的就是一个字节。ASCII模式下,同样一个字节数据用了两个字节来传输。例如,要传输数字0x5B,RTU传输的是0101 1011(二进制),而ASCII传输的是00110101和01000010。可见,ASCII传输的速率是RTU的一半。

(2)、ASCII模式采用LRC校验,RTU模式采用16位CRC校验。

(3)、ASCII有开始标记和结束标记,RTU没有。

帝晶串口屏满足您的所有尺寸需求

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

    关注

    3

    文章

    148

    浏览量

    33196
  • 串口协议
    +关注

    关注

    0

    文章

    13

    浏览量

    8045
  • 串口屏
    +关注

    关注

    8

    文章

    473

    浏览量

    36617
收藏 人收藏

    评论

    相关推荐

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

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

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

    Modbus协议是一种用于工业领域常见的通信协议,它基于主从结构,用于在不同设备之间实现数据交换。Modbus协议的功能码是决定数据交换类型和操作的重要部分。下面将详细介绍
    的头像 发表于 01-31 14:47 1484次阅读

    使用MODBUS协议的时候可以不用设置数据帧格式了吗?

    在使用MODBUS协议进行串口通讯时,通常需要设置数据帧格式。
    的头像 发表于 01-30 09:32 349次阅读

    modbus协议与485协议区别

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

    什么是Modbus协议

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

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

    Modbus协议是一种串行通信协议,最初是为PLC(可编程逻辑控制器)之间的通信而设计的。如今,Modbus协议在消防预警系统中应用广泛。它可以实现主从通信,主设备发送请求,从设备则根据请求做出响应
    发表于 01-02 19:34

    实例解析Modbus协议

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

    EtherCAT协议Modbus协议在风电领域

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

    modbus协议应用指南

    modbus协议
    发表于 12-04 09:45 1次下载

    怎么用MODBUS协议实现开关量采集与控制采集?

    怎么用MODBUS协议实现开关量采集与控制采集
    发表于 10-23 08:17

    modbus协议中的输入寄存器可以读写吗?

    modbus协议中的输入寄存器可以读写吗
    发表于 10-13 08:03

    MODBUS ASCII传输模式介绍

    前面2期我们学习了,第一篇MODBUS协议基本介绍,第二篇MODBUS RTU传输模式介绍,今天我们来研究第三篇MODBUS ASCII传输
    的头像 发表于 07-19 15:58 2181次阅读
    <b class='flag-5'>MODBUS</b> ASCII传输模式<b class='flag-5'>介绍</b>

    MODBUS RTU传输模式介绍

    上期我们学习了,第一篇MODBUS协议基本介绍,今天我们来研究第二篇MODBUS RTU传输模式介绍
    的头像 发表于 07-19 15:58 3105次阅读
    <b class='flag-5'>MODBUS</b> RTU传输模式<b class='flag-5'>介绍</b>

    MODBUS协议基本介绍

    Modbus 是由Modicon(现在的施耐德电气公司)在 1979 年发明的,是全球第一个真正用于工业现场的总线协议Modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过
    的头像 发表于 07-19 15:58 1240次阅读
    <b class='flag-5'>MODBUS协议</b>基本<b class='flag-5'>介绍</b>

    Modbus协议的理解

    系统的兼容,最好采用通用的通讯协议。   我们可以Modbus协议进行修改,使之能使用在自己的系统中。Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控
    发表于 05-05 16:47