编辑: 思念那么浓 | 2019-07-06 |
b) 在程序中如果直接采用程控命令码对仪器进行控制,由于设计人员的编程风格不一 样,会造成程序的可读性和二次开发性大打折扣;
c) 现有自动测试系统基本是针对特定型号的仪器编写,系 统中任意一台仪器都无法被同类型其他型号替换,这种自动测试程序与仪器型号一一绑定的方式,在很大程度上 影响了仪器的使用效率和调配能力,给科研生产带来了极大的不便. 收稿日期:2016-05-10;
修回日期:2016-06-09 第1期陈鑫友等: 可互换仪器程控命令封装库设计与实现
111 由于自动测试系统中涉及多种类、多型号的仪器,同时还要考虑到仪器资源的调配和保障情况,这大大加 深了自动测试系统程序开发的难度.如果能设法将某一类型仪器编程结构化、模块化,形成一个通用的封装库, 将帮助自动测试系统程序设计师实现仪器控制程序的通用性和重用性,极大地提高了程序开发效率,缩短开发周 期,提高开发质量.CBB 为大家提供了一个实现程序共享的很好思路[3] .CBB 指那些可以在不同产品、系统之 间共用的零部件、模块、技术及其他相关设计成果,可分为技术货架和产品货架,当一个自动测试系统软件基于 许多成熟的、共享的 CBB 搭建而成,则自动测试系统软件的质量、进度和成本会得到更好的控制和保证.因此, 基于对仪器的熟悉了解和经验,希望通过建立仪器程控命令封装库将 CBB 概念引入仪器程控技术中.仪器程控 命令封装库可视作一个软件类的货架产品,供自动测试系统程序设计师选用.
2 封装库优点 建立仪器程控命令封装库旨在仪器编程中实现仪器的可互换性和程序的共享化,努力提升与仪器相关的测 试软件编程的通用性和灵活性[4] .测试软件程序设计人员仅需调用相应仪器的程控命令封装库,就可在最短的时 间实现相应仪器程控功能.该封装库具有以下特点: 1) 通用性.使仪器编程结构化、模块化,适用于各种测试软件平台.只需在程序中导入封装库函数,即可 在不同的软件产品中重用和共享;
2) 可互换性[5] .系统程控仪器可在同类仪器中任意替换,而不需要改变源代码,在仪器硬件不同的情况下, 代码亦可共享;
3) 规范性.封装库对仪器的功能函数实行统一化和标准化,避免了软件产品受编程人员影响而风格迥异, 使软件产品的可读性和二次开发性得到保证;
4) 升级和维护的便利性.如果程序需要升级和维护时,可改动封装库内部控制程序,而调用封装库的测试 软件则不需做任何改动,大大降低工程的复杂度,促进分工合作,提高开发效率. 由此,带来的好处主要有: 1) 使程序设计人员从繁琐的命令查找和验证工作中解放出来,使现场操作人员从每一型号仪器操作的学习 过程中解放出来;
2) 能快速实现新技术更新升级,减少低水平重复,提高编程效率,释放大量人力资源;
3) 通过共享,实现个人知识向企业知识的转化和积累;
4) 充分调动仪器资源,使之发挥更高的使用效能.以往的自动测试模式是某一具体型号仪器与软件一一对 应,当这一台仪器出现故障或是调配不到时,则会出现人等仪器的状态.而使用封装库后,则是一类仪器与软件 对应,将一对一升级为 N 对一,提高了仪器的综合利用率.
3 设计与实现方式 3.1 总体设计 为实现仪器程控命令封装库的可互换性和共享化,在设计仪器程控命 令封装库时,需考虑到将同一类仪器的共性提取出来,方便自动测试系统 设计人员将仪器程控命令封装库集成到不同的硬件和软件平台中.硬件接 口方面,根据现在仪器和计算机硬件通信接口的形式及发展趋势,仪器程 控命令封装库支持多种硬件通信接口,包括 GPIB,VXI(VMEbus eXtensions for Instrumentation), PXI(PCI eXtensions for Instrumentation), Serial, USB 和LAN 等;