基于嵌入式系统的电力系统监控软件设计

2022-09-12

随着国民经济的发展, 电力系统的规模越来越大, 电能用户逐渐增加, 特别是非线性负载的应用, 使电能的质量问题日趋严重。为了保证电网的安全运行和分析电网运行的状况, 需要对电网的各种运行参数 (如三相电压、电流、有功功率、功率因数以及各类谐波成分的参量等) 进行实时检测[1]。基于嵌入式系统的电力监控系统正好能够满足这种需要。电力监控系统是电网调度自动化的一个重要组成, 是计算机技术、网络技术和监控技术的结合, 通过对电网进行监控, 监控者根据设备当时的实际情况, 使用第一手数据进行分析控制, 具有强大的生命力和广阔的应用前景。

电力监测系统由电网监控仪、客户端计算机和W e b浏览器组成, 其中电理监测仪和客户端计算机构成客户-服务器分布式网络结构, 客户端计算机和W e b浏览器构成浏览器一客户机模式, 均通过I n t e r n e t进行网络通信。

1 构建嵌入式Linux软件开发平台

嵌入式L i n u x强大的网络支持功能, 低廉的价格以及众多开发人员的维护成为嵌入式网络监控系统操作系统的首选。选用J a v a语言, 是由于其强大的移植能力、多线程处理和联网能力。系统的软件平台一共包括两大组成部分:嵌入式L i n u x平台的构建和Embedded开发环境搭建。

1.1 Linux内核移植和编译

L i n u x是一个移植性非常好的操作系统, 它广泛支持许多不同体系结构的计算机系统。关于L i n u x的移植其实是一件相当复杂的事情, 一般情况而言, 从内核官方网站上得到的内核源码远远不能在它所支持的平台上运行。从官方网站上得到的内核源码只能保证在X 8 6平台上能够正确运行成功, 其它平台上的代码还不是经过严格测试。要使Linux内核在ARM9平台上运行成功, 不仅要求开发者对A R M 9平台有深入的理解, 对L i~内核有深入的解析, 还要对G N U工具链有足够的认识。因此可以说要移植L i n u x内核, 一般的开发人员是没有足够的能力完成。尽管移植L i n u x内核是一件非常困难的事情, 但是也有简单的解决方法, 那就是去ARM平台内核树维护者Russell King的网站下载有关于ARM9平台的Linux内核补丁, 另外需要将内核打上补丁才可以在ARM平台上运行[3]。

1.2 Linux下构建Qt/Embedded开发环境

一般来说, 由于基于Qt/Embedded开发的应用程序会最终发布到嵌入式L i n u x操作系统的小型设备上, 所以使用安装有L i n u x操作系统的P C或者工作站来完成QdEmbedded开发环境。

在搭建环境时, 一定要在安装R H 9时选择全部安装, 不然搭建环境时会出错。在这里我选用的是广州友善之臂提供的两个开发包, 分别是arm-qtopia.tgz和x86-qtopia.tgz, 下面重点介绍如何搭建Qt/Embedded开发环境。

2 电力监控系统中的软件设计

2.1 Linux下的网络通信程序设计

T C P/I P是用于计算机通信的一组协议, 它是Internet协议族, TCP/IP协议包括TCP, IP, UDP, TELNET, FTP, SMTP, ARP, TFTP等许多协议, 这些协议一起称为TCP/IP协议。

L i n u x支持B S D的套接字和全部的T C P/I P协议, 是通过网络协议将其视为一组相连的软件层来实现的, B S D套接字 (BSD Socket) 由通用的套接字管理软件支持, 该软件是I N E T套接字层, 用来管理基于IP的TCP与UDP端口到端口的互联问题, 从协议分层来看, I P是网络层协议, T C P是一个可靠的端口到端口的传输层协议, 他是利用I P层进行传接报文的, 同时也是面向连接的, 通过建立一条虚拟电路在不同的网路间传输报文, 保证所传输报文的无丢失性和无重复性。

网络通信大部分是在客户机/服务器模式下进行的, 例如使用t e l n e t连接到主机的端口时, 主机就开始运行t e l n e t的程序, 用来处理所有进入的t e l n e t连接。本系统服务器端程序在L i n u x下设计, 客户端程序在Java环境下设计。

本程序设计有以下几步组成。

(1) 通过函数socket () 建立一个套接口。

(2) 通过函数bind () 绑定一个地址, 包括本地I P地址和端口地址。

(3) 通过函数listen () 监听客户端的新的连接请求。

(4) 通过函数accept () 进入无限循环, 接受客户端新的连接。

2.2 Embedded图形用户界面设计

图形用户界面GUI (Graphics User Interface) 是迄今为止计算机系统中最成熟的人机交互技术。一个好的图形用户界面的设计不仅要考虑到具体硬件环境的限制, 而且还要考虑到用户的喜好等等。

Qt/Embedded是一个为嵌入式应用定制的用于多种平台图形界面程序开发的C++工具包, 以原始Q t为基础, 做了许多适合用于嵌入式环境调整, 是面向对象编程的理想环境。Qt/Embedded通过Qt API与L i n u x/I O设备直接交互, 面向对象的体系结构势代码结构化、重用并且运行快速。与其他GUI相比, Qt GUI非常快, 没有分层结构, 这使得它成为运行基于Q t的程序的最紧凑环境。

Q t拥有一系列能满足不同需要的窗口部件, 如按钮、滚动条等。Q t中有3个主要的基类:QObject, QTimer和QWidget。窗口部件是QWidget或其子类的实例, 自定义的部件则是通过子类继承得来。为了实时显示电网1-3 1次谐波、电网频率、电网电压电流有效值、功率因数、T H D等电网数据, 本文设计的应用程序需要很多Q W i d g e t部件和一些自定义类。

3 结语

本系统采用嵌入式电力监控系统对电网参数进行监测, 并把监测数据通过Internet传送到远程监控主机中, 专业人员就可以远程对设备的运行进行及时、准确监控, 对其故障先兆做出判断和预测, 采取有效措施解决问题, 就可以保证大型机组安全运行, 防止恶性事故的发生, 避免了定期检修引起的生产停顿, 预防和消除故障, 提高设备运行的可靠性、安全性和有效性。

摘要:为了对电网的运行状况进行实时监测, 本文设计了基于嵌入式系统的远程电力监控系统, 主要研究了其软件设计部分。本文首先构建了基于嵌入式Linux的软件平台, 然后重点介绍了Linux下的网络通信程序设计和Embedded图形用户界面设计。

关键词:电力监控,嵌入式,Linux系统,网络通信

参考文献

[1] 李环, 任波.电力谐波参数检测系统的设计[J].沈阳工业学院学报, 2002, 21 (3) :37~39.

[2] 翟洪叶, 符影杰.基于A R M的电网电压谐波监测仪的研制[[J].中国仪器仪表, 2006, 10:32~35.

[3] 孙俊, 周俊华, 李正明.基于嵌入式系统的远程电网电能质量监测系统[J].中国农村水利水电, 2006, 4:93~95.

上一篇:税务筹划风险及对策概述下一篇:论新刑诉法对侦查阶段律师辩护权的完善和加强