编辑: 飞翔的荷兰人 | 2018-11-22 |
2007 V01.21 No.4 Sum No.70 基于VC++和数据库的实时温度监控 系统软件的开发 谷庆华,李成贵 (北京航空航天大学仪器科学与光电工程学院,北京 100083) [摘要】 针对温度监控系统的实际情况,在VC++环境下,分别采用windows API函数. MSComm控件开发串行数据库通信软件,实现前方数据的实时采集与存储,分析比较以上两种方 法的优缺点.系统采用目前实时系统中广泛使用的Access 2000关系型数据库作为管理数据的工 具,其具有强大的动态数据交换、对象链接和嵌入特性以及网络共享和ODBC特性,可快捷高效地 进行数据的管理.数据库模块的设计采用标准的SQL结构化查询语言.选用ODBC数据库访问技 术,存储速度快、内存消耗少、操作简单. [关键词】 串口通信;
API;
MSComm控件;
CSerialPort类;
数据库;
ODBC 【中图分类号】TP 311.52 【文献标识码】A 【文章编号】1005-0310(2007)04-0020-05 串行通信软件是工业监控系统中至关重要的 环节,如何快捷有效地开发通信程序是软件开发人 员所关心的话题.目前主要采用的串行通信物理 标准是RS
232、RS
422、RS 485等,RS 232的硬件编 程要求比较简单,价格便宜,传送距离长,很多设备 中都内嵌有这种接口.目前实时通信系统中应用 比较广泛的关系型数据库是Access 2000数据库,它是Microsoft office家族成员之一,能够在Windows 2000/NT下进行数据管理和开发,其集成开发环境 提供多种类向导和生成工具,可大大提高数据库开 发人员的工作效率,并且具有强大的动态数据交 换、对象链接和嵌入特性以及网络共享和ODBC特性,操作简单、方便,可快捷高效地进行数据的存储 管理.在众多集成可视化开发环境中,Visual C++ 6.0是底层编程环境的最佳选择,它提供了相当齐 备的类和友好的编程界面,对数据库的开发提供了 比较好的开发环境,借助于Visual C++6.0可以轻 松开发出功能强大、速度快、应用广、占用资源少的 应用程序.因而本文在VC++环境下,分别采用 windows API函数,MSComm控件结合Access 2000数 据库开发串I=I通信监控软件,并采用SQL结构化查 询语言和ODBC数据库访问技术将串口接收到的 数据存储到Access 2000数据库中,以方便查询和后 续处理.
1 串口通信 目前在Windows环境下实现串行通信主要有 以下三种方式:win32 API函数来实现;
MSComm控 件串口通信编程;
利用CSerialPort类进行串口编程. MSComm控件是Microsoft公司提供的简化 Windows下串行通信编程的ActiveX控件,通过串行 端口传输和接收数据,VC为其提供了使用RS
232 进行数据通信的所有协议,同时提供了标准的事件 处理函数和过程,软件开发人员可方便地通过属性 和方法的设置进行串口通信,并且提供事件驱动方 式和查询方式.MSComm控件提供了27个属性,较 常用的有: 1)Commport属性:设置并返回通信端121号,缺 省值为COMI,可设置1―16个;
2)Settings属性:设置并返回数据传输速率、奇 偶校验位、数据位、停止位的字符串;
3)PortOpen属性:设置并返回通信端口的状 态,同时用来打开和关闭通信口;
4)InputLen属性:设置从接收缓冲区读取的字 [收稿日期】2007―05―21 【作者简介】谷庆华(198卜),辽宁大连人,北京航空航天大学在读研究生,主要从事计算机通信、数据库技术、网络编 程等方面的研究;