什么是ModBus通讯协议
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。
Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。Modbus比其他通信协议使用的更广泛的主要原因有:
1、公开发表并且无版权要求
2、易于部署和维护
3、对供应商来说,修改移动本地的比特或字节没有很多限制
Modbus允许多个 (大约240个) 设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和远程终端控制系统(RTU)。
扩展资料:
协议版本
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。
Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和计算。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
Modbus有一个扩展版本Modbus Plus(Modbus+或者MB+),不过此协议是Modicon专有的,和Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。
它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PCMCIA总线的板卡。
限制
1、Modbus是在1970年末为可编程逻辑控制器通信开发的,这些有限的数据类型在那个时代是可以被PLC理解的,大型二进制对象数据是不支持的。
2、对节点而言,没有一个标准的方法找到数据对象的描述信息,举个例子,确定一个寄存器数据是否表示一个介于30-175度之间的温度。
3、由于Modbus是一个主/从协议,没有办法要求设备“报告异常”(构建在以太网的TCP/IP协议之上,被称为open-mbus除外)- 主节点必须循环的询问每个节点设备,并查找数据中的变化。在带宽可能比较宝贵的应用中,这种方式在应用中消耗带宽和网络时间,例如在低速率的无线链路上。
4、Modbus在一个数据链路上只能处理247个地址,这种情况限制了可以连接到主控站点的设备数量(再一次指出以太网TCP/IP除外)
5、Modbus传输在远端通讯设备之间缓冲数据的方式进行,有对通信一定是连续的限制,避免了传输中的缓冲区漏洞的问题
6、Modbus协议自身提供针对未经授权的命令或截取数据没有安全性。
参考资料:百度百科-Modbus通讯协议
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
1、对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
2、对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和计算。
3、Modbus有一个扩展版本Modbus Plus(Modbus+或者MB+),不过此协议是Modicon专有的,和Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。
它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PMCIA总线的板卡。
对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
扩展资料:
其它通讯协议
1、RS-232通讯协议
RS-232是一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号通常。RS-232 接口以9个引脚 (DB-9) 或是25个引脚(DB-25) 的型态出现。
2、RS-485通讯协议
RS-485标准是在RS232的基础上发展来的,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
3、Ethernet通讯协议
以太网(Ethernet)指的是基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD技术,并以10M/S的速率运行在多种类型的电缆上。以太网与IEEE802.3系列标准相类似。
参考资料来源:百度百科-Modbus通讯协议
ModBus协议内容介绍
设备必须要有RTU协议!这是Modbus协议上规定的,且默认模式必须是RTU,ASCII作为选项。所以设备都有RTU协议,ASCII协议很少,Modbus协议,只需要了解RTU协议,ASCII作为学习的了解就足够了。
ModBus协议最基本的通信单位是帧,整个ModBus帧又被称之为应用数据单元(ADU),ADU中又包含了协议数据单元(PDU)用于传真正需要传输的数据。Modbus协议帧从上图可以看出:
帧结构 = 地址域 + 功能码 + 数据 + 差错校验
地址域:
占用一个字节,范围0-255,其中有效范围是1-247,其他有特殊用途,比如255是广播地址(广播地址就是应答所有地址,正常地需要两个设备的地址一样才能进行查询和回复)。每个终端设备的地址是唯一的,如果查询某个终端设备,必须包含该设备的地址。终端回应也会包含该地址,通过该地址,主机知道哪个终端在与自己进行通信。
功能码:
常用的功能码有01、05、03、06、16。一般占用一个字节,功能码的意义就是,知道这个指令是干啥的,比如你可以查询从机的数据,也可以修改数据,所以不同功能码对应不同功能。常用的功能码是03和06。
数据:
通信的主要内容,可能是数值、参考地址或者极限值。可能是终端执行特定功能所需要的数据或者终端响应查询时采集到的数据,根据功能码不同,有不同结构。
差错校验:
为了保证数据不错误,增加这个,然后把前面的数据进行计算看数据是否一致,如果一致,就说明这个数据是正确的,我再回复;如果不一样,说明你这个数据在传输的时候出了问题,数据不对的,所以就抛弃了。有时,由于电噪声和其它干扰,一组数据在从一个设备传输到另一个设备时在线路上可能会发生一些改变,出错校验能够保证主机或者终端不去响应那些传输过程中发生了改变的数据,这就提高了系统的安全性和效率,出错校验使用了16位循环冗余的方法。
Modbus是一种串行通信协议,广泛应用在工业控制系统中,许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。profinet也比较常用,协议不同会造成主从站无法通讯,只能中间加协议转换网关yt-pn-03进行协议转换。
Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。 更详细的介绍,请要网上找吧,到处都是。
modbus通信协议怎么用的?
ADPRW代表指令的使用 S代表从站的站号,例如要与1号站通信,S的位置就填写H1。S1是MODBUS的命令代码。S2是MODBUS软元件的地址。S3是设置从S2设置的MODBUS软元件地址开始的几个地址。S1如果使用写的命令代码,就代表从S2地址开始写入S3个地址;S1如果使用读的命令代码,就代表从S2地址开始读取S3个地址。...
profibus和modbus区别
profibus-DP与modbus的主要区别如下:1、主体不同--首先说modbus是一种串行通信协议,这种协议被广泛应用于工业领域,并且现在它也是工业电子设备之间常用的连接方式,而profibus-DP是用于设备级控制系统与分散式I\/O的通信协议。2、协议特点不同--profibus-DP通信协议主要用于现场设备级的高速数据传送,主站...
什么是Moubus RTU 通讯协议
Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS- 232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协 议作为他们之间的通讯标准。有了它...
modbus协议是否就是RS232或者RS485, 如果不是又有哪些区别
modbus协议和RS232或者RS485之间不是一回事。Modbus是通讯协议,而RS232、RS485只能代表通讯的物理介质层和链路层。Modbus协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。三者区别如下:1,Modbus 协议 :为更好地...
请问串口通讯和modbus通讯的区别是什么?
这两者不是一个类别的概念,串口通讯指的是两个设备之间通过485或232串口连接,在串口信道上实现数据通讯。modbus指的是一种工业标准的数据对话协议,对于保持寄存器,输入寄存器,输出寄存器,线圈寄存器等不同的寄存器数值的读写,均定义了专门的指令和数据交换规范。modbus协议需要在与modbus标准的工业设备...
标准modbus通讯协议有哪些?
Modbus 协议包括 ASCII、RTU、TCP 三种报文类型,可以使用串口传输数据和指令。结构图
一文看懂Modbus协议
自从 1979 年出现工业串行链路的事实标准以来,Modbus使成千上万的自动化设备能够通信。Modbus 是OSI模型第 7 层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机\/服务器通信。Modbus应用层协议和服务规范主要包含两类:一类是串行链路上的Modbus(Modbus 串行链路取决于TIA...
老板让我学modbus通讯协议,这到底是什么,怎么学?
控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询),其它设备(从设备)根据主设备查询提供的数据作出相应反应 。典型的Modbus消息帧结构 起始位 设备地址 功能码 数据区 校验位 停止位 网上资料很多,建议你结合DS18b20数字温度传感器学习,它使用的就是MODBUS协议 ...
Modbus和Profibus的区别
一、主体不同 1、modbus:是一种串行通信协议,是Modicon公司于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(Defacto),并且现在是工业电子设备之间常用的连接方式。2、Profibusrofibus-DP:具有高速低成本,用于设备级控制系统与分散式I\/O的通信协议。与...
modbus和485有什么区别呢?哪个好用呢?
modbus和485的区别是RS485是接线口,modbus是协议。他是建立在RS485是接线口的基础上进行通讯的。所以modbus离不开485,485也离不开MODBUS,前半部分说的基本正确,RS485是接线口与485也离不开MODBUS回答错误。RS485不不完全是接线口,它是一种电气标准,包含机械特性,电气特性等特点,可以找一些通信...
锁虏博尔: Modbus协议是应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信.它已经成为一通用工业标准.有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控...
金明区19461888329: 什么是“标准MODBUS协议”? ?
锁虏博尔: 什么是“标准MODBUS协议”?Modbus协议是应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以...
金明区19461888329: modbus协议是什么 - ?
锁虏博尔: Modbus 协议是应用于电子控制器上的一种通用语言.通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信.它已经成为一通用工业标准.有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控...
金明区19461888329: Modbus通讯协议的介绍 - ?
锁虏博尔: Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议.ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成.其系统结构既包括硬件、亦包括软件.它可应用于各种数据采集和过程监控.ModBus网络只有一个主机,所有通信都由他发出.网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定.采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务.
金明区19461888329: Modbus通讯协议和TCP/UDP协议有什么区别? - ?
锁虏博尔: Modbus通讯协议和TCP/UDP协议的区别: 1、Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议.通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信.Modbus协议使用的是主从通讯...
金明区19461888329: 什么是Moubus RTU 通讯协议 - ?
锁虏博尔: Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议.此协议支持传统的RS- 232、RS-422、RS-485和以太网设备.许多工业...
金明区19461888329: 各位做电能表的前辈们,请问什么是MODBUS啊,我有在百度上搜,但是我还是不太理解,客人要求的,该怎么回 - ?
锁虏博尔: MODBUS是一种通讯协议,工业上通常用于变频器与PLC之间的通讯
金明区19461888329: modbus协议中40001是什么意思? - ?
锁虏博尔: 在Modbus中,40001通常对应于保持寄存器(Holding Registers)的地址.Modbus是一种通信协议,被广泛用于工业自动化系统中.在Modbus通信中,设备被分为两类:主设备(Master)和从设备(Slave).主设备发出请求,从设备对请求...
金明区19461888329: MODBUS是什么意思,及其有什么功能?谢谢?
锁虏博尔: modbus是工业设备广泛使用的一个通讯协议,也就是两个设备之间传输数据的格式,要约定好格式对方才知道你发送的数据代表什么 要详细的Q280222540