电力系统监控平台客户端的分析与实现
2016-03-31王艳锋中国五洲工程设计集团有限公司北京100053
张 亮/杨 林/王艳锋(中国五洲工程设计集团有限公司,北京100053)
电力系统监控平台客户端的分析与实现
张亮/杨林/王艳锋(中国五洲工程设计集团有限公司,北京100053)
摘要根据现场实际考察,对电力系统监控平台客户端进行了分析和论述。利用功能较完善、兼容性较好的软件实现系统的监控,有助于提高系统的安全性和可靠性,减少额外的工作量。针对西门子公司的WinCC监控软件,对其在系统中的应用进行了介绍。
关键词监控平台客户端 WinCC 监控软件
Analysis and Realization of the Client of Power System Monitoring Platform
Zhang Liang/Yang Lin/Wang Yanfeng
Abstract According to the site investigation,an analysis of the client of the power system monitoring platform is made.Since using fully functional software with perfect compatibility helps improve the security and reliability of the system and reduce extra workload,the application of WinCC monitoring software belonging to SIEMENS in the system is introduced.
Keywords monitoring platform client,WinCC,monitoring software
0 引言
随着计算机和互联网技术的发展,计算机网络在电力监控系统的应用越来越广泛,监控系统的软件客户端是监控系统的核心部分。电力监控系统的基本功能(如线路电流、电压的实时显示、曲线趋势图、电力线路故障报警、报表生成等)一般由软件工程师编程完成。由于整个系统比较庞大,独立编程工作量过于繁重,使用成熟的监控软件可以缩短系统的研发周期,同时也可使系统的可靠性和兼容性大大提高。WinCC软件是德国西门子公司开发的监控软件,其功能完善且扩展性强。通过对国外电力监控系统软件的使用,也可以对国内软件研发提出建设性意见[1]。
1 电力监控系统的硬件构成
电力监控系统包括上位机层、前端机层、智能监控层和负载层4个部分,系统结构如图1所示。
上位机层为笔记本计算机或控制中心计算机,用于整个电力系统的人员安排、系统设备监控管理和综合数据分析;前端机层选用工业计算机作为现场控制设备,是监控系统的重要组成部分,有利于现场监控操作,可以更直接地控制和管理现场设备,符合智能监控系统的要求;智能监控层是系统的基本监控部分,担负现场原始数据的检测和设备的直接控制;负载层为电力系统基本设备,如电力变压器、发电机、电力线路等基本电力设施[2]。
图1 监控系统结构图
2 电力系统监控平台客户端的分析和应用
2.1客户端基本功能和实现
2.1.1安全功能
为了防止误操作和无授权单位的非法操作,客户端软件可以设置用户管理权限,即在用户管理目录下设置用户和密码,并且在编辑画面中进行操作权限设置,实现客户端监控画面的保护。
2.1.2基本组态功能
通过在变量管理中创建变量,可以在图形编辑器中进行包括系统中电流、电压、温度和压力等数据的采集和分析、系统实时变量曲线及界面动画的显示,在报警记录中可以进行系统故障报警分析处理,在报表编辑器编辑数据报表打印输出。[3]
2.2脚本运行系统
由于客户端软件面向对象的范围比较广,不可能涵盖某一专业所需要的所有动作和功能,因此客户端软件除提供基本功能外,还为用户提供了开放的编辑平台,用户可以根据自身需要,利用国际通用的编程语言,通过编写程序,对软件功能进行扩展。
2.2.1ANSI-C脚本
WinCC软件兼容C语言编程。其基本动作由相应的触发器触发,而函数不需要触发器,作为动作组件使用,其工作原理如图2所示。
函数是由C语言代码编译而成,其中有软件中集成的基本函数功能,用户也可以根据实际需要编写适合现场应用的复杂动作。客户端中的函数和动作范围如图3所示。
图2 C-Script动作和函数的工作原理
图3 函数和动作范围
下面以C-Script完成按钮触发调用函数求取三个数据平均值为例进行详细讲解。应用此功能可以方便地计算三相回路的平均电流。
首先,编辑求取平均数的C函数。首先打开全局范围有效的C函数编辑器;右键点击项目函数,新建一个项目,然后编写如下函数代码:
Double MeanValue(double dvalue1,double dvalue2,doubule dvalue3)
{
Double dMeanVlue;
dMeanValue=(dvalue1+dvalue2+dvalue3)/3;
Return dMeanVlue;
}
然后对函数进行编译和保存。核对编辑窗口下端编译器的编译结果,有无错误信息,如果有错误信息,则应检查函数代码,更正错误信息,完成之后继续编译纠错,直至完全正确。对于报警信息,由于不影响系统运行,可以选择更改或者忽略。
下一步编辑按钮的触发动作。在图形编辑器中打开目标画面,调出对象属性工作框;在目标属性或事件中选择C动作打开。C动作的标题可以自动生成,且不能更改。在标题第一行包括apdefap.h文件,可以向C函数库通报所有函数。C动作的第二部分为C函数标题,第三部分括号中的内容为函数的代码。其具体代码为:
#include“apdefa.h”
Void onclick(cgar^lpszFidureName.char^lpszFraptyName)
{
Double dxalue1=206;
Doulbe dvalue2=78;
Double dvalue3=96;
Double dMeanValue
Double dMeanValue=MeanValue(dvalue,dvalue2,dvalue3)print
Printf(“fexampl2 ”)
Printf(“The meanvalue r n”dvalue1,dvalue2,dvalue3,dMeanValue)
}
最终对函数进行编译纠错,如有故障信息则应及时更正。最终,运行图形进行输出,检验编程效果。
2.2.2VBScrip脚本
WinCC客户端软件还可以利用VBScrip进行编辑动态化图形对象。VBScrip动作、过程和模块的关系如图4所示。
图4 VBScrip动作、过程及模块关系图
类似于C函数,VB脚本函数只需创建一次就可以在其他项目重复调用。在编写时应注意,相互关联调用的过程应当置于相同模块里。由于过程被调用时,包含对应功能的模块也会被调用,则应注意,同一画面中,正在加载的模块数量越大,则系统运行性能越差;模块规模越庞大,过程动作越多,那么其加载运行就需要更多时间。因此,在程序编写过程中应尽量使程序结构简单,以提高系统的运行性能。
例如,下面的代码在客户端运行时,单击画面一次,把圆形的直径设置为30。
Dim objCircle
Set objCircle=ScreenItems(“Circle1”)
Objcircle:radius=30
VB也可以在给变量赋值以后进行错误检查,并且如果有错误发生,错误代码和错误的描述信息就会在全局脚本的诊断窗口中显示。最终,进行质量代码检查,如果检测结果正常,则同样会在诊断窗口显示,其代码如下:
Dim objTag
Set objTag=HMIRuntime.Tags(“Tag1”)
objTag.Write 9
If 0<>objTag.LastError Then
HMIRuntime.Trace“Error:”
&objTag.LastError&vbCrLf&
“ErrorDescription:”&objTag.
ErrorDescription&vbCrLf
Else
objTag.Read
If&H80<>objTag.QualityCode Then
HMIRuntime.Trace“QualityCode:Ox”Hex(objTag.QualityCode)&vbCrLf
End If
End If
2.2.3VBA编辑器
在WinCC软件中同时也集成有VBA编辑器,VBA编辑器可以用作自动化的组态,其功能和Microsoft Office中的VBA功能及编程方法相似,可以直接用VBA编程语言和编程习惯进行编程。VBA可以增强图像编辑器的功能,可以编辑画面和对象,同时还可以为画面和对象增加动态属性。VBA虽然不能取代动态向导,但是,VBA可以使动态向导的功能增强。下面以定义一个对象的属性为例,介绍一下VBA编程,以下代码的功能是把一个圆插入画面中,同时圆的背景颜色和线宽被改变。
Sub EditDefindeObjectType()
Dim objCircle As HMICircle
Set objCircle=ActiveDocument.HMIObjects.AddHMIObject(“myCircleAsCircle”,
“HMICircle”)
With objCircle
‘Direct calling lf objectproperties abailable
.BorderWidth=4
.BorderColor=RGB(255,0,255)
END With
End Sub
依靠以上三种开放性的编程方式,用户可以根据需要自由组态所需的各种功能和动作,依靠强大的扩展功能,WinCC可以很好地应用于电力系统的输配电客户端监控。
2.3开放的网络通信接口
WinCC监控客户端软件兼容OPC串口通信、PROFIBUS通讯以及工业以太网通信。可以兼容多种品牌设备的通信传输,且组态和运行方式简便可靠。适合智能化的需求,有很大的借鉴意义。
2.4强大的实时数据库
WinCC具有强大的实时数据库,可以归档过程值变量和消息。储存能力很强,数据按时间段储存,如果其容量超过限制或到达更新时间,则旧的数据会被新的数据片段取代,使归档重新开始(如图5)。为了防止数据丢失,可以在硬盘中设定储存空间进行数据备份。
图5 归档数据结构示意图
WinCC客户端软件的监控界面可以显示工作电流和工作电压,以及继电保护状态。同时,可以根据历史故障记录和历史曲线,对历史故障进行分析。
3 结束语
电力系统的客户端建设是我国电力系统智能化建设的重要组成部分,由于WinCC在各行各业的广泛应用,使其有着强大的使用优势。借鉴国际先进的组态软件可以在短时间内完成系统客户端的建设,并且可以保证系统稳定可靠运行。在客户端的使用过程中,同样可以吸取其先进的设计理念,为国产客户端的科研开发提供更多的参考经验。
参考文献
[1]马国华.监控组态软件及其应用[M].北京:清华大学出版社,2001.
[2]马明建,周长城.数据采集与处理技术[M].西安:西安交通大学出版社,1998.
[3]王实,刘晓明.深入浅出wincc6.0[M].北京:北京航空航天大学出版社,2004:89 -110.
张 亮
毕业于哈尔滨工业大学电气工程及其自动化专业,就职于中国五洲工程设计集团有限公司,高级工程师,电气室主任。作为电气专业负责人承担了数十项大型项目的设计工作,包括化工、烟草、电厂、办公、住宅等工业及民用项目,参编《工业建筑节能设计统一标准》、《110kV及以下电力电缆终端和接头》等国家标准,并发表《智能照明控制系统》、《垃圾焚烧发电工程的电气主接线比较》等多篇论文。
作者简介