2、 信号组件的设计与开发
信号组件的本质是COM组件,该类型组件的主要功能在于存储信号参数信息,测试程序将所需信号信息传递给信号组件,数据将被暂存在缓存中,当程序调用具体仪器驱动时这些信号参数将被具体仪器驱动所读取,仪器动作到相应的状态。每个信号组件对应一种信号,该组件为客户程序提供了信号信息的公共存储区,同时测试返回的结果也在该组件下存储。下面以ACVolt信号组件为例,描述信号组件的原理。对于ACVolt信号来说,其信号参数包括Ac ampl,Freq,Dc_offset三种,信号组件中每个信号参数分别对应4组方法,这些方法是:Setxx,ComGetxx,ComSetxx,Getxx,方法的功能见表2。客户程序和具体仪器驱动之间通过资源分配器交互,双方的数据不能直接传递,因此信号组件成为两者数据交互的桥梁。
面向信号自动测试系统信号组件采用LabWin—dows/CVI 8.0作为开发环境,通过创建ActiveX服务器来完成信号组件的开发。现以ACVolt信号为例进行说明。首先创建ActiveX服务器。启动CVI8.0,创建新工程,命名为“AtpACVoltParam”;选择菜单栏“tools”-“create ActiveX server”项,CVI向导会自动弹出,将服务器名称命名为“AtpACVoltParam”,COM组件生成方式为动态链接库形式“dll”,其他设置不变。然后添加接口和接口方法。对于ACVolt信号来说其接口为“IAtpACVoltParam”,它的3个参数分别是幅值(Ampl)、频率(Freq)、直流偏移量(Dc off—set),接口方法和接口参数如下:
其次要创建接口对象。选择“Edit Objects”按钮,创建“coAtpACVoltParam”对象并将其与接口“IAt—pACVoltParam”相关联,并创建回调函数“COAtpAC—VoltParam_Callback”。最后编辑接口方法实现代码。将“.h”文件中的内容拷贝到自己创建的文件“AtpAC—VoltParamImp.C”中,激活绿色标注区内容,并将接口方法的回调函数编辑为默认的返回S OK,删除带有“Tag”标志的结构。Idl文件不需要修改。