北极星

搜索历史清空

  • 水处理
您的位置:光伏光伏零部件监控系统技术正文

基于ARM9的嵌入式电力监控系统的设计与实现

2011-06-15 16:19来源:电力软件网关键词:电力监控系统数据采集收藏点赞

投稿

我要投稿

电力监控系统又称电力SCADA(SupervisoryControlAndDataAcquisition)系统或远动系统,是在对供电系统设备的远程状态监视、数据采集和远程控制的需求基础上发展起来的。用于实现对沿线各变电所内主要电气设备的遥控、遥信、遥测、遥调和遥视等功能。它对提高电网运行的可靠性、安全性与经济效益,减轻调度员的负担,实现电力调度自动化与现代化,提高调度的效率和水平等方面有着不可替代的作用。电力系统的特点是站点比较分散,而站点的正常运行又十分重要,一旦站点出现任何异常情况,监控系统需要把实时数据(温度、风力、震动、电压等)传送到调度员手中,以便及时采取应对措施。传统的人工监控现场不仅浪费大量的人力物力,而且效率十分低下[1]。ARM微处理器是一种高性能、低功耗的32位微处理器,广泛应用于嵌入式系统。ARM9代表了ARM公司主流的处理器,在数字消费品、成像设备、工业控制、存储设备和网络设备等方面应用广泛。本文设计了一种新型的嵌入式系统,该系统以Linux操作系统和ARM9硬件平台为核心实现了现场的实时监控,并通过GPRS模块及时地把数据传送到监控中心,监控中心对数据进行储存处理。同时,监控中心一旦接收到新的数据,马上以短消息形式发送到手机(MT)上,而手机也可以向监控中心发送查询请求,监控中心通过认证其权限大小向其发送数据。

1系统组成及原理

1.1数据采集端

如图1所示,整个系统由现场监控终端、GSM网络、数据交换中心,监控中心、移动接收终端五部分组成。

一般情况下,由本地监测系统采用SM业务发送变电所的工况数据。当变电所出现故障时,变电所本地监测系统主动呼叫远程监测计算机并建立数据连接,发送报警信息;根据实际生产中的需要,生产管理人员可以决定何时建立GSM数据电路连接,进行实时监测。

本系统的发送端如图2所示。其中,控制单元的芯片选用S3C2410嵌入式处理器,该处理器是Samsung公司基于ARM公司的ARM920T处理器核、采用0.18μm制造工艺的32位微控制器。该处理器基本特性:独立的16KB指令Cache和16KB数据Cache、MMU、支持TFT的LCD控制器、NAND闪存控制器、3路UART、4路DMA、4路带PWM的Timer、I/O口、RTC、8路10位ADC、TouchScreen接口、I2C-BUS接口、I2S-BUS接口、2个USB主机、1个USB设备、SD主机、MMC接口及2路SPI。S3C2410处理器最高可运行在203MHz频率下。

GPRS模块采用SIMCOM公司出品的工业级模块SIM300C,该模块支持GPRS与内嵌TCP协议。它是一个完整的手机模块,属于移动设备端,负责与GSM、GPRS网络进行信令交换。通过串口可以实现对它的控制并进行数据传输,包括短信息和GPRS等。该模块需要一张开通GPRS业务的SIM卡与其配套使用。

1.2服务器端

鉴于电力系统的特殊性,其监控中心不允许直接接入Internet,所以需要一个数据交换中心来进行数据处理转发。信息采集点的控制器定时或根据监控中心的指令把数据由GSM/GPRS模块经过GSM网络传送到监控中心,监控中心对数据进行储存处理。

1.3数据发布端

监控中心一旦接收到新的数据,马上通过短消息形式发送到值班人员手机(MT)上。而值班人员也可通过手机向监控中心发出查询请求,监控中心通过认证其权限大小向其发送数据。如图3所示。

2操作系统定制

设计中嵌入式操作系统选用Linux。Linux是一套免费使用和自由传播的类Unix操作系统,它充分利用了X86CPU的任务切换机制,实现了真正多任务、多用户环境,允许多个用户同时执行不同的程序,并且可以给紧急任务以较高的优先级,特别适用于嵌入式系统。应用程序开发工具则采用ADS1.2(ARMDeveloperSuite)[2]。

2.1构建交叉编译环境

由于嵌入式硬件上无法安装所需要的编译器,所以只能借助于PC机,而PC机和嵌入式硬件基于两种不同的处理器类型,因此需要在PC机上生成能够在ARM上运行的软件,这就要求构建交叉编译环境。本设计选用开源Crosstool来构建交叉编译工具链[2]。

2.2移植Bootloader

Bootloader类似于PC机上的Bios,是系统启动时运行的第一个程序,主要作用就是在操作系统内核运行之前,初始化硬件设备,屏蔽中断,设置启动参数等,为操作系统创造一个良好的环境,然后加载操作系统。本设计同样使用开源项目U-boot。

2.3内核移植

尽管最新的Linux内核已经增加了对S3C2410CPU的支持,但是仍然需要根据实际需要对内核做一些修改,并且重新配置、编译生成新的内核映像。

2.4定制根文件系统

根文件系统是指Linux系统启动时所使用的第一个文件系统,在启动内核时需要挂载根文件系统来支持外部设备,以及装载和运行内核模块与应用程序。通常,定制根文件系统需要以下步骤:创建空的目录树、移植BusyBox、选择必要的动态共享库、初始化脚本等。

3软件设计

3.1信息采集点与监控中心的通信

GPRS模块的控制通过AT指令完成,而模块与监控中心的通信则由WinSock完成。当信息采集点传送数据时,GPRS模块会根据预先设定在其内部的IP地址来主动访问监控中心服务器,通过防火墙和监控中心建立TCP/IP链路[3]。同时,监控中心维护接入的每个信息采集点的IP地址和序号,并且根据需要定时向某个信息采集点发出数据请求,信息采集点接收到请求后作出响应,完成通信过程[4]。具体协议栈如表1所示。

3.2监控中心软件结构

监控中心软件结构共分为3层:操作系统和系统软件层、系统软件支持层和基础应用层。

(1)操作系统和系统软件层

操作系统为使用者屏蔽了底层硬件的具体细节,程序员可以利用底层硬件提供的函数开发包来为上层软件服务。

(2)系统支持软件层

系统支持软件层包括数据库系统、电力系统模型、数据采集和传输等,其主要功能是实现数据存储和转发,并为上层软件服务。

(3)基础应用层

基础应用层的主要功能是将采集到的数据进行处理、对调度人员进行管理并通过GUI界面显示出来[5]。

监控中心如图4所示。

3.3管理中心与调度员的通信

在数据发布端,无线模块通过RS232与上位机进行通信,采用串口异步通信,波特率为9600Kb/s。串口程序使用的是MOXA公司的Pcomm串口通信库,Pcomm提供了简单方便的串口操作函数,常用的函数有:

intWINAPIsio_ioctl(intport,intbaud,intmode);

//设置串口参数,包括波特率、数据位、停止位等

intWINAPIsio_read(intport,char*buf,intlen);

//从输入缓冲区读指定个数的字符

intWINAPIsio_write(intport,char*buf,intlen);

//写指定个数的字符到输出缓冲区

intWINAPIsio_cnt_irq(intport,VOID(CALLBACK*func)(intport),intcount);

//中断函数,当接收到指定个数字符时响应事件

本系统基于S3C2410平台和Linux操作系统,通过SIM300C经GPRS网络与远程监控中心进行信息交互,传输距离远、可靠性高、实时性强,并且价格低廉,具有很高的实用价值。

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

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

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

电力监控系统查看更多>数据采集查看更多>