基于VB和MSComm的APF监控系统设计
- 格式:pdf
- 大小:403.93 KB
- 文档页数:3
摘要针对电力系统中谐波检测实时性、准确性要求较高的特点,在设计并实现了基于DSP 的有源电力滤波器(ActivePower Filter ,简称APF )的基础上,为了增强人机交互的智能性,开发了基于VB6.0的上位机APF 监控系统。
主要介绍了硬件系统结构及软件功能,并详细阐述了基于VB6.0程序设计语言和MSComm 控件的上位机监控系统的设计,包括串口通信、数据库管理、动态图形显示、历史数据查询等功能模块。
系统实际运行验证了VB6.0用于电力系统控制软件设计与开发的可行性和有效性。
关键词:DSP 有源电力滤波器,MSComm 控件,数据库,监控系统AbstractAiming at the requirements of real-time and accurate detection in power system,and in order to improve the intelli-gence of HCI(human-computer interaction),monitoring system is developed based on VB6.0and active power filter which is designed and implemented based on DSP.The system of hardware structure and software functions are introduced,and the design of upper computer control system based on VB6.0and MSComm,has been described in details.Several key meth-ods and technologies are discussed,including serial communication,database management,dynamic graph display,historic data querying etc.Keywords :active power filter based on DSP,MSComm control,database,monitoring system为治理电力系统谐波污染,提高电力系统运行的安全、稳定性,设计和研制行之有效的电力有源滤波器是十分必要的,而随着人们越来越倾向远离现场工作,又要对现场进行实时有效的监控,基于VB6.0的上位机监控系统满足了这种要求。
首先下位机进行现场数据的采集、补偿控制,然后上位机通过人机交互界面,把系统中的各个参数实时地显示在屏幕上。
操作人员在控制室,通过上位机即可对现场的各个参数变化实时监测,并将数据存入数据库,便于历史数据的查询,从而为电力调度问题提供数据依据。
实验证明监控系统工作稳定、性能良好。
1APF 系统的整体结构DSP 有源电力滤波器的整个系统采用上、下位机的形式。
下位机是以DSP 为核心的硬件设备,由DSP 完成现场数据的采集与对电力系统的补偿控制;上位机为工控机(IPC 机),借助于集成开发软件VB6.0设计上位机监控界面,包括串口通信、实时数据显示、数据库管理等。
DSP 以其功能强大、实时性好、准确性和性价比高等特点,在现代控制系统中常用在现场进行数据采集,以及现场控制。
但是,由于其数据存储容量和数据处理能力有限,所以一般情况下要通过串口使它与IPC 机相连,把采集到的数据传送到IPC 机上,再在IPC 机上进行数据处理,充分发挥各自的优势。
上、下位机之间的通信采用RS-485串行接口,其具有抗干扰能力强、传输距离远等特点。
上、下位机协同工作的结构图如图1所示。
工业控制系统中,上位机监控已成为系统不可缺少的组成部分。
本系统以VB6.0为平台,通过其丰富的内置控件,结合Windows 环境下的MSComm 控件,可简单、方便地实现与下位机通讯,实时接收、显示电流数据,并存入数据库,并可随时从数据库中按时间查找数据并绘制图形。
2上位机功能模块组成上位机监控界面的主要任务是和用户打交道,将下位机的数据以数字和图形的形式呈现给用户,又可将用户的命令发送到下位机,它的主要功能模块有:①把下位机采集并处理的电网参数传到上位机显示,以实现远距离监测;②与数据库结合,将数据存储,形成一个功能强大的数据库管理系统;③从数据库查询历史数据并绘图。
具体来说,主要实现如下功能:1)主界面:和下位机相对应,进行电压电流监控、功率监控和无功补偿的设计,实时地显示运行过程中相电压、线电压、相电流、有功功率、无功功率、视在功率、功率因数等参数的变化。
2)串口通信模块:Microsoft Communication Control (简称MSComm )通讯控件是Microsoft 公司提供的简易化Windows 下进行串口通讯编程的ActiveX 控件,通过对其波特率、传输位数等串口参数的设置,可以实现监控系统与RS-485串口、上位机与下位机的串行通信,串口通信是监控系统上下位机的关系纽带。
但是,IPC 机串口为RS-232接口,需用RS-232与RS-485双向转换器实现RS-485与IPC 机的连接,RS-485既延长了传输距离又提高了抗干扰能力。
3)数据库管理模块:本文采用Data 控件,将数据存到数据库文件中,通过编程接口对其进行访问,可有效的管理系统中的数据,从而方便地实现数据保存、数据查询、历史曲线重绘等功能。
3软件设计根据上位机功能模块的组成,软件设计的内容主要包括这基于VB 和MSComm 的APF 监控系统设计王春晓刘海(山东大学威海分校机电工程学院,山东威海264209)Design of APF Monitoring System Based on VB and MSComm图1上、下位机协同工作结构图基于VB 和MSComm 的APF 监控系统设计20《工业控制计算机》2010年第23卷第12期图5历史数据绘图几部分:主控界面、串口通讯设置、数据库存取和图形绘制。
前面分析的各个功能模块,属于静态建模的范围,在系统运行时的动态模型由系统的流程决定,实际运行后的流程如图2所示。
3.1主控界面主控界面主要由四部分组成:时间显示、实时电流显示、谐波电流显示和命令接口。
其中时间显示包括两部分:系统时间和运行时间;实时电流显示为实际测量的A 、B 、C 各相电流,由分度表直观的显示总电流大小,并设有电流上、下限报警信号,预防系统运行出现故障时电流过高或过低,当电流不在指定范围内时,指示灯由绿变红,提醒监控人员立即采取措施;谐波电流显示实时显示下位机根据瞬时无功功率计算出的A 、B 、C 各相谐波电流,并计算出总谐波畸变率,从主界面显示(此处为测试数据),使工作人员更直观地观察谐波畸变的多少,为补偿提供了方便;命令接口包括串口协议和绘图以及停止与结束按钮,其功能就是打开相应的串口设置界面和绘图窗口。
APF 监控主界面如图3所示。
图3APF 监控主界面3.2串口通讯实现上位机按下位机程序设定的通信协议和下位机进行联络。
首先添加MSComm 控件,对其属性进行设置,然后按传输协议编写发送的字符串,和下位机进行数据传输。
基本步骤如下:(1)初始化串口将MSComm 控件添加到窗体中,设置属性为运行不显示。
在form_load()中添加属性如下。
With MSComm1.CommPort =1//选择串口1.InputMode =comInputModeBinary //接收、发送数据为二进制方式.RThreshold =11//接收数据为11字节时触发oncomm 事件.SThreshold =0//发送不触发.Settings =″9600,n,8,1″//传输波特率9600bps ,无校验位,数据位8位,停止位1位.PortOpen =True //打开串口End With有几点需注意:①和下位机通信选择二进制方式,因为文本方式只传输ASC Ⅱ码小于128的字符数据,且传输过程需转换,传输速度不理想;实际通讯时多采用二进制方式,以减少通讯数据量、增强通讯实时性。
②设置的接收触发字节数应和通讯协议的接收数据位一致,通讯协议为11字节,故接收触发属性值为11,发送不触发事件。
③传输波特率、数据位等要和下位机一致。
另外,本系统波特率为9600bps ,如果传送1KB 数据,需要时间为1000觹8/9600≈0.83s ,如果数据量太大时间会很长,应在程序中设置相应的延时,以保证数据传输完整。
当串口属性按上述设置,运行后的界面如图4所示,串口参数可以同步显示,便于错误查找。
在发送操作命令之前,首先要检验串口是否正常工作,发送设备查询命令,下位机收到此命令后返回相同的数据,串口工作正常,如图4所示;再向下位机发送其他操作命令,如设定时间等;最后按“实时数据传送”按钮,发送数据接收命令,返回主界面开始实时数据接收、显示和存储。
(2)在MSComm_oncomm()事件中接收数据通过添加Timer 控件,设Interval 属性为1000,即每秒发送并接收一次下位机数据,每次数据接收触发MSComm 的on-comm()事件,将数据保存。
接收数据代码示例如下:Dim indata()As Byte //定义二进制数组a =Form1.MSComm1.Input //读取数据indata =a//将二进制数保存到数组3.3数据库管理监控系统对电力参数进行显示和监测的同时,为了今后对数据进行统计、分析和处理,要求系统提供数据库存取功能。
本文以简单方便的Data 控件,与事先由外部程序向导建立的Ac-cess 数据库链接,进行存储和读取数据,其主要步骤为:1)建立数据库表。
在VB 建立数据库向导中创建数据库表vbdata ,表中各字段如下:id 字段数据为自动编号,设置为主键;time 字段数据类型为文本,用于保存获取数据时的时间;各个Data 字段数据类型为长整形,用于保存接收到的数据。
2)添加Data 数据库链接控件。
通过设置Data 的属性,即Data.Database=vbdata ,Data.Recordset=vbdata ,将监控界面与相应数据库中的数据表链接。
3)添加数据库存取功能。
首先创建数据变量,用于保存数据表中个字段对应的变量。
上述在每次MSComm_oncomm()事件中将测得电流值存入数组indata(),将其转为相应的十进制数,再通过Data 控件的AddNew 和Update 属性将数据存入数据表相应的字段下。
时间和通过瞬时无功功率得出的谐波电流等数据量也用同样的方法存入数据表相应的字段下,需将时间变量定义为文本型,其他为长整形。