1、引言
我国配电网自动化的建设发展比较缓慢,建设资金短缺,设备技术性能落后,事故频繁发生,影响了生活和经济的发展。随着电业的发展和电力市场的建立,配电网自动化的薄弱环节显得越来越突出,形成电力需求与电网设施不协调的局面。近20年的研究和实践,虽然配电自动化取得了进步,但是研究与实践成果大多数都是在高压配电网(35kV以上),而在工厂或区域配电站的自动化(配电房这一层次)问题上, 基本上还是一片空白。电网末端的用电主要表现在网络混乱、装备陈旧、自动化水平低、维护工作量大、供电可靠性低等方面。这种情况严重制约了电网末端的楼宇居民用电和大中型企业的进步和发展。
2、系统设计
随着计算机、通信技术、电子技术为代表的3C技术、现场总线技术和电力工业自动化的飞速发展,为配电自动化的实现奠定了基础。本项目研究开发出了一套完整的中低压自动化综合系统HS-NET。该系统是通过计算机技术、通讯技术、电子技术和控制技术对配电网及
2.1 总体体系结构
HS-NET自动化系统总体上采用分层分布式体系结构,按照纵向分为远程管理层、设备控制层和现场设备层三大部分,如图1所示。
图1 总体体系结构图
2.2 远程管理层
管理层是由三台计算机和一台打印机组成。正常情况下用一台计算机监控管理,其他两台作为冷机备用。在异常或紧急情况下,其他两台备用计算机用来保证远程管理的正常工作。
2.3 设备控制层
设备控制层是由威达电HMI工控机、UPS、光纤转换器组成。设备控制层属于“中介层”,起到向下采集控制向上通报管理的作用。在设备控制层安装了三维力控组态软件PCAUTO,与现场设备层利用RS-485接口,采用Modbus或Profibus-DP等通信协议进行数据的传输;与远程管理层利用计算机网卡,采用TCP/IP以太网协议进行数据的远程传输。
2.4 现场设备层
现场设备层主要由配电柜、断路器,网络仪表、通信模块和通信线组成。根据选用的总线方式不同设计方案也有所不同。总体的设计思想是要实现现场配电设备的联网,现场设备层的配电设备应具有RS-485通讯端口或者不带通信接口的元器件选配智能化通信模块,将配电设备的各个参数上传给设备控制层,控制层怎么来采集各个参数并解析给用户,需要一个数据采集、解析、显示的应用软件包提供集成功能,三维力控的PCAuto组态软件为我们提供实现了实现这一功能的条件,在此软件平台上组建自己的配电设备,在设备控制层上对每个配电设备进行了地址编排,可以很清楚的知道配电设备的物理地址,方便故障查询、线路维修;在远程管理层的管理软件,为了能够实时的监控,提高可靠性、减少数据冗余、实质是我们控制层软件的一个WEB发布,大量数据的访问通过SQL Server来远程访问。
整个系统的灵活性,考虑采用各种功能模块,各功能模块可以独立装入或卸出,并可以灵活组合,进一步增强了系统的扩展性以及同其他系统的互连性。
整个监控系统通信子系统采用设备(通信口)与协议解析分层的设计原则。它们之间有标准的模块接口,增强了系统的可组态性和可扩展性。
监控系统中接入的器件应是具有通信功能的电子器件或块,例如网络电力仪表、双电源、变频器、软启动器、开关输入输出模块以及智能断路器等。采用Modbus、Profibus-DP、DviceNet、LonWorks等通信协议,实现对配电设备的“遥控、遥调、遥信、遥测”四遥功能,具有友好的人机界面,操作简单快速,配置直观简便。在上位机上不仅可以看到所有的电参数(三相电压、电流、功率、电能等)、线路运行参数、开关(分合闸)状态;而且可以通过上位机对各种配电设备进行控制操作,例如:智能断路器的分合闸操作、整定参数的设定修改、电动机的起停、正反转以及速度的
设定修改,操作简单快速。各种故障报警、趋势曲线、数据报表,操作记录能在屏幕上清楚的显示,减轻了工作人员的工作强度;同时对电能质量和设备故障及时检测、分析,使值班人员能在事故初始阶段及时处理,减少电网事故造成的损失,是现代配电自动化的最佳选择。综上分析,可以看出问题的关键是软件部分,一是配电设备数据的采集,需要开发下位机的驱动程序,二是友好界面的显示,需要开发组态界面;因此软件部分的开发也分两个大的部分:
(1) 下位机驱动程序的开发与实现(非标准的MOD- BUS总线协议需要用户开发驱动程序);
(2) 上位机组态界面的开发与实现。本文重点介绍如何利用力控实现我们的人机界面、实时报警、故障查询、远程监控,管理自动化等上位机组态系统功能。
3、力控软件包应用与开发
3.1 力控简要介绍
 
系统组态软件的串行通信组建,可以实现两台计算机之间的低成本通信,采用RS-232/485接口,可实现一对一(1:1方式)的通信;如果使用RS-485总线,还可以实现一对多台计算机(1:N方式)的通信,轻松组建RS-485工业总线网。同时系统组态软件也提供无线通信组件,以适应覆盖范围广、通信距离远、野外等恶劣工作环境。
3.2 力控的数据流
参见图2,力控的通用版基本组件为I/O服务程序(IOSERVER)、区域数据库DB,人机界面(VIEW),数据流过程如下:IO连接项配置完成后,硬件设备的寄存器的内容通过IO通讯便采集到DB的点参数里(缺省为PV),完成VIEW的数据库变量组态后,DB的点参数自动便映射到VIEW数据库变量里,便完成了整个数据的采集过程。
图2 力控界面组态软件流程
力控与I/O设备之间一般通过以下几种方式进行数据交换:串行通信方式(支持Modem远程通信)、板卡方式、网络节点方式、适配器方式、DDE方式、OPC方式等。对于采用不同协议通信的I/O设备,力控提供具有针对性的I/O驱动程序,实时数据库借助I/O驱动程序对I/O设备执行数据的采集与回送。实时数据库与I/O驱动程序构成服务器/客户结构模式。一台运行实时数据库的计算机通过若干I/O驱动程序可同时连接任意多台I/O设备。无论对于哪种设备,都需要确切知道设备及该点的物理通道的编址方法。I/O设备配置完成后,能在浏览器的目录树列出I/O设备的设备数据源,此后,即可以使用配置过的设备名称进行数据连接。系统投入运行时,力控通过内部管理程序自动启动相应的I/O驱动程序执行与I/O设备的实时数据交换。
3.3 系统组态
在应用与开发时,总体分为三个步骤进行力控的系统组态,实现人机界面功能。
(1) 设备的配置(I/O组态):主要的说明下位机名称,数据更新周期,设备地址,通信方式(在此采用串口(RS-232/422/485)方式。采用串口COM1,设置波特率9600、数据位8位、奇偶校验无、停止位2位。如图3、4所示。
图3 设备配置图第一步操作
图4 设备配置图第二步操作
(2) 实时数据库的组态:根据不用器件的通信协议,将器件参数一一组
态到实时数据库中,并且通过数据连接项连接到每个下位机器件上,如图5所示。
图5 实时数据库的组态
(3) 界面组态:利用力控提供的组态工具给用户一个友好的界面,使用户充分感受到配电自动化给他们带来的方便与实用,图6是网络仪表的组态界面图。
图6 网络仪表的组态界面图
3.4 系统功能及实现
(1) 友好的人机界面
HS-NET智能网络配电与远程监控系统基于北京三维力控科技有限公司的PCAUTO组态软件,系统采用动态数据交换技术(DDE)和WINDOWS API驱动编程,使系统具有良好的可靠性和可扩充性,可根据用户需求组建智能配电网络系统。系统中接入的器件是具有通信功能的电子器件或者不带通信接口的元器件选配智能化通信模块,采用Modbus、Profibus-DP、DviceNet、LonWorks等现场总线通信协议,实现对配电设备的“遥控、遥调、遥信、遥测”四遥功能,具有友好的人机界面,操作简单快速,配置直观简便。在上位机上不仅可以看到所有的电参数(三相电压、电流、功率、电能等)、线路运行
(2) 遥调功能
智能设备的通讯系统能通过上位机远程下载各进线、联络或主要出线回路从站设定值。如针对某一回路框架断路器进行保护参数设定等。
(3) 遥测功能
智能总线系统能通过上位机远程测量各个回路从站(控制单元)的电量参数:
主进回电路:三相电流、三相电压、有功功率、功率因数、有功电能、无功电能等;
配电回路:三相电流、相电压/线电压、有功功率、有功电能等;
出线回路:三相或单相电流等;
电动机回路:三相或单相电流、相电压/线电压、功率因数等;
其他:电网频率、谐波分量等。
具体可遥测的参数根据设计需要确定。
(4) 遥控功能
智能总线系统能通过上位机对各个从站实现以下功能。
配电回路:控制开关的分闸、合闸;
电动机控制电路:电动机的启动、停止、复位等操作。
具体可遥控的功能根据设计需要确定。
(5) 遥信功能
智能总线系统能通过上位机对从站实现以下遥测功能。
通讯状态;
开关状态、补偿电容器投切状态;
电动机回路操作次数/运行时间;
连锁信息和MCC柜抽出式单元位置信号等。
(6) 实时报警功能
为了使用户能在事故的初始阶段及时发现现场的故障,该工程设置了实时报警功能,可以实时的把发生故障的日期、时间、站点号、配电器件名称、报警类型等通过顶层窗口反映给用户,如图7所示:
图7 实时报警功能
(7) 故障查询功能
为了解决目前配电系统所存在的问题(本文引言内容),该软件特意设计故障查询功能。各种故障报警、操作记录能在屏幕上清楚的显示,减轻了工作人员的工作强度;同时对电能质量和设备故障及时检测、分析,使值班人员能在事故初始阶段及时处理,减少电网事故造成的损失。
故障查询功能是利用力控提供的外部通信接口,支持目前主流的数据通信、数据交换标准。包括:DDE、OPC、ODBC等。在该系统中我们使用的是ODBC标准,和第三方Microsoft SQL Server进行数据交换存储。
3.5 故障查询功能程序设计
(1) 先创建一个按钮,左键函数为SQLSelDatSour(DataSourceDesc),用于得到运行时动态得到数据源描述。执行该函数时会出现数据源选择框。此程序程序中得到的数据源描述为:DSN=新演示柜数据;DBQ=E:bjjl.mdb;DriverId=25;FIL=MS Access;MaxBufferSiz
e=2048;PageTimeout=5;UID=admin。(2) 在力控的数据表管理下创建绑定表:名称为:ssbjsjbdb。如图8所示:
图8 绑定表
(3) 在力控下创建SQL数据表模板,表名为ssbjsj。如图9所示。
图9 SQL数据表模板]
(4) 根据模板,利用SQLCreateTable(ConnectID,"TableName","TableTemplate")函数,创建数据报表。
(5) 写数据库程序设计。流程如图10所示。
图10 写数据库程序流程
程序设计:
SQLConnect(ConnectID,"DSN=新演示柜数据源;DBQ=E:bjjl.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;");
SQLCreateTable(ConnectID, ssbjjl, ssbjsj);
 
bj03=$Time;
bj04="0101";
bj05="HSY1网络仪表";
bj06="设备故障";
bj07="通信中断";
bj08=0;
bj09=0;
bj10=0;
bj11=0;
bj12=0;
bj13=0;
bj14=0;
bj15=0;
bj16=0;
SQLSelect(ConnectID,"bjjl","");
SQLInsert(ConnectID,"ssbjjl", "ssbjsjbdb");
SQLRowCount(ss);
BJBZ="1";
SQLDisconnect(ConnectID);
(6) 读数据的程序设计。流程如图11所示:
图11 读数据库程序流程
程序设计:
SQLConnect(ConnectID1,"DSN=杭申演示柜数据源1;DBQ=E: jjl.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;");
IF istime==1 THEN
IF (#year12.ListGetSelection()>#year13.ListGetSelection())||((#year12.ListGetSelection() ==#year13.ListGetSelection())&&(#month12.ListGetSelection()>#month13.ListGetSelection()))|| ((#year12.ListGetSelection()==#year13.ListGetSelection())&&(#month12.ListGetSelection() ==#month13.ListGetSelection())&&(#day12.ListGetSelection()>#day13.ListGetSelection())) THEN
MsgBox("对不起!请确保您输入的查询时间是正确的!");
return 0;
ELSE
ENDIF
year1=IntToStr(#
year2=IntToStr(#year13.ListGetSelection()+2005, 10);
IF (#month12.ListGetSelection()+1)<10 THEN
month1="0"+IntToStr(#month12.ListGetSelection()+1, 10);
ELSE
month1=IntToStr(#month12.ListGetSelection()+1, 10);
ENDIF
IF (#month13.ListGetSelection()+1)<10 THEN
month2="0"+IntToStr(#month13.ListGetSelection()+1, 10)
ELSE
month2=IntToStr(#month13.ListGetSelection()+1, 10);
ENDIF
IF (#day12.ListGetSelection()+1)<10 THEN
day1="0"+IntToStr(#day12.ListGetSelection()+1, 10);
ELSE
day1=IntToStr(#day12.ListGetSelection()+1, 10);
ENDIF
IF (#day13.ListGetSelection()+1)<10 THEN
day2="0"+IntToStr(#day13.ListGetSelection()+1, 10);
ELSE
day2=IntToStr(#day13.ListGetSelection()+1, 10);
ENDIF
ELSE
ENDIF
IF (isdlq==1)&&(istime==1) THEN
WhereExpr="设备代号="+" "+qjxz+" "+" AND "+"日期>="+" "+year1+"/"+month1+"/"+day1+" "+" AND "+"日期<="+" "+year2+"/"+month2+"/"+day2+" "+" ORDER BY 日期 ASC, 设备代号 ASC";
ELSE
IF (isdlq==1)&&(istime==0) THEN
WhereExpr="设备代号="+" "+qjxz+" "+" ORDER BY日期ASC";
ELSE
IF (isdlq==0)&&(istime==1) THEN
WhereExpr="日期>="+" "+year1+"/"+month1+"/"+day1+" "+" AND "+"日期 <="+" "+year2+"/"+month2+"/"+day2+" "+" ORDER BY日期ASC, 设备代号ASC"; ;
ELSE
WhereExpr="序号>=0"+" ORDER BY日期ASC, 设备代号ASC";
ENDIF
ENDIF
ENDIF
SQLSelect(ConnectID1,"ssbjjl",WhereExpr);
SQLRowCount(jls);
SQLDisplayToGrid("ssbjsjw");
SQLDisconnect(ConnectID1);
图12是显示实时报警事件的查询结果案例。以上是一个关于通信故障的查询过程(为了试验期间,这些故障是我们故意设置的),该工程还可实现故障跳闸数据查询和分合闸操作记录查询,大大增强了系统的可靠性。
图12 实时报警事件的查询结果
4、结束语
HS-NET自动化配电监控系统在我公司配电房(配电器件都用的是国内产品)的实际应用中,采用的是Modbus总线协议、波特率19.2kbps,配电房到主控室的距离大约300m,可对我公司的综合大楼、模具车间、断路器车间、装配车间、电梯、联络柜等21个站点进
配电房或变电站采用现场总线后实现真正的分层、分布式结构,这种完全分层分布式系统,进一步提高了整个系统的可靠性,使系统具有很大灵活性和可扩充性,符合国际上综合自动化系统的发展趋势。
由于现场总线本身存在的不可避免的问题,如电磁场的干扰、噪音问题、轮询式的总线查询方式以及国内现场总线的技术的局限和智能配电器件性能的某些不完善,都给该系统带来了一些不可避免的问题,虽然这种问题目前不会影响到系统的正常运行,但是仍然存在隐患。还有待于国内现场总线硬件器件的提出了适应于大中型企业的配电房可以使用外,该系统还适用于110kV及以下城乡变电站、箱式变、发电厂用电、楼宇自动化、工矿企业配电房等的变电、受电、馈电、监控和各种终端配用电等的远方控制与管理。系统集监视、测量、控制和通信等多种功能于一体,是一种开放式、网络化、单元化、可扩展性好的监控管理系统;同时HS-NET也提供无线通信组件,以适应覆盖范围广、通信距离远、野外等恶劣工作环境。