0 引言
随着科技进步,智能电网技术不断深入到输电、配电行业,智能高压开关柜是智能电网中重要的设备,在智能开关柜子通断电时,需要及时监测重要的电气参数,以便于输配电企业及时了解设备的运行状态,以便更好地为输、配电服务。
1 问题的提出
在高压开关柜控制系统中,断路器具有极其重要的作用,为了达到高效灭弧的目的,高压开关柜中断路器合闸、分闸等操作往往在极短的时间内完成整个动作。高压开关柜在储能、合闸、分闸等操作中需要采集如储能电机电流、合闸线圈电流、分闸线圈电流、合闸行程及分闸行程等重要参数,这些参数的好坏将会直接影响到设备的工作性能,因此,在实际工作中,往往需要将这些参数绘制成曲线显示在屏幕上。如何采集断路器各项参数及绘制性能曲线是本文的重点。
2 断路器数据采集
在高压开关柜控制系统中,常常采用模块化设计理念进行设计,各个模块之间通信采用RS-485方式连接在一起,这些模块称为IED设备。高压开关柜中最重要的控制模块莫过于断路器模块,下面我们以河南森海iCB-900型断路器为例,详细介绍断路器数据采集过程。
iCB-900型断路器是目前市面上比较新型的断路器,该断路器采用先进的DSP芯片作处理器,外加高速ADC,可以高速采集如存储能电机电流、合闸线圈电流、分闸线圈电流、合闸行程参数、分闸行程参数等重要数据,这些数据往往具有突发性和偶然性。一旦发生,往往是极短时间内需要高速采集,所以一般的CPU很难胜任,所以一般以高速DSP作为处理器,采用高速的ADC进行数据采集,然后将这些数据以文件的方式存放在数据缓冲区里,等待上层IED或上位机系统及时取走。
iCB-900断路器采用RS-485通信,波特率9600pbs,8位数据位,1位停止位,无奇偶校验,这种通信方式是典型的半双工通信方式,通信双方采用主(Master)/从(Slave)模式,工作方式为主设备轮询从设备,从设备收到轮询指令后,先判断是否是与本机的地址相同,如果相同则将本机数据封包上传,否则不予理会。这种轮询方式对于周期性数据,如各种状态信息比较有效;而对于非周期性数据如:储能电机电流、合闸线圈电流、分闸线圈电流、合闸行程参数、分闸行程参数等突发性数据上传就比较困难了。因此在工程实践中往往需要把这种具有突发性、偶然性数据单独封装成一个一个独立的数据包,但是这种数据又无法主动上传给上位机或上层IED设备。在工程为了可靠起见,常常采用类似信令的工作方式,在信令中规定某几位用于指示不同的数据包,当上位机或上层IED设备轮询的时候,将该信令以状态的方式封装在周期性状态数据包中,当采集到这些突发性数据时,将该信令对应的数据位置1,通知上位机或上层IED设备,上位机或IED设备将以不同的指令及时从缓冲区中读取对应的数据文件,当上位机或上层IED设备收到该数据文件后,向丛机设备发送一个应答数据包,同时将该数据写入到上位机或上层IED设备数据库中;并且将该数据以曲线的方式显示到绘图模块中,方便用户及时查看。
对于周期性数据如状态数据、累计合闸次数、累计分闸次数、累计储能电机次数、累计开断电流、当前开断电流等数据,这些数据存放在不同的缓冲区里,参见iCB-900数据地址表1。该数据与状态信息及信令信息一起上传,上层IED设备收到这些信息后,及时刷新断路器状态栏,以方便用户及时了解设备工作状态。
断路器智能组件支持4个输入寄存器的查询,每一个寄存器的数据地址及寄存器值所指代含义如下表所示:
表1 iCB-900数据地址
3 曲线绘制
断路器需要检测的数据比较多,在工作过程中,常常需要监测储能电机电流数据、分闸线圈电流数据、合闸线圈电流数据、分闸行程数据、合闸行程数据、为了方便显示用户查询数据,在人机界面分别设计5个功能按钮,参见图1。
上位机或上层IED通过串口收到的数据包后依次解析数据,数据采用数据报方式传输,收到下位机信令时,发送读取下位机数据报命令:下面以合闸行程数据为例,数据文件各个字段数据如下:
07 DD 2013年
00 06 06月
00 08 08日
00 0B 11时
00 28 40分
00 14 20秒
03 20 800us 绘图数据时间间隔
00 57 87 绘图数据数量
B5 A4 46500us A相合闸时间
B5 D6 46550us B相合闸时间
B7 CA 47050us C相合闸时间
00 32 50us A、B相合闸不同期时间
02 26 550us A、C相合闸不同期时间
01 F4 500us B、C相合闸不同期
03 6D 8.77mm A相开距
03 76 8.86mm B相开距
03 A0 9.28mm C相开距
01 0C 2.68mm A相超行程
00 ED 2.37mm B相超行程
00 E0 2.24mm C相超行程
00 3F 0.63m/s 合闸速度
以下为行程数据,数据值除以100后单位为mm
00 4F 00 5A 00 4200 49 00 3E 00 5A 00 53 00 4F 00 4C 00 4F 00 56 00 3B 00 3E 00 45 00 49 00 3E 00 56 00 45 00 4F 00 5A 00 45 00 53 00 42 00 3E 00 42 00 4F 00 45 00 4F 00 53 00 45 00 53 00 49 00 3B 00 4200 4F 00 45 00 4F 00 53 00 3E 00 5A 00 4C 00 4F 00 4C 00 64 00 99 00 BD 00 F4 01 29 01 42 01 61 01 76 01 AB 01 CB 02 1B 02 64 02 B2 02 FB 03 3D 03 6F 03 A6 03 D5 03 FA 04 3D 04 6F 0497 04 BD 04 DD 04 F3 05 04 05 11 05 16 05 1A 05 1A 05 1A 05 19 05 18 05 19 05 19 05 19 05 1A 05 1B 05 1A 05 1A 05 1A 05 1A 05 1A 05 1A 05 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
//WinCE下绘制合闸行程特性曲线参考代码如下:
void CBreakerCurveDlg::OnDrawSwitchondistanceCruve()
{
CString str1;
isTitle(_T("ms/t")); //修改X轴单位
isTitle(_T("mm/L"));//修改Y轴单位
isSubScale((double)XAxisSubScale/1000.0); //X轴最小刻度系数
Year =SwOnDistanceData; //获取年
Month =SwOnDistanceData; //获取月
Date =SwOnDistanceData; //获取日
Hour =SwOnDistanceData; //获取时
Minute=SwOnDistanceData; //获取分
Sencond=SwOnDistanceData; //获取秒
XAxisSubScale=SwOnDistanceData; //获取采样周期
WORD MaxValue=0x0000;
for (int i=0;i<87;i++)
{
if (MaxValue {
MaxValue=SwOnDistanceData;//获取最大数据,以便于实现自适应绘图
}
}
rYScale(0.01);
isScale(MaxValue);
istPoint(3);//选择绘图颜色及绘图画笔模式
for (int i=0;i<101;i++)
{
if (i<87)
{
Point(SwOnDistanceData);
}
else
{
Point(0); //不足101个点补足101个点。
}
}
PointCount(101);
for(int i=0;i<3;i++)
{
SwitchOnperiod =SwOnDistanceData;
SwitchOndistance =SwOnDistanceData;
SwitchOnOvertravel=SwOnDistanceData;
}
SwitchOnSpeed =SwOnDistanceData;
(_T("合闸时间:\r\nA=%6.2f\r\nB=%6.2f\r\nC=%6.2f (ms)\r\n\r\n不同期性:\r\nA= %4d \r\nB= 0 \r\nC= %4d (μs)\r\n\r\n开 距: \r\nA=%5.2f\r\nB=%5.2f\r\nC=%5.2f (mm)\r\n\r\n超 行 程:\r\nA=%5.2f\r\nB=%5.2f\r\nC=%5.2f (mm)\r\n\r\n合闸速度:%5.2fm/s \r\n发生时间: \r\n%4d年%02d月%02d日 \r\n%02d:%02d:%02d"),(double)SwitchOnperiod/1000.0,(double)SwitchOnperiod/1000.0,(double)SwitchOnperiod/1000.0,SwitchOnperiod-SwitchOnperiod,SwitchOnperiod-SwitchOnperiod,(double)SwitchOndistance/100.0,(double)SwitchOndistance/100.0,(double)SwitchOndistance/100.0,(double)SwitchOnOvertravel/100.0,(double)SwitchOnOvertravel/100.0,(double)SwitchOnOvertravel/100.0,(double)SwitchOnSpeed/100.0,Year,Month,Date,Hour,Minute,Sencond);
GetDlgItem(IDC_STATIC_BREAKERCURVEINFBOARD)->SetWindowText(str1);
}
该数据文件包经过解析后,然后在Wince环境中绘制到坐标轴上如图1所示。
图1 合闸行程曲线图
4 改进措施
需要做的改进措施主要有四点:
(1)实际上iCB-900断路器采集的有效数据点仅仅87个,为了方便绘制图形往需要补足101个点。
(2)为了实现程序功能,在程序设计过程中自定义了C2DGraphS类专门实现图像绘制功能,本程序中直接引用该类实现图像绘制功能。
(3)为了方便用户查询数据,在WinCE系统中集成了SQLCE数据库,通过相应的数据接口,将数据写入库中,用户可以及时查询历史曲线,方便了解系统的工作性能。
(4)为了方便在同一个模块上绘制曲线,我们将绘图曲线规格化,然后以自适应方式绘制曲线。
5 结论
该程序在35kV智能开关柜远程控制项目中测试通过,在实际运行过程中,目前程序运行正常。实践证明这种方法在iCB-900断路器数据采集和性能曲线绘制效果非常理想。
【参考文献】
蒋柱葱,谢云.基于嵌入式WinCE与MSP430单片机多串口通信设计.电子设计工程,2011,4,19(7).
尚秋峰,陈于扬,姚国珍,李灏.基于Wince嵌入式内核的新型电力参数实时测量系统.电力系统保护与控制,2010,38(22).
汪兵,李存斌,陈鹏,等.EVC高级编程及其应用开发(Embedded Visual C++嵌入式编程).中国水利水电出版社,2005,3.
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。