visual+c++实现虚拟仪器软件设计

visual+c++实现虚拟仪器软件设计

ID:34404311

大小:45.58 KB

页数:4页

时间:2019-03-05

visual+c++实现虚拟仪器软件设计_第1页
visual+c++实现虚拟仪器软件设计_第2页
visual+c++实现虚拟仪器软件设计_第3页
visual+c++实现虚拟仪器软件设计_第4页
资源描述:

《visual+c++实现虚拟仪器软件设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2卷第1期信息与电子工程Vo12No12004年3月INFORMATIONANDELECTRONICENGINEERINGMar2004文章编号1672-2892(2004)01-0037-03VisualC++实现虚拟仪器软件设计贾桂华中国工程物理研究院计量中心四川绵阳621900摘要通过构造一个简单的虚拟仪器系统实例介绍了使用VisualC++语言构建虚拟仪器的原理和方法并对如何在PC机上实现定时采样作了一定的阐述关键词计算机软件虚拟仪器VisualC++采样接口中图分类号TP311.11文献标识码A1引言软件是虚拟仪器系统的关键虚拟仪器软件体系结构主

2、要包含两个层次用户应用程序和接口程序其中接口程序是联系用户应用程序和底层硬件设备的基础每一种接口程序都是为了提高编程灵活性和数据吞吐量而设计的每个接口程序都应具有一个共同的应用程序接口因此不管仪器使用的计算机或者操作系统是什么最终编写的用户应用程序都是可移植的所使用的软件编程环境是VisualC++操作系统平台为MicrosoftWindows98外部数据获取硬件采用自行设计的ISA总线的AD采样卡如图1所示,总体程序是由两大部分三个模块构成接口程序其中数据采样模块对应接口程序部分数据管理模块和虚拟仪器模块对应用户应用程序部分数据采集模块的数据采集模块A/D

3、采样卡主要任务是初始化采样卡给定采样卡基址定义控制总体程序字节然后启动采集对数据口进行读写操作最后用户应用程序数据管理模块永久存储介质将采集的数据送入数据管理模块数据管理模块能够接受来自A/D采样卡和以前采样数据文件的采样数据当然也能够对新采集的数据进行保存它的另一重要功能虚拟仪器模块是可将数据进行预处理后送入虚拟仪器模块经过处理后的采样数据如何进行显示的任务可完全交给虚拟仪器或代表数据流模块的各个子模块来完成下面对各个模块的具体编程图1总体软件设计框图进行说明2接口软件采样参数设置接口软件与系统中其他软件相比实时性要求是其主要特点汇编语言具有对硬件控制能力

4、强程序执行速度快占用内存空间少的优点在实时测试领域内是一门重要的程序设计语言但它在开发周启动数据采集卡期和维护方面则明显不如BASICPASCALC++这样的高级语言幸而VisualC++提供了能使高级语言与汇编语言混合编程的编译系进行数据采集A/D转换统极大地方便了编程人员对接口软件的开发接口软件另一重要方面是它的独立性即用C++编的接口软件能够不作任何修改地被其它用任何语言编写的用户应用程序所调用这将转换后的数据存入指定的存储单元不仅有利于用户应用程序的开发也便于接口软件的维护与升级基于接口软件的上述特点采用动态链接库(DLL)技术对接口软送入数据管理模

5、块件进行了设计其程序框图如图2所示该接口软件的外部可调用函图2数据采样模块框图数为GetData()下面对软件的设计构思进行说明接口软件的主要功能是数据采集定时是软件设计的着重点Windows提供的常规计时器给用户提供了方便但这种计时器的定时精度和响应速度都和实际应用相差较远一方面因为Windows常规的计时器仅对收稿日期2003-11-05修回日期2004-02-17作者简介贾桂华1979-女助理工程师主要从事自动化检测技术研究与设计工作万方数据38信息与电子工程第2卷Intel8259定时芯片进行重新编程它与标准的PC机定时器具有相同速率(即每隔55毫秒

6、中断一次)所以不可能有高于55毫秒的精度另一方面Windows系统是一个多任务操作系统它是基于消息来驱动事件的而定时器消息WM_TIMER在串行消息队列中的优先级别很低往往使得产生的WM_TIMER消息得不到及时处理多媒体Windows计时器对这一缺陷做出了弥补它的计时器中断服务可提供精确度高达1毫秒的计时功能这个计时器在Windows启动时自动加载不象Windows常规计时器多媒体的计时器是真正基于中断完成的它在中断时刻调用中断服务程序(一个回调函数),而不是向消息队列发送WM_TIMER消息这带来了除精度以外的另一个好处在所设定的时间一到中断处理程序总能

7、及时获得控制权在应用程序中使用多媒体Windows计时器须遵循严格的步骤a)调用timeGetDevCaps函数以确定计时器所能提供的最大和最小的计时精度b)在建立一个计时器事件以前应用程序应使用timeBeginPeriod函数建立它所使用的最小计时精度c)启动一个计时器事件应用程序需要指定时间间隔计时器事件精度中断服务程序的地址以及必需的用户数据d)中断计时器是一种珍贵的资源当不用计时器时应立即将其取消e)调用timeEndPeriod函数以取消它所建立的最小计时器精度尽管多媒体Windows基于中断的计时器提供了比Windows常规计时器更强大的功能但

8、是1ms的采样间隔并没有完全发挥出所设计的采样卡的全

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。