下面简单介绍以NI公司的Lab Windows/CVI为开发环境,来进行VXI虚拟仪器的驱动程序开发的方法。
第一步:生成仪器模块的用户接口资源文件(UIR)。用户接口资源、文件是仪器模块 开 发者利用Lab Windows/CVI的用户界面编辑器为仪器模块设计的一个图形用户界面(GUI)。 一个Lab Windows/CVI的GUI由面板、命令按钮、图标、下拉菜单、曲线、旋钮、指示表以及 许多其他控制项和说明项构成。
第二步:Lab Windows/CVI事件驱动编程。应用程序开发环境Lab Windows/CVI中设计一个 用户接口,实际上是在用户计算机屏幕上定义一个面板,他由各种控制项(如命令按钮、菜 单、曲线等)构成。用户选中这些控制项就可以产生一系列用户接口事件(events)。例如 ,当用户单击一个命令按钮,这个按钮产生一个用户接口事件,并传递给开发者编写的C语 言驱动程序。这是运用了Windows编程的事件驱动机制。Lab Windows/CVI中使用不同类型的 控制项,在界面编辑器中将显示不同类型的信息,并产生不同操作的接口事件。在Lab Wind ows/CVI的开发平台中,对事件驱动进行C程序编程时可采用2种基本的方法:回调函数法和 事件循环处理法。
回调函数法是开发者为每一个用户界面的控制项写一个独立的用户界面的控制函数 ,当选中某个控制项,就调用相应的函数进行事件处理。在循环处理法中,只处理GUI控制 项所产生的COMMIT事件。通过Get User Event函数过滤,将所有的COMMIT事件区分开,识别 出是由哪个控制项所产生的事件,并执行相应的处理。
第三步:应用函数/VI集与应用程序软件包编写。应用函数/VI集需针对具体仪器模块 功能进行编程,应用程序软件包只是一些功能强大、需要完善的数据处理能力的模块才需要 提供,如波形分析仪模块、DSP模块等。
图4是基于虚拟仪器的系统测试流程。 图4 虚拟仪器的系统测试流程图 3、结语
本文探讨了虚拟仪器的基本组成,以及实际的虚拟仪器软硬件设计的一般方法,这些方法经过实际设计工作运用证明是可靠的,可供系统工程技术人员在组建具体的基于VXI总线的虚拟仪器数据采集、测试时参考使用。
参考文献 [1] 赵勇.虚拟仪器软件平台和发展趋势[J].国外电子测量技术,2002,(1) [2] 陈光禹.VXI总线测试平台[M].北京:电子科技大学出版社,1996 [3] 孙昕,张忠亭,薛长斌.集成VXI总线自动测试系统的方法[J].测控技术,1996,15(4) [4] 张毅刚,彭喜元,姜宁达,等.自动测试系统[M].哈尔滨:哈尔滨工业大学出版社,2001 [5] 汪红.基于组件的虚拟仪器软件系统[J].微型计算机信息,2001,( 1):76-77 ( |