《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > DNP3.0在无线FTU中的实现

DNP3.0在无线FTU中的实现

2008-08-05
作者:高明强, 刘继岳, 李加荣, 王

  摘 要: IEC TC57所推出的IEC 870-5-1和IEC 870-5-2关于远动系统内数据传输的标准构成了DNP V3.00数据链路层" title="链路层">链路层的基础,DNP 3.0规约使SCADA行业有了国际标准规约。标准规约的适用面广,功能强大,可以大大减少电力网维护的工作强度。馈线终端单元(FTU)是配电自动化系统中的重要组成部分。
  关键词: 分布式网络规约DNP3.0 无线FTU 配电自动化


  DNP 3.0(Distributed Network Protocol Version 3.0)规约是目前在欧洲及北美比较流行的一种开放性结构的规约,在国内正逐渐成为主流性通信规约之一。它可用于电力系统子站系统、RTU、智能电子设备(IEDS)以及主站系统之间的通信。由于目前大部分国外配电自动化(DA)设备都支持DNP3.0,为使电力设备具有兼容性和标准性,大部分与国外电力主站配套的FTU都使用DNP3.0通讯规约。
  FTU作为配电自动化系统的重要部分,不但要实现基本的测量与监控功能,还要实现与远方主站的通信。本设计以ARM为主处理器,以多处理器的方式将功能项模块化,各自独立互不干扰,主处理器控制和协调各个功能单元的操作和数据交互,这样既减少了设备的维护也可以利用设备的冗余来保证电力设备的正常运行。
1 无线FTU系统构成
  图1为无线FTU系统的构成。利用GPRS/CDMA等无线网络作为通讯载体,移动服务商将数据通过无线或者Internet网络传输到电力监控中心的局域网络的电脑上,通过这种科学的方式来实现远程自动化监控。


  由于电力终端设备工作的特殊性,其安装位置、工作环境以及对可靠性、稳定性的要求,传统的有线网络已很难满足电力设备网络化的要求。无线FTU在实现标准通讯规约的基础上加以改进,通过GPRS/CDMA网络实现电力设备的网络化,在实现正常工作的同时,提高电力网络的自动化程度,也更高效地实现了电力监控设备的网络化。
2 DNP3.0规约介绍
  DNP 3.0规约是在国际电子电工协会(IEC)的TC57协议基础上制定的通信规约,它支持ISO 的 OSI/EPA 模型。这种模型规定了物理层、数据链路层和应用层" title="应用层">应用层。然而,为了支持高级的RTU 功能和大于最大帧长的报文,DNP 3.0 的数据链路采用一个伪传输层去完成最短报文的组装与分解。图2为通讯模型的比较。


2.1 DNP3.0的框架结构
  DNP 3.0规约的文本共分4部分:数据链路层规约、传输功能、应用层规约及数据对象库。
  由于汇编语言" title="汇编语言">汇编语言在硬件控制和处理速度上的高效性,在对规约处理时,整个CRC部分用汇编实现,似乎很麻烦,但由于汇编语言在位控制上可以类似C语言中联合体的操作,所以在协议的控制上使用整体赋值分位判断的方法,协议处理简单明了。C与汇编的混合使用,各取其长,实现了DNP通信的同时也提高了响应速度和代码质量。
  DNP 3.0 规约的帧格式的基本单元是字节的,所以按照DNP 3.0 规约的层次结构分别定义链路层控制字" title="控制字">控制字、伪传输层控制字、应用层控制字、应用层功能码、FTU内部状态1、FTU内部状态2等。
  按照DNP 3.0规约的数据流程,分层搭建处理程序流程。DNP 3.0规约详细规定了协议的层次结构及每一层的功能,程序只要完全与规约一致即可实现通讯的标准化。
  DNP协议链路层处理流程如图3所示。


2.2 DNP3.0中CRC算法的实现
  CRC校验是保证通信可靠性的关键处理部分,在协议中必须对报文的报头、每个数据块" title="数据块">数据块都进行校验,并将校验码与数据一起捆绑发送,主站接收时可以对报文的信息进行分析,判断通信是否正常。下面是结合实际应用给出的分析方法和汇编语言的CRC校验程序。
  CRC的生成函数为:
  P=G(X)=X16+X13+X12+X11+X10+X8+X6+X5+X2+1
  CRC=(M216)/G(X)
  具体实现细节分为:
  发送一个数据块:
  ·取用户数据块M,其长度为K比特。
  ·将M乘以216得216M。
  ·将此数除以(模2除)P(17比特),得余数R(16比特)。
  ·对R取反,得R’。
  ·将R’挂在216M之后,并作为数据块(T’)发送出去。
  接收一个数据块:
  ·接收一个数据块(T’),它具有(K+16)比特。
  ·将T’中的R’取反后得T,仍为 (K+16)比特。
  ·将T除以P,得出它的余数。
  ·若余数为非零,则数据块出错,否则数据块无误。
  用汇编语言实现:(用查表法实现,具体表格省)
  PROC ASKCRC
    ;入口参数:R7:要转换的个数;0A0H:数据的起始位置
    ;出口参数: CRCL CRCH
    ;需保护的参数:10H,11H 12H,13H 14H R6 R1 A
  ASKCRC:
    MOV R1,#0A0H
    MOV DPTR,#CRCTAB
    MOV 10H,#0 ;CRCL
    MOV 11H,#0 ;CRCH
  CRC1:
    MOV A,@R1
    MOVC A,@A+DPTR
    MOV 12H,10H
    MOV 13H,#0
    ANL 12H,#0FFH
    XRL 10H,#0
    XRL 11H,A
    MOV A,12H
    ORL 10H,A
    MOV A,13H
    ORL 11H,A
    MOV R6,#8
  CRC2:
    MOV 14H,11H
    ANL 14H,#80H
    CLR C
    MOV A,10H
    RLC A
    MOV 10H,A
    MOV A,11H
    RLC A
    MOV 11H,A
    MOV A,14H
    CJNE A,#80H,CRC3
    XRL 10H,#65H
    XRL 11H,#3DH
  CRC3:
    DJNZ R6,CRC2
    INC R1
    DJNZ R7,CRC1
    XRL 10H,#0FFH
    XRL 11H,#0FFH
    MOV 12H,10H
    MOV 13H,11H
    MOV A,10H
    MOVC A,@A+DPTR
    MOV 13H,A
    MOV A,11H
    MOVC A,@A+DPTR
    MOV CRCL,A
    MOV CRCH,13H
    RET
2.3 DNP3.0的对象库设定
  采用DNP应用层规约的智能化设备可以监视控制,在软、硬件方面均产生大量的数据,这些数据被称之为“信息单元”。不论它的数据源是什么,设备的简要文件(Profile documents)都需要为每个远动设备的数据对象指明其确切的数据源及意义。FTU需要对电网进行测量和监控,所以必须明确DNP信息单元或用于DNP应用层的数据对象之编码规范。图4是实际应用时采用的一种通信格式。


  FTU现行的通信规约有多种。由于DNP 3.0 规约是国际通用的,所以一般的电力设备上都要有此项功能。又考虑到DNP 3.0规约功能强大,涉及到很多方面,所以在不同要求的FTU设备上可以根据现场需要实现不同的功能单元,而不必将所有的功能都完成。
  随着工业总线网络化的发展和工业自动化程度的提高,依托无线网络的工业设备必然会得到更一步的发展,通信协议也会向着通用的方向发展。
参考文献
1 李世鹤. TD-SCDMA.第三代移动通信系统标准[M].北京:人民邮电出版社, 2003
2 彭 林.第三代移动通信技术[M]. 北京:电子工业出版社,2003
3王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2003
4 远动设备及系统.第五部分传输规约
5 DNP通讯规约

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。