论文部分内容阅读
摘要:根据电力系统的特点和要求,设计了以嵌入式CPU为核心,扩展了多串口板、开关量输入板、开关量输出板、模拟量采集模块的监控模块;软件具有强大的组态能力,通过网络能与电力系统监控后台通信,实现电力系统的集中监控。
关键词:电力系统 监控 嵌入式 CPU数据 库网络服务器
1引言
电力系统是由发电厂、变电所、输电网、配电网和用户的用电设备等组成,并由调度控制中心对全系统的运行进行统一的管理。电网监视和控制的计算机信息系统是为电网运行管理服务的特殊的信息系统,简称为电网监控系统。它是电力系统中一个功能比较专一的系统,同时也是一个不可缺少的现代化手段。
以计算机为中心的电力系统自动监视和控制系统的基本结构如图1所示,在电力系统的自动监视和控制系统中,信息收集系统的作用是确定系统的运行条件,提供每个控制功能所需要的信息输人,同时信息收集系统也将加强运行人员和系统间的联系,根据需要向信息人员提供电力系统的实时信息。
针对电力系统监控的特点和要求,本文研制的电网监控系统以嵌人式CPU板为核心,开发了多串口电路、模拟量输人与开关量输人/输出电路和友好的人机接口,配合功能丰富的软件,能实时地监测电力系统中各设备的运行工况,并能与电力系统监控后台或发电厂、变电站监控系统的通信,实现电力系统的集中监控和“遥测、遥控、遥信、遥调”。
2监控硬件模块
从组成来看,嵌人式系统包括硬件和软件两个部分,是两者的紧密结合。整个系统可以看成由微处理器、内存、软件系统、输入和输出四个部分组成,如图2所示。嵌人式电网监控系统硬件部分主要包括数据采集控制部分、嵌人式CPU板、液晶显示器、触摸屏等。
嵌人式系统的核心部件是嵌人式处理器。嵌人式系统通过网络设备与外界联系,接收外界数据并在处理后通过网络传出。本系统中采用以太网接口与电力系统监控后台通信,实现电力系统的集中监控和“四遥”功能。
人机接口采用液晶显示和触摸屏输人。与通用计算机相类似,嵌人式系统有时候也需要键盘或者鼠标一类的输人设备。但不同的是,嵌人式系统需要的是有限定的小键盘。为了控制方便起见,本文研制的监控系统采用触摸屏。
开关量输出板采用光藕和继电器二级隔离,工作可靠。开关量输人板采用光藕隔离,考虑到工业现场环境的恶劣性,在硬件和软件上都采取了一些抗干扰的措施。
3监控模块软件
软件部分是整个嵌人式系统的关键部分,主要包括操作系统软件和应用程序两部分,完成数据采集、数据处理、智能决策与控制、数据库的操作、人机图形界面、基于Web的网络监控等功能。应用程序的主要构架如图3所示,操作系统采用基于RTLinux内核的自定制操作系统。
程序各进程间的通信主要通过共享内存的机制来进行。远程测控(基于Web的网络测控)通过对数据库的操作,向数据库的控制表写控制规则,再由程序将控制信息读到共享内存区,经输出控制模块进行智能处理、决策后实现测控操作。历史数据查询显示直接通过对数据库的操作来实现。
3.1操作系统的定制
许多简单的嵌人式系统并不需要嵌人式操作系统(如单片机控制)。但是,随着嵌人式系统复杂性的增加,操作系统显得越来越重要。操作系统是计算机系统中最重要的组成部分之一,它是用户与计算机之间的接口。操作系统必须具有两方面的功能:一是为用户提供各种简便有效的访问计算机资源的手段,二是要合理地组织系统工作流程,对系统进行有效地管理。为了实现上述的基本功能,需要编制不同的功能模块,按层次结构将各个功能模块有机地组织起来,建立各种进程,以完成处理器管理、存储管理、文件系统管理、设备管理和作业控制等主要功能。
和一般的计算机应用系统不同,由于电力系统具有发电、输电、变电、配电和用电一次同步完成的特点,实时性很强。标准Linux系统是一个“非抢占式”的系统,当一个进程被系统调用并处于运行状态时,是不允许进程进行调度的。这就意味着一旦系统调用中有某个任务正在执行,那么该任务就会控制处理器,直到系统调用结束,而不管其使用处理器时间的长短,很容易导致一些更重要的任务(如报警)在等待系统调用完成的过程中被延误,系统不具备实时性。因此,选用了具备“抢占式”运行的RTLinux内核,在此基础上进行系统自定制,很好地满足了系统实时性和可靠性的要求。
如图4所示,嵌人式RTLinux的全部设计思想基于实时应用的划分。在这里,一个实时应用被划分成了一个运行于实时核心之上的实时进程及运行于Linux核心上的分时进程;RTLinux并没有对Linux内核作大的改动,而是利用Linux内核模块机制,采用插人模块的方式,通过一个独立的内核来管理实时任务。在加载了RTLinux内核之后,原来的Linux内核就作为实时操作系统的一个空闲任务,仅当没有实时任务要运行时才执行。
定制操作系统的关键是根据内存与CPU处理器的速度、DOC (Disk On Chip)等方面的限制,减少系统所需的资源。为此从发行版着手,裁减了不需要的模块,保留了引导工具、Linux微内核(包含内存管理、进程管理、事务处理等)、初始化进程,添加了相应的硬件驱动程序、实时内核、TCP/IP网络堆栈等。实现步骤如下:
3.1.1重新编译Linux内核,去除不需要的模块,添加需要模块。
3.1.2重新编写触摸屏驱动,使其运行不需Xfree86的支持,从而实现把系统定制得更小。
3.1.3重新编写以太网和串口驱动程序。
3.1.4定制后移植并编写init程序。
3.1.5安装应用程序。
3.2数据采集
从配电系统自动化的实现来看,最基本的功能应该是数据采集,这是实现其他功能的基础。数据采集的任务就是采集配电系统输出的模拟量和状态信息信号并转换成计算机能识别的数字信号,然后送入计算机,根据不同的需要由計算机进行相应的计算和处理,得出所需的数据。与此同时,将计算得到的数据进行显示或打印,以便实现对某些物理量的监视;其中一部分数据还将被计算机控制系统用来产生某些控制命令的物理量。由于电力系统、发电厂或变电站的一次电流和电压都是大电流或高电压的信号,不能直接送至A/D转换器,所以必须将变电站电压互感器或电流互感器输出的强电信号,经过一个小电压互感器或小电流互感器,变换成A/D转换器所能接受的电压信号。 本系统中,数据采集是基于RTLinux操作系统平台,选用C编程语言。C编程语言作为一种高级语言、书写方便,易于开发大型应用程序。数据采集程序框图如图5所示,嵌入式CPU通过ISA总线对数据采集进行控制操作,A/D转换的结果和各开关的状态值被写入共享内存。通过共享内存的机制,在配电网中采集的数据被自动地实时监视,以保证测量值、计算值位于容许的限度内。对状态值,主要监视其变化,并以正确的时序记录下来。对测量值、主要监视其变化率并记录其连续变化趋势。
3.3数据库设计
电网监控系统的处理过程其实就是数据采集、数据传递和数据处理的过程,其中对于数据的处理难免要用到数据库。数据库就是将数据用计算机处理后加以保存,通过规则的排列顺序及分类,使得可以快速的提取或维护数据。
数据库为电力系统监视和运行控制计算提供正确的依据,在此采用MySQL实现对配电网采集的数据进行管理。MySQL作为一种服务器后台数据库,由于它具有功能强大、灵活多变、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大软件爱好者甚至是商业软件用户的欢迎,特别是与Apache和PHP结合,将为建立基于数据库的动态网站提供强大动力。它具有功能强、使用简便、管理方便、容易使用、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL数据库的程序。
本系统数据库设计包括8个数据表,分别用于对输入模拟量、输出模拟量、输入输出开关量、控制信息等的存储处理。过时的历史数据的删除操作由程序按时间自动进行删除,不需人工干预,保证了有足够的磁盘空间存储最新的历史数据。
3.4 Web网页控制的实现
在电力系统,基于嵌入式Web服务器技术建立的新型监测和控制系统,将有效降低系统运行维护费用,提高系统管理水平,在电力系统有着广泛的应用前景。嵌入式服务器比起以往PC机服务器结构简单,尺寸微小,价格低廉;当把嵌入式监测系统与Internet连接,配置好IP地址并运行网络服务器后,用户通过网络就可以在浏览器中访问存在于系统中的主页了,从而对远程设备进行监测。采用Apache+PHP+MySQL的全免费组合方式实现基于W eb的远程测控。A-pache是服务器端软件。它是以模块化的方式来设计的,有较高的负荷上限,而且稳定快速。PHP是一种服务器端脚本语言,采用PHP语言编写程序对MySQL数据库进行操作,生成动态网页。电网的安全关系着国家经济的命脉,其监控数据是高度机密。Internet虽方便了与远方控制中心的数据交换,但随之而来的就是数据安全问题。为了保证远程控制的安全性不被非法侵入,本系统采用了两层的安全防护措施。在服务器级进行了安全访问限制,在网页上利用PHP的session实现密码认证,防止了非法入侵。由于采用了PHP语言,实现的远程监控网页是一个动态交互的操作界面,通过点击实现控制;对受控对象的信息显示,每秒自动刷新一次,保证了显示信息与实际采样信息的一致。
3.5图形界面
GUI (Graphics User Interface)是图形用户界面,嵌人式GUI是在嵌人式系统中为特定的硬件设备或环境而设计的图形用户界面系统。它并不是简单地建立在单一平台上,而是分为几个模块分别使用不同的工作机制。使用这样的复合方案是为了节省系统的计算资源和降低功耗。Q T/Embedded是先进的用于嵌人式Linux的图形用户界面系统。本監控界面的窗口管理系统、信号和消息的传递机制建立在Q T/Embedded平台上,并使用QT/Em-bedded的绘画引擎绘制窗体和对象。颜色管理方案则绕过Q T/Embedded直接建立在Framebuffer之上,Framebuffer是一种独立于硬件的抽象图形设备,是提供显示内存和显示芯片寄存器从物理内存到进程地址空间中的映射。它将显示设备抽象为帧缓冲区,并且将它看成是显示内存的一个映像,这样就可以间接地对显示设备进行读写操作。GUI的外围设备触摸屏的驱动则通过Linux的API直接调用硬件来实现。
本系统的GUI使用多线程技术同时完成数据的提取、窗体的绘制、消息的响应、窗口管理等这些同时进行的任务。
4结束语
本文设计的电网监控模块,以嵌人式处理器为核心,设计了多串口电路、模拟量采集模块、开关量输人、开关量输出和人机接口,在RTLinux环境下编制了功能灵活的软件。考虑到工作环境的恶劣性,在硬件和软件的设计过程中,采取了抗干扰措施,有效提高了系统工作的可靠性。
关键词:电力系统 监控 嵌入式 CPU数据 库网络服务器
1引言
电力系统是由发电厂、变电所、输电网、配电网和用户的用电设备等组成,并由调度控制中心对全系统的运行进行统一的管理。电网监视和控制的计算机信息系统是为电网运行管理服务的特殊的信息系统,简称为电网监控系统。它是电力系统中一个功能比较专一的系统,同时也是一个不可缺少的现代化手段。
以计算机为中心的电力系统自动监视和控制系统的基本结构如图1所示,在电力系统的自动监视和控制系统中,信息收集系统的作用是确定系统的运行条件,提供每个控制功能所需要的信息输人,同时信息收集系统也将加强运行人员和系统间的联系,根据需要向信息人员提供电力系统的实时信息。
针对电力系统监控的特点和要求,本文研制的电网监控系统以嵌人式CPU板为核心,开发了多串口电路、模拟量输人与开关量输人/输出电路和友好的人机接口,配合功能丰富的软件,能实时地监测电力系统中各设备的运行工况,并能与电力系统监控后台或发电厂、变电站监控系统的通信,实现电力系统的集中监控和“遥测、遥控、遥信、遥调”。
2监控硬件模块
从组成来看,嵌人式系统包括硬件和软件两个部分,是两者的紧密结合。整个系统可以看成由微处理器、内存、软件系统、输入和输出四个部分组成,如图2所示。嵌人式电网监控系统硬件部分主要包括数据采集控制部分、嵌人式CPU板、液晶显示器、触摸屏等。
嵌人式系统的核心部件是嵌人式处理器。嵌人式系统通过网络设备与外界联系,接收外界数据并在处理后通过网络传出。本系统中采用以太网接口与电力系统监控后台通信,实现电力系统的集中监控和“四遥”功能。
人机接口采用液晶显示和触摸屏输人。与通用计算机相类似,嵌人式系统有时候也需要键盘或者鼠标一类的输人设备。但不同的是,嵌人式系统需要的是有限定的小键盘。为了控制方便起见,本文研制的监控系统采用触摸屏。
开关量输出板采用光藕和继电器二级隔离,工作可靠。开关量输人板采用光藕隔离,考虑到工业现场环境的恶劣性,在硬件和软件上都采取了一些抗干扰的措施。
3监控模块软件
软件部分是整个嵌人式系统的关键部分,主要包括操作系统软件和应用程序两部分,完成数据采集、数据处理、智能决策与控制、数据库的操作、人机图形界面、基于Web的网络监控等功能。应用程序的主要构架如图3所示,操作系统采用基于RTLinux内核的自定制操作系统。
程序各进程间的通信主要通过共享内存的机制来进行。远程测控(基于Web的网络测控)通过对数据库的操作,向数据库的控制表写控制规则,再由程序将控制信息读到共享内存区,经输出控制模块进行智能处理、决策后实现测控操作。历史数据查询显示直接通过对数据库的操作来实现。
3.1操作系统的定制
许多简单的嵌人式系统并不需要嵌人式操作系统(如单片机控制)。但是,随着嵌人式系统复杂性的增加,操作系统显得越来越重要。操作系统是计算机系统中最重要的组成部分之一,它是用户与计算机之间的接口。操作系统必须具有两方面的功能:一是为用户提供各种简便有效的访问计算机资源的手段,二是要合理地组织系统工作流程,对系统进行有效地管理。为了实现上述的基本功能,需要编制不同的功能模块,按层次结构将各个功能模块有机地组织起来,建立各种进程,以完成处理器管理、存储管理、文件系统管理、设备管理和作业控制等主要功能。
和一般的计算机应用系统不同,由于电力系统具有发电、输电、变电、配电和用电一次同步完成的特点,实时性很强。标准Linux系统是一个“非抢占式”的系统,当一个进程被系统调用并处于运行状态时,是不允许进程进行调度的。这就意味着一旦系统调用中有某个任务正在执行,那么该任务就会控制处理器,直到系统调用结束,而不管其使用处理器时间的长短,很容易导致一些更重要的任务(如报警)在等待系统调用完成的过程中被延误,系统不具备实时性。因此,选用了具备“抢占式”运行的RTLinux内核,在此基础上进行系统自定制,很好地满足了系统实时性和可靠性的要求。
如图4所示,嵌人式RTLinux的全部设计思想基于实时应用的划分。在这里,一个实时应用被划分成了一个运行于实时核心之上的实时进程及运行于Linux核心上的分时进程;RTLinux并没有对Linux内核作大的改动,而是利用Linux内核模块机制,采用插人模块的方式,通过一个独立的内核来管理实时任务。在加载了RTLinux内核之后,原来的Linux内核就作为实时操作系统的一个空闲任务,仅当没有实时任务要运行时才执行。
定制操作系统的关键是根据内存与CPU处理器的速度、DOC (Disk On Chip)等方面的限制,减少系统所需的资源。为此从发行版着手,裁减了不需要的模块,保留了引导工具、Linux微内核(包含内存管理、进程管理、事务处理等)、初始化进程,添加了相应的硬件驱动程序、实时内核、TCP/IP网络堆栈等。实现步骤如下:
3.1.1重新编译Linux内核,去除不需要的模块,添加需要模块。
3.1.2重新编写触摸屏驱动,使其运行不需Xfree86的支持,从而实现把系统定制得更小。
3.1.3重新编写以太网和串口驱动程序。
3.1.4定制后移植并编写init程序。
3.1.5安装应用程序。
3.2数据采集
从配电系统自动化的实现来看,最基本的功能应该是数据采集,这是实现其他功能的基础。数据采集的任务就是采集配电系统输出的模拟量和状态信息信号并转换成计算机能识别的数字信号,然后送入计算机,根据不同的需要由計算机进行相应的计算和处理,得出所需的数据。与此同时,将计算得到的数据进行显示或打印,以便实现对某些物理量的监视;其中一部分数据还将被计算机控制系统用来产生某些控制命令的物理量。由于电力系统、发电厂或变电站的一次电流和电压都是大电流或高电压的信号,不能直接送至A/D转换器,所以必须将变电站电压互感器或电流互感器输出的强电信号,经过一个小电压互感器或小电流互感器,变换成A/D转换器所能接受的电压信号。 本系统中,数据采集是基于RTLinux操作系统平台,选用C编程语言。C编程语言作为一种高级语言、书写方便,易于开发大型应用程序。数据采集程序框图如图5所示,嵌入式CPU通过ISA总线对数据采集进行控制操作,A/D转换的结果和各开关的状态值被写入共享内存。通过共享内存的机制,在配电网中采集的数据被自动地实时监视,以保证测量值、计算值位于容许的限度内。对状态值,主要监视其变化,并以正确的时序记录下来。对测量值、主要监视其变化率并记录其连续变化趋势。
3.3数据库设计
电网监控系统的处理过程其实就是数据采集、数据传递和数据处理的过程,其中对于数据的处理难免要用到数据库。数据库就是将数据用计算机处理后加以保存,通过规则的排列顺序及分类,使得可以快速的提取或维护数据。
数据库为电力系统监视和运行控制计算提供正确的依据,在此采用MySQL实现对配电网采集的数据进行管理。MySQL作为一种服务器后台数据库,由于它具有功能强大、灵活多变、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大软件爱好者甚至是商业软件用户的欢迎,特别是与Apache和PHP结合,将为建立基于数据库的动态网站提供强大动力。它具有功能强、使用简便、管理方便、容易使用、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL数据库的程序。
本系统数据库设计包括8个数据表,分别用于对输入模拟量、输出模拟量、输入输出开关量、控制信息等的存储处理。过时的历史数据的删除操作由程序按时间自动进行删除,不需人工干预,保证了有足够的磁盘空间存储最新的历史数据。
3.4 Web网页控制的实现
在电力系统,基于嵌入式Web服务器技术建立的新型监测和控制系统,将有效降低系统运行维护费用,提高系统管理水平,在电力系统有着广泛的应用前景。嵌入式服务器比起以往PC机服务器结构简单,尺寸微小,价格低廉;当把嵌入式监测系统与Internet连接,配置好IP地址并运行网络服务器后,用户通过网络就可以在浏览器中访问存在于系统中的主页了,从而对远程设备进行监测。采用Apache+PHP+MySQL的全免费组合方式实现基于W eb的远程测控。A-pache是服务器端软件。它是以模块化的方式来设计的,有较高的负荷上限,而且稳定快速。PHP是一种服务器端脚本语言,采用PHP语言编写程序对MySQL数据库进行操作,生成动态网页。电网的安全关系着国家经济的命脉,其监控数据是高度机密。Internet虽方便了与远方控制中心的数据交换,但随之而来的就是数据安全问题。为了保证远程控制的安全性不被非法侵入,本系统采用了两层的安全防护措施。在服务器级进行了安全访问限制,在网页上利用PHP的session实现密码认证,防止了非法入侵。由于采用了PHP语言,实现的远程监控网页是一个动态交互的操作界面,通过点击实现控制;对受控对象的信息显示,每秒自动刷新一次,保证了显示信息与实际采样信息的一致。
3.5图形界面
GUI (Graphics User Interface)是图形用户界面,嵌人式GUI是在嵌人式系统中为特定的硬件设备或环境而设计的图形用户界面系统。它并不是简单地建立在单一平台上,而是分为几个模块分别使用不同的工作机制。使用这样的复合方案是为了节省系统的计算资源和降低功耗。Q T/Embedded是先进的用于嵌人式Linux的图形用户界面系统。本監控界面的窗口管理系统、信号和消息的传递机制建立在Q T/Embedded平台上,并使用QT/Em-bedded的绘画引擎绘制窗体和对象。颜色管理方案则绕过Q T/Embedded直接建立在Framebuffer之上,Framebuffer是一种独立于硬件的抽象图形设备,是提供显示内存和显示芯片寄存器从物理内存到进程地址空间中的映射。它将显示设备抽象为帧缓冲区,并且将它看成是显示内存的一个映像,这样就可以间接地对显示设备进行读写操作。GUI的外围设备触摸屏的驱动则通过Linux的API直接调用硬件来实现。
本系统的GUI使用多线程技术同时完成数据的提取、窗体的绘制、消息的响应、窗口管理等这些同时进行的任务。
4结束语
本文设计的电网监控模块,以嵌人式处理器为核心,设计了多串口电路、模拟量采集模块、开关量输人、开关量输出和人机接口,在RTLinux环境下编制了功能灵活的软件。考虑到工作环境的恶劣性,在硬件和软件的设计过程中,采取了抗干扰措施,有效提高了系统工作的可靠性。