CVI的DLL在测控技术中的应用.docx
《CVI的DLL在测控技术中的应用.docx》由会员分享,可在线阅读,更多相关《CVI的DLL在测控技术中的应用.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、VC+和基于LabWindows/CVI的DLL在测控技术中的应用VC+和基于LabWindows/CVI的DLL在测控技术中的应用ronggang导语:介绍了动态链接库DLL的运行机制,阐述了基于LabWindows/CVI的DLL的开发以及它和VC+程序的集成方法,对于两种程序之间的通讯,给出了一种基于内存映射的实现方法摘要:介绍了动态链接库DLL的运行机制,阐述了基于LabWindows/CVI的DLL的开发以及它和VC+程序的集成方法,对于两种程序之间的通讯,给出了一种基于内存映射的实现方法。文章最后给出了一个技术上详细实现的例子加以讲明。关键词:虚拟仪器;LabWindows/CVI
2、;DLL;内存映射大型测控系统的软件系统通常采用高级语言结合专用测控软件来开发。怎样将不同的软件程序加以集成,以及怎样在它们之间进展通讯是必须解决的问题。虚拟仪器测控系统中关键工作就是对数据的收集、分析、处理并模拟真实仪器面板的功能。由于VC+等高级语言的非针对性,采用其实现起来不仅复杂如创立仪器面板,数据分析等,而且有些功能无法实现,源代码效率也较低;假设采用LabWindows/CVI,不仅开发方便,而且直观,有些开发工作只需几行代码即可完成,可以大大进步系统开发的效率,节约时间。在笔者所介入的测控系统的开发中,采用的是用VC+开发系统软件主干程序,负责系统软件各方面的调度、治理,采用La
3、bWindows/CVI开发详细的测控功能,以具有不同功能的DLL形式组成测试功能模块库,集成到主干程序中实现各种不同的测控功能,采用内存映射实现两种程序间通讯和数据传输。2、LabWindows/CVI中DLL的开发2.1LabWindows/CVI中DLL的开发方式及其运行机制在CVI环境下,开发用于测控领域的动态链接库,需将编译目的文件类型设置为DLL,并设置DLL名称、存储途径、DLL函数/变量导出方式等,才能通过CreateDebuggableDynamicLinkLibrary生成DLL工程。DLL不是可执行文件,它需要由应用程和另外的DLL调用执行。一个程序使用DLL,它只能通过
4、这个DLL的导出函数/变量访问其内部。在LabWindows/CVI下创立DLL,有两种方式导出函数/变量:头文件法和导出关键字法。头文件法使用头文件确定要输出的标号,头文件中必须包含要导出标号的声明;导出关键字法把每一个要导出的函数和变量都标记一个关键字,如_cdecl、_stdcall等,根据不同的编译器使用不同的导出关键字。在DLL中只有被导出的函数/变量才能被外界所使用,所以只有指定DLL的导出函数/变量,该DLL才具有实际的使用意义。DLL被调用时,它有自己的运行机制:每一个DLL都有一个DLLMain主函数,在进入和退出DLL时,应用程序分别调用这个函数,它经常被用来执行进程的初始
5、化和清理工作。由于在该函数中定义了两个事件句柄DLL_PROCESS_ATTACH和DLL_PROCESS_DETACH。当一个DLL被调用,即它被首次映射到进程的地址空间时,系统触发DLL_PROCESS_ATTACH事件,一般在这局部执行特定进程的DLL初始化工作,如调用InitCVIRTE函数初始化引擎等;当应用程序完毕DLL的调用时,系统触发DLL_PROCESS_DETACH事件,一般在这局部进展退出DLL时前的资源清理工作,如调用CloseCVIRTE释放被DLL所占用的内存。另外,CVI还提供了一个RunStateCallback函数来对程序的执行情况进展记录,使用时通过该函数也
6、可以控制程序的执行及系统资源分配。2.2工程中DLL的开发笔者所介入的测控系统的开发中,DLL开发采用的是另外一种方式,由于DLL本身的不可执行性,调试上没有可执行文件方便,而且工程上需要在导出的DLL中包含虚拟仪器软面板,且保持软面板对虚拟仪器的控制性,因此,在实际的开发中,先编写CVI用于实现详细测控功能的可执行文件,调试成功后,把该可执行文件改成具有一样功能的DLL。改编时,仅仅对源文件.c文件的main函数做一些改变,并在头文件.h文件中输出,而无需做多的改变即可导出仪器软面板,这样在VC+主干程序调用该DLL时就可以方便的进展测控工作。详细操纵上:1首先编写知足测控要求的CVI的可执
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CVI DLL 测控 技术 中的 应用
限制150内