收藏 分享(赏)

modbus基础知识.ppt

上传人:无敌 文档编号:1374093 上传时间:2018-07-06 格式:PPT 页数:39 大小:866KB
下载 相关 举报
modbus基础知识.ppt_第1页
第1页 / 共39页
modbus基础知识.ppt_第2页
第2页 / 共39页
modbus基础知识.ppt_第3页
第3页 / 共39页
modbus基础知识.ppt_第4页
第4页 / 共39页
modbus基础知识.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、MODBUS技术的基础知识 演讲者:北京交通大学 孙昕,主要内容,概述Modbus应用协议规范 Modbus协议在串行链路上的实现Modbus协议在TCP/IP上的实现,概 述,1979年Modicon公司(现Schneider 的一部分)提出的ModbusModbus最初作为工业串行链路的事实标准1997年Schneider电气在TCP/IP上实现Modbus协议 2004年Modbus作为我国国家标准,Modbus应用协议规范Modbus协议在串行链路上的实现指南Modbus协议在TCP/IP上的实现指南,Modbus技术规范组成,Modbus技术规范的关系,Modbus应用协议规范,Mo

2、dbus通信栈,Modbus是一种简单客户机/服务器应用协议客户机能够向服务器发送请求服务器分析请求,处理请求,向客户机发送应答,Modbus应用协议,通用Modbus帧结构协议数据单元 (PDU),Modbus是一个可选择部分使用的协议 服务器可执行部分Modbus协议Modbus由公共功能码和用户定义的功能码组成Modbus应用协议使用功能码列表读或写数据,或者在远程服务器上进行远程处理读/写寄存器列表,读/写比特列表诊断,标识,Modbus事务处理(无差错),当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)对于一个正常响应来说,服务器仅复制原

3、始功能码,Modbus事务处理(异常响应),SM6,对于异常响应,服务器将原始功能码的最高有效位设置逻辑1后返回 异常码指示差错类型,Modbus最初在串行链路上的实现(最大RS485ADU=256字节) 限制了Modbus PD的长度。 因此,对串行链路通信来说,Modbus PDU=256-服务器地址(1字节)-CRC(2字节)253字节。 从而: RS232 / RS485 ADU = 253字节+服务器地址(1字节) + CRC (2字节)= 256字节。 TCP Modbus ADU = 253字节+ MBAP (7字节) = 260字节。,Modbus PDU长度,Modbus P

4、DU结构,Modbus请求PDU mb_req_pdu = function_code, request_data , function_code - 1字节 Modbus功能码 request_data - n字节Modbus响应PDU mb_rsp_pdu = function_code, response_ data , function_code - 1字节 Modbus功能码 response_data - n字节Modbus异常响应PDU mb_excep_rsp_pdu = function_code, exception_code , function_code - 1字节 M

5、odbus功能码 + 0x80 exception_code 1字节,Modbus的数据模型是以一组具有不同特征的表为基础建立的四个基本表为:,Modbus 数据模型,Modbus公共功能码的定义,Modbus功能码应用实例(1),读线圈01 (0x01),请求,响应,*N寄存器的数量/8,如果余数不等于0,那么 N = N+1 错误,写多个寄存器16(0x10),请求,响应,*N寄存器数量错误,Modbus功能码应用实例(3),写多个寄存器16(0x10),请求,*N寄存器数量响应,错误,Modbus协议在串行链路上的实现,Modbus协议在串行链路上的实现模型,主要在RS-485和RS-2

6、32等物理接口上实现Modbus协议,串行链路上的Modbus帧结构,Modbus串行链路协议是一个主/从协议网络上的每个从站必须有唯一的地址(从1到247) 从站地址用于寻址从站设备,由主站发起地址0用于广播模式,不需要响应RS-485和RS-232 定义了标准的物理端口,提高互可操作性,Modbus串行传输模式 RTU模式,RTU Modbus串行传输模式的报文格式, CRC-16差错校验报文帧的标识字符之间的要求,Modbus串行传输模式 ASCII模式,报文必须以“:”开始报文必须以“LFCR”结束数据用十六进制ASCII码值表示使用LRC进行差错校验,Modbus协议在TCP/IP上

7、的实现,基于开放TCP/IP 的Modbus协议,Modbus协议是一个开发性协议 IANA已为 Modbus协议指配TCP / UDP 知名端口502Modbus协议是一个标准协议 IETF组织提议将Modbus协议作为因特网标准Modbus协议是自动化领域中广泛使用“实事”标准 以太网 (快速以太网)使用目前最流行的LAN技术IEEE 802.3中定义的以太网和以太网IITCP/IP模型描述因特网协议的组合,Modbus TCP/IP通信结构,Modbus TCP/IP的通信设备: 连接至TCP/IP网络的Modbus TCP/IP客户机和服务器设备 互连设备,如:在TCP/IP网络和串行

8、链路子网之间互连的网桥、 路由器或网关等设备,TCP/IP 上的Modbus 数据帧,通过TCP/IP栈传输 支持以太网II和IEEE 802.3帧,默认帧为以太网II帧以太网II是默认的 TCP/IP 网络帧格式,MBAP 报文头,Modbus报文传输服务结构,通信应用层,Modbus客户机 允许用户应用显性地控制与远程设备的信息交换。Modbus客户机根据用户应用向Modbus客户机接口发送的要求中所包含的参数来建立一个Modbus请求。Modbus客户机接口 Modbus客户机接口提供一个接口,使得用户应用能够生成各类Modbus服务的请求,该服务包括对Modbus应用对象的访问Modb

9、us服务器 在收到一个Modbus请求以后,模块激活一个本地操作进行读、写、或完成其他操作。,TCP管理层,管理通信的建立和结束以及管理在所建立的TCP连接上的数据流 。,连接管理 在客户机和服务器的Modbus模块之间的通信需要使用TCP连接管理模块,负责全面管理报文传输TCP连接访问控制 在某些至关重要的场合,必须禁止无关的主机对设备内部数据的访问。这既是需要的安全模式,也是在需要时实现安全处理的原因,TCP/IP栈层,可以对TCP/IP的栈进行参数配置,以适用对产品或系统的不同的特定约束进行数据流控制、地址管理和连接管理。使用BSD套接字接口来管理TCP连接,Modbus TCP/IP连

10、接建立,Modbus报文传输服务必须在502端口上提供一个监听套接字,允许接收新的连接和与其他设备交换数据当报文传输服务需要与远程服务器交换数据时,它必须与远程502端口建立一个新的客户机连接,以便于远距离地交换数据。本地端口必须高于1024,并且对每个客户机的连接各不相同,Modbus TCP/IP通信栈,TCP/IP栈提供了一个接口,用来管理连接、发送和接收数据,还可以进行某些参数配置,以使得栈的特性适应于设备或系统的限制,一、Modbus 协议简介,Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经

11、成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。,当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径

12、及错误检测的方法。 1、在Modbus网络上转输 标准的Modbus口是使用一RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。 控制器通信使用主从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发

13、送的数据、一错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。,2、在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。 在消息位,Modbus协议仍提供了主从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它

14、将建立一从设备回应格式并返回给发送的控制器。 3、查询回应周期,RS-232被定义为一种在低速率串行通讯中增加通讯距离的单端标准。 RS-232采取不平衡传输方式,即所谓单端通讯.收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚(信号地)的电平。 典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5+15V,负电平在-5-15V电平。当无数据传输时,线上为TTL,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。 接收器典型的工作电平在+3+12V与-3-12V。由于发送电平与接收电平的差

15、仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为37k。所以RS-232适合本地设备之间的通信。 RS-485与RS-232不一样,数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B,通常情况下,发送驱动器A、B之间的正电平在+2+6V,是一个逻辑状态,负电平在-26V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。 接收器也作与发送端相对的规定,收、发端通过平衡双绞线将AA与BB对应相连,当在收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV至6V之间。 Modbus协议分为modbus RTU ,modbus ASCII,modbus PLUS,其中modbus RTU 和modbus ASCII可运行在RS-485 和RS-232上,modbus协议主要定义的是软件规约,RS-485和RS-232定义的是硬件规约.,,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报