北极星

搜索历史清空

  • 水处理
您的位置:电力技术正文

基于ARM与GPRS技术的SCADA系统在风光电厂中的应用

2011-09-23 12:49关键词:SCADA系统电力通信风光发电收藏点赞

投稿

我要投稿

通常应用于风光发电厂的监督控制与数据采集系统SCADA(Supervisory Control And Data Acquisition)一般都是由电力通信专网来保障其通信。但由于风光电厂在地理位置上的特殊性、多样性(通常在边远偏僻地区),使得某些通信网无法胜任SCADA的要求[1]。

通用分组无线业务(GPRS)是GSM网络的升级,通过在GSM网络上增加SGSN和GGSN两种数据交换节点设备以及一些更新软件来实现,GPRS网络中的数据传输以数据分组的形式传送。在国内,移动通信网络目前已基本覆盖全国所有地区,因此利用技术上较为成熟的GPRS无线网络,可对风光发厂的各个发电站进行实时远程监测与控制,这对提高整个风光电厂的性能具有实际意义。

1 系统组成

整个风光电厂的SCADA系统由风光发电站的状态参数采集部分和数据处理及传输两部分组成。本文重点介绍数据处理及传输部分。风光电厂SCADA系统如图1所示。

通过CAN总线与CAN总线适配器的连接,将各个风光发电站的状态参数传输至基于LPC2214的嵌入式系统,数据经处理后由GPRS通信模块MC39i输出,并通过GPRS网络和Internet将数据传输至监控中心。反之,监控中心也可以将各种操作指令传送至控制终端,以控制风光发电站的运行。本系统的核心部分为“嵌入式GPRS通信模块”的实现[2]。

本系统使用ARM7核微处理器LPC2214,并适当对系统存储资源进行扩展,通过移植嵌入式操作系统μC/OS-Ⅱ来管理整个系统的运行。系统所使用的GPRS模块MC39i由西门子公司生产,具有使用方便、接口电路简单等优点[3]。GPRS虽支持TCP/IP业务,但因为MC39i没有嵌入TCP/IP协议和PPP协议,所以需要在基于LPC2214的嵌入式系统中实现TCP/IP协议和PPP协议,否则系统无法使用GPRS网络的数据分组业务。

2 CAN总线接口电路设计

SJA1000与LPC2214之间的接口电路如图2所示,主要包含:LPC2214最小系统(未画出)、CAN通信控制器SJA1000、CAN总线驱动器82C250和高速光电耦合器6N137。LPC2214控制SJA1000的初始化以及对风光发电站状态参数的接收和发送。其中,SJA1000的AD0~AD7连接到LPC2214的P2口(DATA0~DATA7),/CS为0时,LPC2214选中SJA1000。SJA1000的/RD、/WR、ALE分别与LPC2214的对应引脚相连,/INT接LPC2214的P0.1脚(外部中断0),用于中断访问SJA1000。

SJA1000的TX0、RX0通过高速光耦6N137后与82C250的TXD和RXD连接,这样可较好地实现本节点在CAN总线上的电气隔离,从而增强CAN总节点的抗干扰能力。要注意光耦部分电路采用的两个电源VCC和VDD必须完全隔离,否则此光耦就失去了意义。本系统中的电源隔离采用了小功率的电源隔离模块实现。

另外,通过在82C250的CANH和CANL引脚之间串连60 ?赘的电阻以消除电路中信号反射等干扰。CANH和CANL与地之间并联两个30 pF的小电容,可滤除总线上的高频干扰和一定的电磁辐射。另外,在两根CAN总线输入端与地之间分别接了一个防雷击管,当两端输入端与地之间出现瞬变干扰时,通过防雷击管的放电可起到一定的保护作用。

3 基于μC/OS-Ⅱ环境的多任务设计

3.1 μC/OS-Ⅱ操作系统在ARM7核上的移植

移植是使一个实时内核能在其他微处理器上运行,也就是为特定的CPU编写特定的代码。因为μC/OS-Ⅱ在读/写CPU寄存器时,只能通过汇编语言来进行,因此在使用μC/OS-Ⅱ时,针对具体的CPU,用户需要用汇编语言编写与CPU硬件相关的代码。

根据μC/OS-Ⅱ的要求,移植μC/OS-Ⅱ到一个微处理器的体系结构上需要提供三个文件:在C语言头文件OS_CPU.H中,要定义与编译器无关的数据类型;定义所使用的堆栈数据类型以及堆栈的增长方向;定义一些有关ARM核的软中断。在C程序源文件OS_CPU_C.C中,主要是μC/OS-Ⅱ任务堆栈初始化函数;在汇编程序源文件OS_CPU_A.S中,主要是时钟节拍中断服务函数、中断退出时的任务切换函数以及μC/OS-Ⅱ第一次进入多任务环境时运行最高优先级任务的函数。

3.2 系统任务设计

μC/OS-Ⅱ要求在其上运行的应用软件“任务化”,所以需要按μC/OS-Ⅱ的任务编写规范设计系统应用任务。按任务优先级从高到低设计如下[4]。

Task0:完成系统各部分(包括MC39i)初始化工作后,采用时间片的方式进行PPP数据帧的接收,并完成该数据帧的解析。

Task 1:风光发电厂各发电站状态参数的读取。

Task 2:UDP数据包的接收处理。

Task 3:TCP数据包的接收处理。

Task 4:ICMP数据包的接收处理(主要是响应PING)。

Task 5:针对UDP数据报中的命令请求进行响应。

Task 6:针对TCP数据报中的命令请求进行响应(Web服务器功能)。

系统任务之间的通信如图3所示。

3.3 IP数据包解析模块软件设计

IP协议是TCP/IP协议的核心,也是网络层中最重要的协议,IP层接收由更低层发来的数据包,并将其发送到更高层——TCP或UDP层;反之,IP报也把从TCP或UDP层接收来的数据包传送到更低层,并最终通过TCP/IP网络进行无连接传送数据报。

本系统向监控中心传送的数据,需先进行TCP/IP协议的处理,即要求LPC2214实现TCP/IP协议。其中IP数据包的封装及发送是通过函数ip_send( )实现的,通常此函数是在PPP协议处理函数中被调用。风光发电站各状态参数在被封装为UDP数据包以后,调用此函数进行IP协议格式数据封装,即在IP数据报头的数据结构中添加IP报头信息(其中包括计算IP报头的校验和值)。在封装好IP包之后,要设置此IP报头数据(20 B)的“发送结构”Send_Ptr,从而与UDP数据报构成一个发送数据链。

投稿与新闻线索:陈女士 微信/手机:13693626116 邮箱:chenchen#bjxmail.com(请将#改成@)

特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。

凡来源注明北极星*网的内容为北极星原创,转载需获授权。

SCADA系统查看更多>电力通信查看更多>风光发电查看更多>