基于嵌入式系统的Modbus-GOOSE规约转换器设计
txye_53619
txye_53619 Lv.9
2015年06月10日 12:13:00
只看楼主

  1 前言  目前,建筑行业的也正在进入智能电网时代。随着IEC61850通讯标准的建立与普及,国内外许多国家的电网和电气生产厂商均采用该标准进行通讯。在建筑领域的电气也将按照IEC61850标准进行通讯[1]。原有设备将逐步淘汰,为了使原有的使用其它通讯协议的电气设备与其兼容,并且能够实现两种协议之间高效、快速、便捷的通讯,需要建立一个规约转换器将IEC61850标准与MODBUS协议规约实现相互转换。本文设计的规约转换器,可将现有的Modbus协议标准的数据转换成遵循IEC61850协议的面向通用对象的变电站事件(GOOSE)的报文数据,这样就能将原来的网络与最新标准的智能电网连接起来,从而提高现有设备的利用率,节约投资,还可以在既有的网络基础上简化布线复杂度。

   1 前言
  目前,建筑行业的也正在进入智能电网时代。随着IEC61850通讯标准的建立与普及,国内外许多国家的电网和电气生产厂商均采用该标准进行通讯。在建筑领域的电气也将按照IEC61850标准进行通讯[1]。原有设备将逐步淘汰,为了使原有的使用其它通讯协议的电气设备与其兼容,并且能够实现两种协议之间高效、快速、便捷的通讯,需要建立一个规约转换器将IEC61850标准与MODBUS协议规约实现相互转换。本文设计的规约转换器,可将现有的Modbus协议标准的数据转换成遵循IEC61850协议的面向通用对象的变电站事件(GOOSE)的报文数据,这样就能将原来的网络与最新标准的智能电网连接起来,从而提高现有设备的利用率,节约投资,还可以在既有的网络基础上简化布线复杂度。
  本文以首先分析了Modbus和GOOSE通讯规约,然后提出了提出了Modbus-GOOSE规约转换器硬件和软件设计方案,最后用沈阳大明电工生产的SDMK1型控制与保护开关进行实验,验证了产品的正确性和可实施性。
   2 IEC61850通讯标准以及GOOSE通讯协议
  IEC61850是应用在智能电网中,负责变电站与调度中心之间以及各级调度中心之间的相互通讯。IEC61850规定了若干种报文来传输变电站实时数据,不同的报文传输的侧重点不同。其中,GOOSE 是IEC 61850标准中用于满足变电站自动化系统快速报文需求的一种机制,用来保证变电站事件(例如跳闸命令、报警、保护启动、闭锁等公共数据)在系统范围内(例如间隔层之间、间隔层与变电站层、间隔层与过程层)快速传输,用于紧急跳闸、启动故障录波、启动闭锁/解锁等需要快速传递信息的场合[2]。
  2.1 GOOSE报文传输过程
  根据IEC 61850系列标准,GOOSE报文的传输服务采用快速保文协议。快速报文协议是由应用层到表示层(ASN1 1编码)后,直接映射到底层(数据链路层和物理层),不通过会话层、传输层、网络层,减少了报文封包和拆包的时间。从而保证了GOOSE报文的传输的实时性。
  由于GOOSE报文需要支持多节点的快速、直接通讯方式和满足事件驱动类型的通讯本质,GOOSE报文采用发布者/订阅者传输机制。GOOSE报文传输的通信过程由发布者通过控制模块(GoCB)进行控制[3]。而GOOSE报文的订阅者通过解析GoCB获得发布者的命令。
  2.2 GOOSE报文编码方案
  根据IEC61850,GOOSE报文在采用以太网传输的帧格式(ARP)要包含发布者的介质访问控制层(MAC)地址和订阅者所在的局域网MAC地址。并且在标准的以太网报文头中间插入了一个标签(Tag),Tag中包含了12 bit的虚拟局域网标识码(IEEE802.1q)和3 bit的报文优先级码(IEEE802.1p)。最后是要传输的GOOSE报文数据[2]。GOOSE报文在数据链路层报文格式如图1所示。
  IEC61850规定中,APDU包括以下内容:GOOSE控制块引用名、允许生存时间、数据集引用名、GOOSE标识符、状态号计数器改变所需时间、状态号计数器、顺序号计数、检修位、配置版本号、重新配置标识、数据集成员个数以及数据。本文根据GOOSE控制块引用名识别GOOSE的功能,根据状态号计数器的变化判断数据的是采用或者丢弃。如果该状态号计数器比上一状态号计数器大一,那么执行该状态所需命令,如果与上一计数器相同则不处理,否则需检修设备。
   3 Modbus通讯协议与转换方案
  Modbus通讯协议是应用在电子设备上的一种通用协议,实现控制器之间的的通讯。主要在RS485接口上使用。
  Modbus主要是有两种编码模式,一种是采用美国信息互换标准代码(ASCⅡ);另外一种是采用远程数据终端(RTU)传输模式。本文着重讨论RTU模式下的传输。RTU的帧主要包含地址帧、功能码、数据以及校验码[4]。其数据结构如图2所示。
  要使Modbus与GOOSE两种通讯协议相互转换,需要将Modbus的数据转换成goCB控制模块。首先要定义一个配置表,为不同地址的设备分配一个MAC地址;然后将Modbus的功能码与IEC61850规定的逻辑节点相对应,将两种协议统一连接起来;最后对传输的数据进行判断,按照功能码和逻辑节点的要求对数据进行转换。
   4 实验开发平台
  嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及特定的应用程序等四个部分组成,是控制、监视或者辅助机械设备运行的装置。根据IEC61850对实行性的要求,本文所述的开发平台采用以MPU为硬件核心,以Linux系统内核为操作系统的嵌入式系统。
  4.1 嵌入式系统硬件平台
  对于产品的研发而言,最重要的是功能完善性与性能的稳定性。因此,尽量简单的硬件结构对于开发成本和用户使用来说是必不可少的要求。本文选用相对比较简单的MPU为硬件核心,即满足了设计对产品功能实现的要求,又可以节约成本,减少外部器件数量,增加硬件系统的稳定性,而且还能帮助客户缩短产品设计开发时间。因此根据上述原则和要求,其硬件电路设计框图如图3所示。
  协议转换器硬件以MPU模块为核心器件,利用RS485收发芯片和RS485接口实现用MODBUS网络的连接;利用以太网接口实现与以太网的连接;其它的模块相互合作,使两种网络通讯畅通。
转换器的MPU模块采用飞思卡尔公司生产的MPC8315e处理器,该CPU具有620pin,333M主频。充分满足本设计对设备运行速度要求,并且具有性能稳定,物美价廉等特点。是本实验设计采用芯片的最优选择。Flash存储期采用NOR Flash存储器,该存储器不仅可以存储系统以及应用软件,而且可以使应用程序直接在存储器中运行的功能,取代了RAM和ROM的作用。
  转换器的通讯状态指示模块包括状态/电源、以太网连接/收发和RS485连接/收发四个模块构成。其中,状态/电源指示模块指示转换器工作状态及电源连接状态;太网连接/收发模块指示以太网连接状态及数据收发状态;RS485连接/收发模块指示以RS485连接状态及数据收发状态。
  转换器的复位及晶振电路选用25MHz的晶振为系统提供所需主时钟频率。同时采用硬件按钮设计和软件设计为系统实现手动复位和自动复位功能。
  4.2 Linux嵌入式系统
  实验由于GOOSE报文传输机制对实时性的要求较高,并且智能电子设备IED需要处理非实时性的任务。嵌入式系统必须采用同时具备处理实时性和非实时性的操作系统。而linux嵌入式系统作为实时操作系统不仅可以满足上述两点要求。而且作为免费开放源码的操作系统,采用Linux系统不仅可以降低产品造价,还可以使嵌入式系统的功能更加强大和性能更加稳定。基于以上的理由,本文最终决定采用Linux系统作为系统程序进行开发。
  5 软件实现框架
  随着计算机技术的快速发展以及嵌入式系统软、硬件技术有了大幅度提升,使得嵌入式系统软件开发规模已不局限于原先的基本驱动程序和简单应用程序开发。为缩短嵌入式产品的开发周期,提高开发效率,嵌入式产品开发者需要一套使用灵活、方便、高效的集成开发环境。目前,比较流行的嵌入式开发软件有:Tornado、CodeWarrior、Embest IDE、Lambda和Orion。本文选用的开发环境是CodeWarrior. CodeWarrior系列集成开发环境IDE是为开发嵌入式微处理器而设计的一套强大、易用的开发工具,可有效提高软件开发效率。因此本文选择了可以MPC8315e处理器编程的CodeWarrior 8.8.本文在CodeWarrior 8.8版本下建立工程,调用交叉编译工具gcc4.1.2进行编译,运用CodeWarrior USB TAP仿真器进行仿真开发。由于CodeWarrior免费版最大支持32K大小的代码,因此在实现功能的基础上要控制软件代码的大小。
  为了满足协议抓换的基本要求,本转换器需要实现以下基本功能:
  (1)GOOSE报文转成MODBUS协议报文。本功能模块的主要作用是接收GOOSE报文,并且判断和分析是否是本机需要的GOOSE报文以及GOOSE报文的时效性,然后将GOOSE报文中的数据提取出来并且转化成MODBUS协议报文,最后将MODBUS协议报文通过RS-485接口发送到MODBUS协议网络。
  (2)MODBUS协议报文转成GOOSE报文。本功能模块的主要作用是接收MODBUS协议报文,判断MODBUS协议报文报文的正确性。以及将MODBUS协议报文转换成GOOSE报文并且发送,其整体软件流程图如图4所示。
  6 实验数据和结果
  为了验证协议转换器的功能和效率,根据应用于Modbus-GOOSE通信协议转换接口模块的监控系统的电气线路搭建试验网络,用来模拟过层次网络,其中使RS485通信接口连接SDMK1型控制与保护开关;另一台PC用来模拟站控层的上位机。上位机使用GOOSE模拟工具v1.0.作为被测试主体的保护智能单元与智能保护终端和监控主机通过网线组成间隔层、过程层网络,合并单元通过一路网线与智能单元相连接。试验系统连接图如图5所示。
  实验过程为打开控制与保护开关,使控制与保护开关状态为断开状态;在上位机软件端设置合闸命令,然后点击发送按钮,最后查看控制与保护开关是否合闸以及返回上位机的数据是否正确。通过测试试验过程,在上位机发送合闸命令后,经过2ms延时上位机收到Modbus-GOOSE通信协议转换接口模块向上位机返回的数据包,通过比对后,验证返回数据完全正确,并且在过程中合闸动作执行成功,和计算预期基本一致。并且返回指令数据的stVal为0×83-0×01-0×01,0×83代表开关状态量的标签,第一个0×01代表开关状态量的长度,第二个0×01代表控制与保护开关正处于合闸状态,与预期值相同。
  7 结论
  本文研究了IEC616850通讯协议体系的GOOSE报文的结构与收发,利用MPC8315芯片为核心,设计了Modbus-GOOSE规约转换器,该方案具有运行速度快、低成本、高可靠性等特点。本套系统对已经在使用中的Modbus-协议的设备投放到智能电网中起到了很好的媒介作用,具有一定的市场价值,对建筑行业的智能化起到了一定的促进作用。
免费打赏

相关推荐

APP内打开