APP下载

UPS实时监控系统的设计

2013-08-01刘春玉

关键词:蜂鸣器控件串口

周 波,刘春玉,王 毅

(武汉理工大学自动化学院,湖北 武汉 430070)

随着功率器件和控制技术的发展,不间断电源(uninterruptible power system,UPS)已经运用于越来越多的行业。UPS系统本身的容量和电池的寿命是有限的[1],如果使用人员无法及时获取相关信息,那么会造成不可估量的损失。监测UPS系统的运行状态、对其进行故障诊断、发出报警信息和及时的控制是非常必要的。同时创建数据库系统记录UPS的各种信息,方便使用人员以后分析和诊断也是很有必要的。

笔者以双变换在线式 UPS[2-3]为架构,介绍了系统的主电路和辅助电路设计。用蜂鸣器、LED指示灯和基于Visual Basic开发的监控软件来对UPS系统进行监测和控制。

1 UPS硬件电路

1.1 主电路结构

UPS的种类很多,笔者设计的是一种双变换在线式UPS架构,它是单相市电输入,高质量的单相220 V50 Hz输出的3 kW的UPS。其主电路由整流电路、PFC[4]升压电路、逆变电路、蓄电池组、滤波电路和转换开关等部分组成,如图1所示。

该双变换在线式UPS总共有3种工作方式,以逆变电路供电为主。3种工作方式中,由转换开关实现旁路供电、市电整流供电和蓄电池供电之间的切换。

图1 主电路结构图

工作方式1:当市电正常时,一方面负载由市电整流、升压、逆变后供电,另一方面,若蓄电池组电量不足,市电整流后通过双向DCDC变换器给蓄电池充电。市电经过输入滤波电路后,再进入整流电路、PFC升压电路和逆变电路,之后经过输出滤波电路得到高质量的220 V50 Hz的交流电压,给负载供电。

工作方式2:当市电异常时,负载由蓄电池组逆变后供电。蓄电池组的电压经过双向DCDC进行升压和逆变电路后,经过输出滤波电路给负载供电。

工作方式3:当逆变器异常时,负载由市电直接供电。

1.2 控制电路结构

UPS的控制电路包括采样单元、微处理单元(micro control unit,MCU)和监控单元,如图2所示。采样单元包括电压采样、电流采样和温度采样;微处理单元选用TI的TMS320F2812;监控单元包括蜂鸣器、系统指示灯和PC机。采样单元检测和转换主电路的电压、电流和温度信号,传递给MCU,MCU根据采样结果发出指令,产生主电路的IGBT(insulated gate bipolar transistor)的脉宽调变控制信号、蜂鸣器的控制信号、系统指示灯的控制信号,以及PC机上位机软件所需要的数据。使用人员可以通过PC机的上位机软件发出控制指令给MCU,MCU再控制主电路的运行。

图2 UPS控制电路结构图

蜂鸣器的作用是向使用人员发出听觉报警信息,当蜂鸣器鸣叫后,使用人员要去查看鸣叫原因。它在以下情况会发出鸣叫:①当市电异常时,负载由蓄电池组逆变后供电,蜂鸣器鸣叫声音小且鸣叫时间间隔较长;②当逆变器异常时,负载由市电直接供电,蜂鸣器鸣叫声音大且鸣叫时间间隔较短;③当UPS系统温度稍高或负载率较大但未超过警戒线时,蜂鸣器鸣叫声音小且持续鸣叫;④当UPS系统运行出现故障时,蜂鸣器鸣叫声音大且持续鸣叫。

指示灯的作用是向使用人员发出视觉报警信息。整个系统共有两个指示灯:一个指示控制电路是否正常;一个指示主电路是否正常。

PC机通信采用RS-485远程串行通信接口与RS-485转RS-232相结合的方式,既能发送数据给PC机上位机,也能接收来自PC机上位机的数据。

2 基于VB的上位机监控软件

2.1 软件设计流程

上位机监控软件的基本功能有监测、控制、报警和数据存储。软件设计流程图如图3所示。

UPS监控系统软件的设计包括程序编写和界面设计,程序编写主要是串口通信和数据库,界面主要包括菜单和4组显示界面。

2.2 串口通信

VB能够利用MSComm控件十分方便地开发出计算机串口通信的应用程序。主要流程为[5]:

(1)引用MSComm控件。选择“部件”;点击“控件”;添加“Microsoft Comm Control6.0”。

图3 软件设计流程图

(2)串口初始化。选择端口号;设置接收和发送数据类型;设置数据长度;设置波特率、奇偶校验位、数据位和停止位;设置OnComm事件响应方式。

(3)数据接收。接收到一个字符;产生On-Comm事件;进入OnComm函数;判断数据类型;保存数据→数制转换。

(4)数据发送。数制转换;将要发送的数据放到输出缓冲区。

2.3 数据存储

VB有很强大的数据库编程能力,在开发数据库软件时可以使用 ADO[6](ActiveX Data Objects)作为数据访问接口,但是如果要在软件运行过程中创建数据库和表,则必须引用对象库ADOX[7](Microsoft ADO Ext.for DDL and Security),它是对ADO的扩展,可以用于创建、修改和删除数据库对象。

在UPS监控软件运行过程中,自动建立一个Access数据库,然后在数据库中建立一个数据表,数据表中创建时间、日期、电网电压和故障等字段,以及存储串口接收到的各种数据,其主要流程为:

(1)创建以年月日分类的文件夹集合。首先在指定盘创建名称为“UPS历史数据”的根文件夹,然后创建以年、月、日分类的子文件夹。用Dir函数依次判断指定文件夹是否存在,如果不存在,则用MkDir函数创建相应文件夹。

(2)创建数据库。使用ADOX对象模型中的Catalog对象来创建数据库。先判断当天的数据库是否已经存在,如果不存在,就创建当天的数据库。首先声明Catalog对象,利用Catalog对象的.Create(ConnectString As String)方法创建数据库,ConnectString的内容包括:Microsoft Jet OLEDB驱动程序的版本号,此处用的版本是4.0,可以创建和访问Access 2003[8]版本的数据库;数据库存储地址,如已创建好的日期文件夹;数据库名称,如“UPS历史数据+当前日期”。

(3)创建表和字段。表是数据库窗体、报表、页等所有对象的基础,一个Access数据库中至少应该包含一个表。

创建表使用的是Table对象,首先声明对象,用Table对象的.Name属性为表命名,比如“UPS历史数据”,然后创建数据库连接,利用Catalog对象的.Tables.Append(Item)方法创建新的数据表。

创建字段使用的是Column对象,首先声明对象,用Column对象的.Name属性为第一个字段命名,比如“日期”,然后利用Table的.Columns.Append(Item)方法创建新的数据表,Item包含数据类型、字段大小、主键和其他属性。

重复创建字段的操作,依次创建时间、工作模式、电网电压、历史故障等字段。字段创建好以后就断开数据库连接,防止与串口通信或其他程序冲突。

(4)添加新的数据记录。设置一个存储数据标志位,点击菜单栏的“开始存储数据”,标志位置“1”;点击菜单栏的“断开数据库”,标志位置“0”。

当标志位为“1”时,每次串口接收到数据并对数据处理以后,就添加新的记录到表中。方法为:首先声明Recordset对象,然后连接到数据库,打开“UPS Data”表,利用 Recordset对象的.AddNew命令添加新的记录,利用 Recordset对象的.Fields(i).Value属性添加每一项记录,添加完成后利用Close属性停止添加记录,用Update属性更新数据记录,最后断开数据库连接。

创建好的数据库系统界面如图4所示。

2.4 界面设计

菜单主要用于串口设置和数据库操作,串口设置包括设置串口号和波特率;数据库操作包括开始存储数据、打开数据库和断开数据库。

图4 Access数据库存储系统界面

VB6.0的SSTab控件能提供一组选项卡,作为其他控件的容器,利用SSTab控件设计4组选项卡作为4组监控界面的容器。绘制4组界面的图形框架,利用PictureBox控件分别在选项卡中添加绘制好的界面图形框架。

2.4.1 运行状态

运行状态监控界面如图5所示,包含的信息有:工作方式;主电路模型;输入功率、输出功率和效率;电压电流值;温度。用TextBox控件把各种UPS运行的实时数据信息以文本的方式显示出来,用PictureBox控件根据工作方式切换转换开关的开关状态。

图5 运行状态监控界面

2.4.2 电池管理

电池管理[9-10]监控界面如图6所示。蓄电池组为10个12V 200 Ah的蓄电池串联组成。蓄电池组有充电模式和放电模式两种状态。蓄电池组的工作模式是由双向DCDC变换器实现的。

电池管理监控界面的主要信息有:

(1)蓄电池充放电模型。主要用到Picture-Box控件,用于显示蓄电池组的充放电状态和剩余电量。蓄电池组的剩余电量用line命令在图上画一个根据实时电量动态变化的矩形框表示。

图6 电池管理监控界面

(2)蓄电池组的状态包括电压、电流、剩余电量、剩余放电时间和温度。软件通过蓄电池组的电压推算近似剩余容量,根据当前输出电流和剩余容量推算剩余放电时间。

(3)蓄电池组故障包括双向DCDC变换器故障以及蓄电池组各类等级的故障。故障指示灯是通过PictureBox控件模拟的。

(4)单片蓄电池的电压值。

2.4.3 实时波形

实时波形监控界面如图7所示。UPS监控系统监控的实时波形主要有电网电压波形、PFC升压电路电压波形、蓄电池组电压波形和负载电压波形。该监控界面只用到了一个PictureBox控件,在控件的picture属性上加载事先绘制好的图形,然后利用line命令根据串口接收到的数据在图上绘制相应的波形。

图7 实时波形监控界面

2.4.4 故障报警

故障报警监控界面如图8所示。故障报警监控界面包含故障信息显示框和控制按钮。故障信息显示框包含串口通信、市电、整流电路、升压电路、逆变电路等故障源的当前故障和上次故障。控制按钮通过串口向主电路的控制器发出控制指令切换主电路的工作模式或者关闭主电路的运行。

图8 故障报警监控界面

3 结论

UPS实时监控系统在现场调试中表明,使用人员可以通过声音、图像、实时数据和历史数据获取UPS的各种信息,并进行及时和有效的控制,对UPS系统进行有效的诊断和维护。

[1] 张震.UPS监控软件系统设计与实现[D].青岛:中国海洋大学图书馆,2007.

[2] 杨荫福,段善旭,朝泽云.电力电子装置及系统[M].北京:清华大学出版社,2006:94-96.

[3] 徐国家.UPS电源维修手册[M].北京:电子工业出版社,2008:302-304.

[4] 胡宗波,张波.Boost功率因数校正变换器单周期控制适用性的理论分析和实验验证[J].中国电机工程学报,2005,25(21):19 -23.

[5] 阮新异,王志什,全书海.基于VB的大功率电磁炉监控系统的设计与实现[J].微计算机信息,2008,24(11):47-49.

[6] 李德录,王昱.VB下基于ADO的数据库访问技术[J].工业仪表与自动化装置,2011(4):12-15.

[7] 史胜利.VB中数据库编程时使用ADOX创建对象[J].阴山学刊,2007,21(3):91 -92.

[8] 马鹏烜.Visual Basic与 Access应用[M].北京:清华大学出版社,2010:208-223.

[9] 颜湘武,李伟.虚拟电池管理系统[J].电力电子技术,2011,45(12):42 -44.

[10] 陆乐.基于不间断开关电源的电池监控管理系统:中国,201020126993.4[P].2010-11-10.

猜你喜欢

蜂鸣器控件串口
电动自行车产品车速提示音检测现状和整改技术研究(2)
浅谈AB PLC串口跟RFID传感器的通讯应用
基于.net的用户定义验证控件的应用分析
掌控板制作简易钢琴
单片机驱动蜂鸣器的程序设计
关于.net控件数组的探讨
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式