论文部分内容阅读
虚拟仪器在自动化测试领域中带来的技术革新,使得仪器软件的开发占据越来越重要的地位。VISA(Virtual Instrument Software Architecture),即虚拟仪器软件结构,实现控制计算机与仪器的软件层连接,用于与不同总线接口的仪器进行通讯,被广泛应用于测量工业中测试仪器与上位机的交互。VISA作为标准I/O库,将对仪器硬件接口的操作进行封装,只向用户开放其可操作的接口函数原型,且独立于仪器类型、计算机操作系统和具体的编程语言,实现虚拟仪器软件的可互换性及灵活性。本课题研究虚拟仪器软件架构,为通用测试仪器开发具有自主知识产权的VISA库,主要内容有:(1) VISA整体架构的设计。采用分层架构思想,结合经典设计模式,设计VISA平台整体架构,其分层架构将VISA系统按不同功能职责有序组织,以实现低耦合高内聚,提高软件系统的效率及可维护性。采用动态链接库实现VISA的封装,使VISA支持多语言、跨平台使用。(2) VISA引擎各部分详细设计。包括属性机制、资源管理器和资源解析器的设计与实现。采用静态存储属性不变参数与动态添加属性可变参数相结合的方式完成属性的存储。资源管理器设计链表管理资源,便于扩充接口种类,实现VISA库的向后兼容性。资源解析器结合编译原理,分别实现词法分析、语法分析和正则表达式匹配三个模块,模块间协同合作共同完成资源解析的任务,实现高效、准确的资源查找字符串解析。(3)常见接口驱动的设计。采用机制与策略分离的思想分层设计驱动,具体驱动分离实现并隐藏,只向用户提供统一接口。按消息基器件和寄存器基器件分类设计接口驱动,包括PXI接口驱动、以太网接口驱动及本地总线接口驱动的实现。(4)软件的测试。按照不同的通信环境,搭建两种不同的测试平台,根据各模块的用途,综合使用不同软件测试方法制定测试方案,分别完成各模块的测试,再结合VISA整体架构进行综合测试,分析并解决测试中出现的问题。经过测试,本课题开发的VISA支持跨平台、可重入、多语言和多线程安全,满足设计需求。