2 软件设计
陀螺仪的动态测试软件采用LabVIEW软件进行设计,LabVIEW不仅是软件开发环境,而且是一个编程软件,它是一种适合应用于任何编程任务,具有扩展函数库的通用编程语言。它定义了数据模型、结构类型和模块调用语法规则等编程语言的基本要素,在功能完整性和应用灵活性上不亚于任何高级语言。Lab-VIEW提供了丰富的数据采集、分析和存储库函数以及包括DAQ,GPIB,PXI,VXI,RS 232在内的各种仪器通信总线标准的所有功能函数。但是LabVIEW所提供的功能仅能驱动NI公司支持的数据采集卡,DMM-32-AT是第三方数据采集模块,它需要用户自己设计开发驱动程序。
2.1 DMM-32-AT驱动程序的实现
LabVlEW提供了对外部代码调用的接口库函数。其中,调用库函数(Call Library Function,CLF)节点使得用户可以方便地调用标准共享库和自定义库函数。在此,设计的数据采集系统就是通过LabVIEW提供的。CLF实现对动态连接库(Dynamic Link Library,DLL)调用的方法.完成对第三方数据采集模块的驱动,实现LabVIEW与普通数据采集模块的结合。
使用VC++生成一个dmm32driver.dll的动态链接库,通过CLF节点对其调用,以实现该数据采集卡的驱动,该程序实现的主要源代码为:
需要注意的是,在头文件中加入extcode.h,以便在DLL程序中使用LabVIEW中的数据类型,避免在传递参数和返回值时冲突。其次,需要在导出的函数原型前添加_declspec(dllexport)关键字,指出函数的出口。由此,可从一个动态链接库文件中输出数据、函数、类以及类成员函数而不需要.def文件。