一种PXI总线开关模块平台化软件设计方法

2021-07-03 04:15曹光磊郭敏阎涛朱学波李龙曹宁
电子测试 2021年10期
关键词:用户界面数组虚拟仪器

曹光磊,郭敏,阎涛,朱学波,李龙,曹宁

(中电科思仪科技股份有限公司,山东青岛,266555)

0 引言

PXI总线开关模块是PXI总线自动测试系统同待测件之间信息交换的中枢。PXI射频开关模块,是自动测试系统中对射频信号进行路由、切换的重要功能模块[1]。通过各种开关模块,系统可以将各种控制信号或者激励信号注入到被测对象的任意输入端口,同时也可以将被测对象输出端口的信息自动切换到相应的测试设备,实现PXI总线测试系统的自动化测试操作,缩短测试时间同时减少测试过程中人为的错误。PXI总线开关模块以其灵活的拓扑结构、集成度高、环境适应性好、多路复用、扩展性强等特点,能够较好地满足上述信号切换的要求。PXI总线矩阵开关模块在自动测试系统中发挥着重要作用,大量被应用在武器装备测试系统中。

因此基于各种开关模块的软件设计也是至关重要。由于开关模块的开关种类、开关数量、实现的功能的不同,因此,不同的开关模块需要开发不同的开关软件进行控制。产品研发人员需要花费大量的时间进行开发,而且产品的维护很容易出错,致使软件的开发效率以及代码质量普遍偏低。

1 总体方案设计

传统开关模块软件具体设计样式如图1所示,每个开关模块需要开发独立的开关模块软件,包括独立的用户界面和虚拟仪器驱动。由于程序开发人员设计思路不同,同类型开关模块软件界面复杂多样,各不相同,用户体验效果差。多种开关模块需要多套不同的开关软件,增加新的开关模块,需要重新开发相应的开关软件,开发过程繁琐。

图1 传统开关模块软件设计样式

综上,传统的PXI总线开关模块软件设计方法,具有以下缺点:1)拓展性差,增加新的开关模块,需要重新开发相应的开关软件,开发过程繁琐。2)通用性差,每种开关模块对应各自的开关软件,多种开关模块需要多套不同的开关软件,该软件开发方式存在大量的重复性开发。3)同类型开关模块软件界面复杂多样,用户体验效果差。

为了解决上述问题,本发明提出了一种PXI总线开关模块控制系统及方法,该控制系统包括统一的用户界面和虚拟仪器驱动,多个PXI总线开关模块共用一个虚拟仪器驱动和用户界面。该控制系统拓展性好,增加新的开关模块时,只需要在开关信息数组中增加该开关模块相关信息,即可生成配套的开关控制。该控制系统通用性好,开关信息数组定义一种或多种开关模块信息,即可生成一种或多种开关模块的软件。平台化软件具有更大程序的灵活性和可扩展性,不仅可以根据当前的需求进行选择和搭配使用,而且具备了更好的二次开发接口[2]。

一种PXI总线开关模块控制系统,包括:虚拟仪器用户界面层和虚拟仪器驱动层;虚拟仪器用户界面层与虚拟仪器驱动层进行数据传输,虚拟仪器驱动层分别与多个PXI总线开关模块进行通信。平台化软件设计原理图如图2所示。

图2 平台化软件设计原理图

PXI总线标准是由美国国家仪器公司联合其他多家仪器领域权威机构提出的一种仪器总线接口标准[3]。将 PXI总线开关模块分为三类进行程序开发,分别为矩阵类开关模块、一选多路类开关模块和独立通道类开关模块。三种类型开关模块采用三种不同的虚拟仪器驱动控制方式,同种类型虚拟仪器驱动控制方式相同。三种类型开关模块采用三种不同的界面形式,同类型开关模块采用同类型界面。

进一步地,将PXI总线开关模块分为:矩阵类开关模块、一选多路类开关模块和独立通道类开关模块。矩阵类开关模块包括:4X32开关矩阵模块、6X8开关矩阵模块等;一选多路类开关模块包括:1选12开关模块、1选4开关模块等;独立通道类开关模块:包括25通道单刀单掷开关模块、80个独立单线制开关模块等。

2 平台化软件虚拟仪器驱动设计

保存所有开关模块的信息包括通道信息、开关地址、开关类别、开关设备ID、设备串号、开关数量、开关组数等内容,将信息保存到开关驱动信息数组中。仪器主程序查找设备中所有的开关模块,获取开关驱动数组信息,根据模块设备ID和设备串号的不同,分别对模块进行初始化,并定义开关通道。界面用户和集成用户将控制数据传递到驱动开关控制函数,驱动开关控制函数向开关地址设置数据,控制开关的通断。平台化软件虚拟仪器驱动设计流程图如图3所示。

图3 平台化软件虚拟仪器驱动设计流程图

3 平台化软件用户界面设计

所有开关模块的信息包括开关类别、开关设备ID、设备串号、开关数量、开关组数等内容,将信息保存到开关界面信息数组中。仪器主程序获取开关界面数组信息,各个开关模块将模块信息传递到控件生成函数,自动生成对应模块界面。控件生成函数,生成开关按钮、开关名称、开关连接线等控件,并设置开关按钮大小、连接线颜色、开关位置、开关间隔等内容。根据开关模块的数量生成对应数量的开关界面,增加或减少开关模块数量,开关界面数量相应的增加或减少。用户选择不同的开关模块,界面切换到相应模块界面,各个模块的界面互相独立,互不影响。通过操作界面上开关控件,各个开关模块将模块信息传递到开关控制函数,通过开关控制函数将开关控制命令传递到底层模块,控制各个开关的通断,同时界面上开关状态、开关连接线等状态发生相应变化。

图4 平台化软件用户界面设计流程图

4 总结

基于PXI总线开关模块平台化软件具有良好的通用性和扩展性,极大地节约了开发各种类型开关模块软件的时间,能够以最小的代价最大程度的满足应用的需求,减少了人力、物力的浪费。通用性好,开关信息数组定义一种或多种开关模块信息,即可生成一种或多种开关模块的软件;拓展性好,增加新的开关模块,只需要在开关信息数组中增加该开关模块相关信息,即可生成配套开关软件;同类型开关模块采用统一软件界面,用户操作方便,利于自动测试系统集成。

猜你喜欢
用户界面数组虚拟仪器
JAVA稀疏矩阵算法
基于CiteSpace的国外用户界面体验图谱量化分析
JAVA玩转数学之二维数组排序
物联网用户界面如何工作
PCB 刻制机功能开发及在虚拟仪器实验室建设中的应用
UI用户界面色彩设计研究
虚拟仪器及其在电工电子实验中的应用
Excel数组公式在林业多条件求和中的应用
虚拟仪器技术在农业装备测控中的应用
基于虚拟仪器的DMFC实时监控系统