03 应用层功能及协议
- 格式:ppt
- 大小:2.52 MB
- 文档页数:42


DNP3.0规约介绍
一、 DNP3。0规约体系结构
1、总体介绍
DNP3.0规约是加拿大HARRIS公司在1993年七月开始起草制定的、基于 IEC 870-5标准的增强型体系结构的网络分布式协议。DNP3.0使用的参考模型源于的ISO-OSI参考模型。ISO-OSI(国际标准化组织开放系统互连)模型规定了七层网络协议。由于控制领域要求在有限的传输带宽下要求特别短的反映时间,所以国际电工委员会(IEC)规定了一个简化了的模型只包含有物理,数据链路与应用层,称之为性能加强了的体系结构(EPA)。 如下图
应用层 应用层
表示层
会话层
传输层
网络层
链路层 链路层
物理层 物理层
ISO参考模型 DNP增强性能模型
最上层为应用层,它定义了应用的报文格式。在DNP3。0规约中功能的实现是通过对象来实现的,DNP3。0规约定义了丰富的对象库。第二层为链路层,用来把应用层的请求传递给物理层,DNP3。0规约还提供伪传输层的功能,主要用于应用层数据大于一个数据链路层协议数据单元时的拆包工作。最下层则定义了物理传输信道。
2、应用层
DNP应用层的APDU基于TC-57 WG 03所拟定的IEC 870-5-3及IEC
870-5-4草案文本的原则。在结构上,应用层的PDU(规约数据单元)适合IEC对APDU的描述,用户发送应用程序的用户数据给应用层,并在应用层将它转换为ASDU(应用服务数据单元)。然而在DNP中,应用程序的用户数据被转换成多个ASDUS。IEC 870-5-3规定每个ASDU被前置以APCI(应用程序规约控制信息),然后打包成一个APDU。在DNP内,则每个APDU(它是多APDU的一个部分)被视作一个分段(FRAGMENT),且具有以下的限定条件,即每个分段仅包含完整的数据对象,以及在同一报文或同一多APDU内的每个分段的APCI之功能码是一致的。这就是说,在APDUS之内不必再作信息对象的分割以及在报文中对每个对象都必需请求同一种操作。这是为了保证每个分段本身就是可处理的,并且也隐示每个ASDU仅包含完整的数据对象。反过来说,应用层收到一个APDU(一次收一个),并在那里卸下了APCI,就得到ASDU,再将多个ASDU组装入应用程序的用户数据。
1. Modbus是MODICON公司于1979年开发的一种通讯协议,是一种工业现场总线协议标准。1996年施耐德公司推出了基于以太网TCP/IP的Modbus协议——ModbusTCP。
2.Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型,协议本身并没有定义物理层,只是定义了控制器能够认识和使用的消息结构,而不管他们是经过何种网络进行通信的。
3.标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网口。采用Master/Slave(主/从)方式通信。
4. Modbus是一种简单客户机/服务器应用协议,客户机能够向服务器发送请求,服务器分析请求,处理请求,向客户机发送应答。 当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。对于一个正常响应来说,服务器仅复制原始功能码。对于异常响应,服务器将原始功能码的最高有效位设置逻辑1后返回。
5.Modbus协议帧格式:
Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。在特定总线或网络上的Modbus协议映射能够在应用数据单元(ADU)上引入一些附加域。Modbus通用帧格式如下:
6. 串行链路上的Modbus地址规则:
❖ 主要是在RS485和RS232等物理接口上实现Modbus协议。
❖ Modbus串行链路协议是一个主/从协议
❖ 在Modbus链路层上客户机的功能由主站提供而服务器的功能由从站实现。
❖ 地址0为广播地址,Modbus主节点没有地址,子节点必须有一个唯一的地址
❖ Modbus通信由主节点发起,子节点在没有收到来自主节点的请求时,从不会发送数据。
❖ 子节点之间互不通信。
❖ 主节点在同一时刻只会发起一个Modbus事务处理。
7. ModbusTCP简介
❖ ModbusTCP是运行在TCP/IP上的Modbus 报文传输协议。通过此协议,控制器相互之间通过网络(例如以太网)和其它设备之间可以通信。
modbus通讯协议详解
1、Modbus 协议简介 (转 )
Modbus协议是⼀种已⼴泛应⽤于当今⼯业控制领域的通⽤通讯协议。通过此协议,控制器相互之间、或控制器经由⽹络(如以太⽹)
可以和其它设备之间进⾏通信。Modbus协议使⽤的是主从通讯技术,即由主设备主动查询和操作从设备。⼀般将主控设备⽅所使⽤的协议
称为Modbus Master,从设备⽅使⽤的协议称为Modbus Slave。典型的主设备包括⼯控机和⼯业控制器等;典型的从设备如PLC可编程控制
器等。
Modbus通讯物理接⼝可以选⽤串⼝(包括RS232、RS485和RS422),也可以选择以太⽹⼝。其通信遵循以下的过程:主设备向从设备发送请求从设备分析并处理主设备的请求,然后向主设备发送结果
如果出现任何差错,从设备将返回⼀个异常功能码
此协议定义了⼀个控制器能认识使⽤的消息结构,⽽不管它们是经过何种⽹络进⾏通信的。它描述了⼀控制器请求访问其它设备的过
程,如何回应来⾃其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
当在Modbus⽹络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产⽣何种⾏动。如果
需要回应,控制器将⽣成反馈信息并⽤Modbus协议发出。在其它⽹络上,包含了Modbus协议的消息转换为在此⽹络上使⽤的帧或包结构。
这种转换也扩展了根据具体的⽹络解决节地址、路由路径及错误检测的⽅法。
Modbus的⼯作⽅式是请求/应答,每次通讯都是主站先发送指令,可以是⼴播,或是向特定从站的单播;从站响应指令,并按要求应
答,或者报告异常。当主站不发送请求时,从站不会⾃⼰发出数据,从站和从站之间不能直接通讯。
Modbus协议是应⽤层(协议层)报⽂传输协议,它定义了⼀个与物理层⽆关的协议数据单元(PDU),即PDU=功能码+数据域,功能
码1byte,数据域不确定。
Modbus协议能够应⽤在不同类型的总线或⽹络。对应不同的总线或⽹络,Modbus协议引⼊⼀些附加域映射成应⽤数据单元
1P900F-CH冷热控制
MODBUS通讯协议
1、协议概述
1.1、协议类型ModbusRTU协议
本协议适用于PAN-GLOBEE900系列通讯仪表
本协议规定仪表和上位机的数据交换模式。
采用异步主从半双工方式通讯,上位机做主站,仪表做从站,有上位机发询问信息,仪
表做相应应答。
1.2、物理层
传输接口:RS485
通讯地址:1~247(一个网络上最多挂128个站)
波特率:9600、19200
通讯介质:屏蔽双绞线
1.3、数据链路层
采用8位二进制,每个代码由两个十六进制字符表示。帧格式是:1个起始位,8个数
据位,没有校验位,2个停止位。
一个数据包的格式是:(表:1)地址功能码数据码CRC校验码
8bits8bitsn*8bits16bits
功能码定义:(表:2)
代码功能定义
03H读取一个或多个寄存器的数值
10H写多个寄存器的数值
06H写一个寄存器的数值
注:1个寄存器占2个字节
1.4、CRC校验算法
生成一个CRC的流程是:
先将一个16位寄存器(CRC寄存器)置为0FFFFH。
把数据包中的第一个8位字节与CRC中的低位字节进行异或运算,结果存回CRC寄存
器。
将CRC向右移一位,最高位填’0’,最低位移出并检测。
如果移出位为’0’,重复第3步。
如果移出位为’1’,将CRC寄存器与一个预设的固定值(0A001H)进行异或运算。
重复步骤3和步骤4,直到8次移位结束,这样就处理好了一个完整的8位字节。
重复步骤2到步骤5处理下一个8位字节,直到所有字节全部处理结束。
最终CRC寄存器的值就是CRC值。
2、应用层功能祥解
应用层功能祥解的目的是定义特定有效命令的通用格式。
软件程序员可以使用下述方法,以便通过协议正确的建立特定的应用程序。
2通讯协议使用下述的格式(表:3)地址功能码地址高
字节地址低字
节数据高字
节数据低字
节CRC低
字节CRC高
字节
010300100002C5CE
2.1、PC读数据(功能码03)
此功能允许主站读取从站采集到的或记录的数据及仪表的系统参数。