基于VC++光伏逆变器监控系统的设计和实现
3.2.2 状态运行界面
监控系统的主运行界面如图5所示,在主运行界面中显示了历史总发电量、累计发电时间、日发电量、烟尘等减排量、瞬时功率实时曲线等数据。这些数据是通过RS-485从F2812获得的。F2812从RS-485接收到上位机发来的启动发送数据命令后,终端定时将所需的一帧数据按照规定的协议发给上位机。上位机将接收到的数据处理之后,进行显示和存储。系统运行条件下指示灯为绿色。采用TeeChart控件来实现瞬时功率的实时曲线显示。TeeChart控件适用于VB、VC++、ASP等系统平台,提供了上百种2D和3D图形风格、40余种数学和统计功能、加上无限制的轴和多种调色板组件可以选择,以及20多种用于图表操作的工具,将图表制作与操作功能发挥得淋漓尽致,为程序设计人员提供了一个高效、直观、节省时间的编程接口。这里使用了TeeChart控件中的实时曲线显示功能,定时读取相应瞬时功率数据库的数据,然后将数据以实时曲线的形式显示。
3.2.3 监控软件的数据库的设计
在监控系统中,往往需要对历史数据进行查询,生成报表并打印,以便后期对数据的整理、分析和处理。VC6.0具有良好的数据库接口能力,能很方便地对多种类型的数据库进行操作。本监控系统采用ADO编程方式建立了四个ACCESS数据库,分别是历史运行数据数据库、日志数据库、故障数据库和用户登录信息数据库。每个数据库中的表都是以日期命名,每天建立一个新表,这样既不会造成文件的重复也利于文件表的查询,每个表都以运行日期和运行的时间作为索引,可以方便地进行记录的浏览和查询。在开发工程中引入ADO动态链接库文件,初始化COM环境,连接数据库和操作数据表,利用griddata控件负责对数据进行显示和编辑。
3.3 监控软件通信过程
本监控软件通过使用MSComm控件进行串口编程,采用其中的查询方式的通信方法,用户通过检查CommEvent属性的值来检测时间和通信错误。在通信过程中分别利用void SetCommEvent(shotnNewValue)方法和short GetCommEvevt()方法设置和获取CommEvent的属性值。串口处于接收状态时,清空串口接收缓冲区,读入数据。数据校验正确无误后,判断功能码,对数据区数据切分,运行数据直观地通过曲线或编辑控件显示,将需要保存的数据存入数据库。对于存入数据库的时间,在软件实现过程中可自行设定。判定如果为故障数据则需立即存储,此时下位机F2812控制芯片立即断开各个开关,进入待机状态。在通信频繁的情况下,采用MSComm控件的查询方式更为方便。
4 结束语
本系统是采用VC++6.0和面向控制对象的思想开发的可视化人机交互监控软件,充分利用TeeChart控件、ADO控件、Inmagelist控件等控件,使得系统具有良好的用户界面和数据库接口能力,能够更加方便地对逆变器的工作数据、故障及日志进行存储管理,方便对逆变器历史数据的查询与维护。系统己在PC机和逆变器之间进行了调试,实现了PC机对逆变器工作状态的监视、控制和数据存储等功能。
- 3D IC设计打了死结?电源完整性分析僵局怎么破(09-21)
- 快速调试嵌入式MCU设计仿真的三大因素浅析(12-12)
- 访问电源参考设计库的众多理由(12-09)
- 开关电源设计中如何选用三极管和MOS管(12-09)
- 一款常见的车载逆变器设计电路图(12-09)
- 电子工程师必备:电源设计及电源测评指南(12-09)