《数据通信6.ppt》由会员分享,可在线阅读,更多相关《数据通信6.ppt(55页珍藏版)》请在三一办公上搜索。
1、数据通信与网络技术第6章 测控数据通信协议,6 测控数据通信协议,Industrial Protocol for Instrumentation(测量、仪器)and Control(控制),6 测控数据通信协议,6.1 OSI/RM和简化的OSI模型6.2 ASCII命令协议6.3 Modbus协议6.4 HART协议,6.1 OSI/RM和简化的OSI模型,国际标准化组织ISO于1977年提出了一个试图使各种计算机在世界范围内互连成网的标准框架,这就是著名的开放系统互联参考模型OSI/RM(Open System Interconnection/Reference Model),简称为OSI
2、,从而形成了网络体系结构的国际标准,使得任何两个遵守OSI协议的系统可以相互连接。OSI参考模型将数据传输过程分解为一系列功能元素,把相关的功能组合在一起称为层,每一层完成一项通信子功能,并且下层为上层提供服务。分层结构具有易于理解和灵活的特点,更重要的是,OSI模型使得不兼容系统之间的通信是透明的。,6.1 OSI/RM和简化的OSI模型,6.1 OSI/RM和简化的OSI模型,6.1 OSI/RM和简化的OSI模型,OSI参考模型由七层组成,从下至上分别为:物理层、数据链路层、网络层、传输层、会话层、表示层及应用层。在传送一组数据(报文)时,要经过第7至2层的封装,到第2层形成的信息整体称
3、为帧(Frame)。所谓封装实际上就是在原始数据上附加报头H或报尾T,一般在第7、6、5、4、3、2层上加报头,第2层上加报尾。封装后的信息由物理层放到通信线路上传输。在接收过程中分别去除报头与报尾,最后获得所需数据。上页图中L3L7表示相应层的数据,H7H2代表相应层上附加的报头,T2为第2层上附加的报尾。,6.1 OSI/RM和简化的OSI模型,1物理层 物理层用来提供通信设备的机械特性、电气特性、功能特性和过程特性,并在物理线路上传输数据位流。如规定“1”与“0”的电平值,1位数据的宽度,连接器引脚数及其含义,数据收发的时序等等。物理层标准的例子有RS-232C,RS-422/485等。
4、物理层所关心的内容主要包括:(1)线路结构。两个或多个设备是如何实现物理相连的?线路是共享还是独占?(2)数据传送方式。两设备间是单向传递还是双向传递?(3)网络拓扑结构。网络设备是如何布局的?设备间直接传递数据还是要通过中间设备?(4)信号及编码。用什么信号传送信息?0与1如何表示的?(5)介质。用什么介质传送数据?,6.1 OSI/RM和简化的OSI模型,2.链路层 链路层负责将被传送的数据按帧结构格式化,从一个站无差错地传送到下一个站。该层从第3层接收数据,加上报头与报尾形成数据帧,其中包含地址及其他控制信息。,6.1 OSI/RM和简化的OSI模型,2.链路层链路层的主要作用是:(1)
5、节点至节点的数据发送。(2)地址功能。报头与报尾中含有当前站与下一站的物理地址,保证使数据从发送站经过中间站到达目的站。(3)存取控制。当两个以上设备连在同一条线路上时,链路层协议负责确定某时间段内哪一个设备获得线路控制权。(4)流量控制。调节数据通信流量。(5)差错控制。具有检错与纠错功能,当发现传输错误时,一般是要求重新发送完整信息。(6)同步。报头中的同步信息向接收端表明数据已经到来,同时还可以使接收端调整接收时钟;报尾包含差错控制位及指示数据帧结束的位。数据链路层协议的例子有高级数据链路控制协议(HLDC)及逻辑链路控制协议(LLC)等。,6.1 OSI/RM和简化的OSI模型,3网络
6、层 网络层负责将数据通过多种网络从源地址发送到目的地址,并负责多路径下的路径选择和拥挤控制。网络层提供两种相关服务,即线路交换和路由。交换是指将物理线路暂时接通,就像用电话通话一样。通过交换使发送站与接收站直接接通进行数据传递。路由是指在多个路径方案中选择最佳路径,如速度、造价、可靠性等。每个数据块可能选择不同的路径,在达到目的站后重新组装成完整的数据。网络层添加的报头中包含数据包源地址与目的地址的信息。这些地址与数据链路层中的地址是不同的,前者是当前站与下一个要经过站的物理地址,传输过程中是不断改变的,网络层中的地址是逻辑地址,在传输过程中是不变的。,6.1 OSI/RM和简化的OSI模型,
7、4传输层 传输层负责源端到目的端完整数据的传送,在这一点上与网络层是有区别的,网络层只负责数据包的传送,它并不关心数据包之间的关系。计算机通常是多任务的,同时有若干个程序在运行。因此,源地址到目的地址的数据发送不仅仅是从一个计算机发送到另一个计算机上,而应是从一个计算机的应用程序发送到另一个计算机的应用程序上。传输层的数据头中包含了服务点(端口地址或套接字地址)的信息。也就是说,网络层负责把数据包传送到正确的计算机,而传输层则是把完整的数据传送到计算机的应用程序上。,6.1 OSI/RM和简化的OSI模型,当传输层从会话层接到数据后,将其分解为适合传输的数据段,在数据头中标明数据段的顺序,以便
8、目的站的数据恢复。为了提高安全性,传输层可以建立源站与目的站之间的“连接”。所谓“连接”是一个连接源站与目的站的逻辑通路,一个信息中的所有数据段都从这一通路通过,此时传输层还要考虑更多的顺序控制、流量控制、差错控制等。,6.1 OSI/RM和简化的OSI模型,5会话层 会话层为网络的会话控制器,负责通信设备间交互作用的建立、维护与同步,同时还负责每一会话的正常关闭,即不会造成会话的突然中断。例如,一用户需要发送长度为200页的文件,但当发送到52页时突然中断。这时有两种处理方法:一种方法是取消本次传送,重新建立会话并从第1页开始新一次发送;另一种方法是将大的会话分割成若干子会话,如每10页为一
9、个子会话,当重新建立会话后,则从第51页开始新一次发送。会话层中采用后一种方法。会话层通过在会话中插入校验点的方法将其划分为子会话,这样可保证当出现故障时不用从头开始。根据不同传输任务的要求,校验点可能非常重要,也可能根本不用。,6.1 OSI/RM和简化的OSI模型,6表示层 表示层使数据格式不同的设备之间可以进行通信,如设备分别采用不同的编码,表示层具有代码翻译功能,使设备间能够互相理解。表示层还负责数据的加密、解密、压缩、解压等功能。表示层的数据头包含传输类型、参数及长度等信息。,6.1 OSI/RM和简化的OSI模型,7应用层 应用层是面向用户的,为用户程序(或进程)提供访问OSI环境
10、的服务,例如通信服务、虚拟终端服务、网络文件传送、网络设备管理等。该层还具有相应的管理功能,支持分布应用的通用机制,解决数据传输完整性问题或收/发设备的速度匹配问题。,6.1 OSI/RM和简化的OSI模型,根据上述介绍,我们可以得出信息在OSI中各层传递过程特点为:物理层面向“位”,链路层面向“帧”,网络层面向“信息包”,而在传输层则是以“报文”为单位,一个报文可分为几个信息包向下传递。一般分类是低四层负责用户数据的透明传输,高三层对数据进行分析、转换和利用。,6.1 OSI/RM和简化的OSI模型,分层模型的主要优点在于便于结构化设计的实现、修改和扩充。开放系统互连OSI不是网络协议标准,
11、它仅仅是为协议标准提供了一种主体结构,供各种协议标准选择。其中选用最多的是物理层和数据链路层,其他各层按需要选用,并把第3层及其以上各层称为高层。例如,目前应用的局域网络只选用了物理层和数据链路层,其余统称为高层。在测控数据通信中,考虑到实时性、传输速度等问题,通信协议一般只采用OSI模型中的1、2和7层(即物理、数据链路和应用层),这就是简化的OSI模型。,6.1 OSI/RM和简化的OSI模型,6.2 ASCII命令协议,应用场合:分布式数据采集与控制系统,6.2 ASCII命令协议,优点:简单、易于实现缺点:速度较慢、不适合在采集速度要求高和测控节点较多的条件下使用、没有普遍接受的国际标
12、准应用举例:窑炉温度分布式数据采集系统、ADAM4000系列数据采集模块物理层:RS-232C或RS-485,6.2 ASCII命令协议,RSM-4017隔离模拟量输入模块采集模拟量输入信号。RSM-4017模块具有8路模拟量差分输入通道,各通道测量范围可独立设置。模块还具有2路的数字量输出,既可用于指示模块输入通道状态也可由用户自行控制。,6.2 ASCII命令协议,系统参数CPU:32位RISC ARM 操作系统:c/os-II实时操作系统 单电源供电,供电电压10V30V DC电源过压、过流、反接保护 隔离耐压:2500Vdc 工业级塑料外壳,标准DIN导轨安装RS-485总线隔离接口,
13、支持Modbus协议和自定义的ASCII命令协议,6.2 ASCII命令协议,协议结构 主从式通信;主机命令/从机响应;命令/响应举例,6.2 ASCII命令协议,$:命令起始符 1:从机地址(站号)RD:读【CR】:命令结束符(回车)*:响应起始符+:数值正负 数值:5位整数、小数点后2位【CR】:命令结束符(回车),6.2 ASCII命令协议,#:命令起始符 1:从机地址(站号)RD:读 EA:校验和【CR】:命令结束符(回车)*:响应起始符 1:返回从机地址(站号)+:数值正负 数值:5位整数、小数点后2位【CR】:命令结束符(回车),6.2 ASCII命令协议,错误处理?:接收端错误指
14、示符,6.3 Modbus协议,Modbus通信协议由Modicon公司(现施耐德)开发 主要应用于过程控制系统(Process Control System)本身没有限定物理层接口标准 用户可根据具体需求选择RS-232C、RS-485/422或20mA电流环、以太网等物理层接口 已经成为事实上(de factor)的工业标准 我国的工业数据通信标准(2004):基于Modbus协议的工业自动化网络规范GB/Z1958.1(.2)-2004 Modbus、Modbus Plus、Modbus/TCP等,6.3 Modbus协议,Modbus协议,无定义,主/从传输模式(RTU或 ASCII)
15、,物理接口定义(RS-485/232)两线制或四线制,Modbus与OSI,6.3 Modbus协议,物理层,2种标准的电气接口,6.3 Modbus协议,RS-485两线制,6.3 Modbus协议,RS-232接口,6.3 Modbus协议,数据链路层-主从通信,数据请求,由主站发起数据通讯,主 站,数据响应,1至247个从站,6.3 Modbus协议,数据链路层-数据帧结构,功能码,地址,数据,CRC 或 LRC,从站地址 0:广播模式 1 至 247:非广播模式中的从站地址,数据操作模式1 至 247,操作数据 功能码定义操作模式,校验RTUCRCASCIILRC,6.3 Modbus
16、协议,数据链路层-数据帧结构,协议数据单元(Protocol Data Unit)应用数据单元(Application Data Unit),6.3 Modbus协议,数据链路层-通信过程,Modbus通信过程(无差错),Master Slave,6.3 Modbus协议,数据链路层-通信过程,主 站,从 站,6.3 Modbus协议,数据链路层-广播模式,地址 1,地址 2,地址 3,地址 4,地址 5,地址 n,所有从站无需响应,6.3 Modbus协议,数据链路层-寻址模式,地址 1,地址 2,地址 3,地址 4,地址 5,地址 n,6.3 Modbus协议,数据链路层,Modbus在数
17、据链路层上分为2种:Modbus-RTU,结构紧凑、效率高,用于实际测控 ModbusASCII,易于理解,用于通信测试 数据帧结构是基本相同的,区别在于帧的数据格式上:RTU采用2个4-bits16进制数 ASCII采用8-bits的ASCII字符 如功能码02,RTU表示为02H,00000010B ASCII表示为30H+32H 帧头和帧尾的表示也不同 数据帧的差错检验方法不同(ASCIILRC,RTUCRC),6.3 Modbus协议,数据链路层-RTU帧格式,(*):空闲时间至少为3.5个字符传输时间,帧与帧之间的时间间隔要求,帧内字符(含起始、停止、校验位)之间的时间间隔要求,6.
18、3 Modbus协议,数据链路层-ASCII帧格式,6.3 Modbus协议,数据链路层-数据编码,每个字符由11个位进行编码编码示例:含奇偶校验,编码示例:无奇偶校验,6.3 Modbus协议,数据链路层-差错控制,2种类型的差错检测,6.3 Modbus协议,应用层Modbus命令,PLC(Programmable Logic Controller)简介 开关量输入、开关量输出,模拟量输入、模拟量输出,6.3 Modbus协议,应用层Modbus命令,常用的功能码(16进制)01 读开关量输出 读取1路或多路开关量输出的状态数据 02 读开关量输入 读取1路或多路开关量输入的状态数据 03
19、 读寄存器数据 读取1个或多个寄存器的数据 04 写开关量输出 控制1路输出的开/合 05 写单路寄存器 将1组2进制数据写入单个寄存器 10 写多路寄存器 将多组2进制数据写入多个寄存器,6.3 Modbus协议,应用层Modbus命令,Modbus功能码的定义,6.3 Modbus协议,应用层Modbus命令,Modbus的地址和功能码(十进制数),6.3 Modbus协议,应用层Modbus命令,Modbus命令/响应举例-1读输出线圈000A(十进制00011)和B十进制00012)的状态,返回值说明2个线圈均为ON,6.3 Modbus协议,应用层Modbus命令,Modbus命令/
20、响应举例-2读开关量输入点10001和10002的状态,返回值说明10001为断开,10002为接通,6.4 HART协议 概 述,4-20mADC模拟信号+数字控制信号(FSK技术),支持双绞线全数字通信,可构成15个站网络 采用OSI开放体系结构的1、2、7层,6.4 HART协议 简化的通信模型,HART命令,HART链路层协议规范,Bell 202,6.4 HART协议 物理层,基于Bell 202 通信标准的FSK技术,基本内容:波特率 1200bps 速度较慢 逻辑1 1200HZ 逻辑0 2400HZ,6.4 HART协议 数据链路层,1bit起始位+8bit数据+1bit奇偶校验位+1bit停止位,最多 25 字节,规定通信数据的结构,每个字符由11位组成:,6.4 HART协议 应 用,