IEEEl641是关于测试和信号定义的技术标准。它为用户提供了描述和控制信号的能力,并允许用户选用自己的操作系统和编程语言。用户可以通过信号定义来描述测试需求和测试资源,而不必考虑使用哪一种编程语言。IEEEl641标准是一种层结构模型,在模型中对每个层和它的功能进行了描述,每一个层都建立在前一层的基础之上。这种层结构要求每一层必须根据它的前一层进行全面定义。它包括信号建模语言层、基本信号组件层、测试信号框架层和测试过程语言层。对信号进行描述的过程中IEEEl641标准分别从信号名称、定义、角色、端口、参数对信号进行说明,其中信号参数部分分别从参数名称、定义、数据类型、单位、复位值、范围、角色、限定词对信号参数进行说明。
l 信号设计
面向信号自动测试系统信号组件的开发与信号类型定义息息相关,信号类型定义参考了IEEEl641标准和工程实践。信号组件的开发过程中信号是信号角色和信号类型的结合体,其中信号角色与仪器相关,信号类型与信号本身特征有关。一个信号是至少由一个信号参数组成,信号参数内部划分为信号参数定义、信号参数角色和信号参数限定词。
在IVI一3.11:IviSig Class Specification规范中主要定义了以下信号角色:Source,适用于“源”类仪器的信号,包括信号发生器类、电源类仪器等;Sensor和Monitor,适用于“测量”类仪器的信号,包括传感器类、示波器类、万用表类仪器等;Switch,适用于“通路”类仪器,包括开关、矩阵等。
信号参数角色是指信号参数针对某个仪器的信号能力。其中Controllable是指该信号参数可以被仪器控制,如电源输出的电压等;Measurable是指该信号参数可以被仪器测量,如数字万用表测量直流电压;Capa—bility是指不能被仪器测量或控制的信号能力,该能力对于某个信号类型必不可少,如输入电阻等。
信号参数限定词是指同一个信号参数的不同信号描述,它分为电压和电流信号的限定词、功率信号的限定词以及频率信号的限定词。例如对于电压来说其描述方式包括:峰峰值电压、RMS电压、平均电压等。
本文定义的信号是根据IEEEl641划分的,在使用时可以根据实际情况修改信号类型定义。下面定义的信号类型实际上是一个信号模板,包含了一个或多个信号类型。例如:AC SIGNAL包含了3种信号ACVoltage,AC Current,AC Power,对应到源(Source)就是交流电压源、交流电流源、交流功率源,对应到传感器(Sensor)就是交流电压表、交流电流表、交流功率计。现以交流信号为例,对信号定义进行说明。
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文件不需要修改。
3 信号组件的验证
采用Labwindows/cVI 8.0作为开发环境,通过SetAcAmpl函数存储客户程序输入的幅值信息,然后用COMGetAcAmpl函数读取客户程序输入的幅值信息,验证界面如图1所示。这两个函数完成了存储信号参数信息的功能。通过COMSetAcAmpl函数存储测试结果,最后用GetAcAmpl函数读取测试结果,验证界面如图2所示。通过以上验证说明ACVolt信号组件可以实现对信号信息的存储,为下一步面向信号自动测试系统的实现提供参考。
上一篇:基于分布式光纤的油井温度场测量系统设计
下一篇:具有远程抄表功能的单相电子式电能表设计
推荐阅读最新更新时间:2024-03-30 22:19