Modbus通讯协议简介

Modbus协议简介

  Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其他设备之间可以通信。它已成为一种通用的工业标准,有了它,不同厂商生产的控制设备可以练成工业网络,进行集中监控。

  此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一种控制器请求访问其他设备的过程,如果回应来自其他设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

  当在以Modbus网络上通信时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其他网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

  1、在Modbus网络上传输

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

  控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其他设备(从设备)根据主设备查询提供的数据做出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。

  主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。

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

  2、在其它类型网络上传输

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

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

  3、查询—回应周期

  

  (1)查询

  查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包括要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。

  (2)回应

  如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:象寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。

  参考:http://www.360doc.com/content/14/0120/10/7991404_346584755.shtml

时间: 2024-10-03 23:00:16

Modbus通讯协议简介的相关文章

MODBUS通讯协议及编程

MODBUS通讯协议及编程 单片机的modbus RTU的详细解释

Modbus通讯协议

<ignore_js_op> O1CN01P1wxTI1dCdw5nAeMO_!!85243700.jpg (287.43 KB, 下载次数: 0) 下载附件  保存到相册 2019-6-19 11:24 上传 Modbus通讯协议Modbus概述 Modbus是由Modicon公司(现为施耐德电气的一个品牌)在1978年发明的,这是一个跨时代.里程碑式的网络协议,因为工业网络从此拉开了序幕.    Modbus是全球第一个真正用于工业现场的总线协议,据不完全统计:截至到2004中,Modbu

modbus通讯协议详解

一.Modbus 协议简介  Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议.通过此协议,控制器相互之间.或控制器经由网络(如以太网)可以和其它设备之间进行通信.Modbus协议使用的是主从通讯技术,即由主设备主动查询和操作从设备.一般将主控设备方所使用的协议称为Modbus Master,从设备方使用的协议称为Modbus Slave.典型的主设备包括工控机和工业控制器等:典型的从设备如PLC可编程控制器等.Modbus通讯物理接口可以选用串口(包括RS232和RS485),

ModBus通讯注意事项

很多同学在做Modbus通讯时,需要连续读取多个现场设备的数据,虽然也编写了Modbus轮询的程序,但是有时还是无法正常通讯.有时虽然能够保证通讯,但是所有现场设备的轮询周期很长.本文将从MBUS_CTRL的超时时间参数设置来说明超时时间设置的重要性.答:Modbus通讯协议是单主多从的通讯协议,如果需要读取多个现场Modbus从站设备的数据时,很多PLC不支持对Modbus通讯功能块的自动排序,需要自己编写Modbus轮询程序来实现,轮询时每次只能激活一个Modbus的读写功能块.以常见的主站

XMPP协议简介

XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP).空间和即时信息协议(PRIM).针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE).      在这四种协议中,XMPP是最灵活的.XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性.因此,基于XMPP的应用具有超强的可

websocket通讯协议(10版本)简介

前言: 工作中用到了websocket 协议10版本的,英文的协议请看这里: http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10 这篇文章相当于工作的总结吧. 首先, 你需要简单了解一下为什么会诞生websocket通讯协议,web上的通讯一般都是基于HTTP(超文本传输协议)的通讯,故而没有建立长时间的网络连接的方法,一般的通讯都是这样子的: 请求 浏览器--------------------->服务器 <-

modbus协议显示屏|modbus通讯显示屏|modbus显示电子屏功能码实现代码分享

modbus协议显示屏|modbus通讯显示屏|modbus显示电子屏功能码实现代码分享,主要用来实现"预置多个寄存器功能码". MODBUS-RTU协议的"0X1F"功能码实物效果图拍摄如下: MODBUS-RTU协议的"0X1F"功能码示例如下: 例:请求在从机MODBUS显示屏设备17 中的2 个寄存器中放入预置值,起始寄存器为40002 ,预置值为00 0AH 和01 02H.QUERYField NameSlave AddressFun

融联云通讯的底层实现协议简介

本次主要给大家介绍一下融联云通讯的底层实现使用的一些协议和协议的简介: 融联云通讯就是我们常说的即时通讯,是一个非常不错的即时通讯SDK,使用简单,功能强大,效率高. 融联底层使用的是protocol buffer,传输层是TCP,媒体流是SIP,视频流是UDP 下面我来总结一下protocol buffer语言和TCP/SIP/UDP的三种协议的说明: protocol buffer: 1.概览 1.1 什么是protocol buffer protocol buffer是google的一个开

[00006]-[2015-08-17]-[00]-[ModBus RTU通讯协议实现思路]

公司目前所做产品都是基于ModBus-RTU通讯协议,最近一直在写触摸屏应用程序,多多少少也了解了触摸屏ModBus-RTU模块是如何工作的: [上位机] 采用CSerialPort类实现基本的串口通信,每当接收到一个字符时,向主程序发送消息,以提示接收处理,个人建议,应该定义一个ByteData_Queue用以接收发送过来的字符数据 由于ByteData_Queue有先进先出的特性,同时具备缓存特性,可以接受很多数据: 建立新的线程,用来处理接受到的数据,ReadByteData(&ByteD