关键词:
虚拟仪器软件架构
可互换技术
跨操作系统
属性引擎
插件机制
摘要:
自动测试系统(Automatic Test System,ATS)利用PC(Personal Computer)中的仪器控制软件和多个仪器进行通信,而仪器控制软件的开发需要仪器驱动平台提供通信接口和仪器功能接口。仪器驱动平台包含符合虚拟仪器软件架构(Virtual Instrument Software Architecture,VISA)规范和仪器可互换技术(Interchangeable Virtual Instruments,IVI)规范的软件库,当下主流的仪器驱动平台由国外商业公司提供,缺乏安全保证,而国内自主实现的VISA库和IVI库没有适配国产操作系统。本文使用便于移植和扩展的Vala语言,根据VISA规范和IVI规范,实现在Windows和中标麒麟操作系统中工作的跨操作系统仪器驱动平台。本文主要内容如下:(1)研究VISA规范并对核心模块资源模板和资源管理器进行需求方案设计,实现跨进程资源锁、VISA事件机制、动态属性控制、资源读写、仪器资源管理与发现功能。结合软件设计模式,使用Vala语言提供的动态加载软件库实现VISA插件机制,提供插件管理以及插件加载功能。(2)研究IVI规范并对属性引擎、类驱动和共享组件部分进行需求分析和方案设计,使用Vala语言的泛型机制实现属性引擎模块中不同属性的范围检查、数据缓存、属性权限控制、重复属性管理和回调功能。使用Vala语言Property机制实现共享组件的序列化、反序列化、专有驱动动态加载和物理数据库管理功能。(3)结合测量仪器常用的GPIB、USBTMC和VXI-11通信接口,设计出相应的通信插件,并实现VISA规范提出的基本I/O接口和格式化I/O接口。根据函数发生器、示波器、频谱仪、射频信号源、程控电源和数字万用表6类仪器的类驱动规范,实现类驱动具体功能。(4)对Windows操作系统和中标麒麟操作系统中不同的总线驱动进行分析,使用Vala语言封装不同操作系统提供的底层驱动接口,使用软件构建系统制定编译策略,完成跨操作系统的适配工作。根据本文实现功能,设计测试方案,分析测试结果。测试结果表明,本文实现了可在Windows和中标麒麟操作系统中控制GPIB仪器、USBTMC仪器和VXI-11仪器的VISA库,以及包含函数发生器、示波器、频谱仪、射频信号源、程控电源和数字万用表6类仪器类驱动实现的IVI库。