



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计 算 机 自 动 测 量 与 控 制 . 2 0 0 0 . 8 ( 1 )Computer Automated Measurement & Control文章编号 : 1007 - 0257 (2000) 01 - 0021 - 04虚拟仪器系统软件结构的设计周泓汪乐宇陈祥献(浙江大学 仪器系检测技术与智能仪器研究所 , 浙江 杭州 310027)摘要 : 分析了 V XI 总线 “即插即用”规范的虚似仪器系统软件结构 , 并结合实例 , 阐述了虚拟仪器系统的输入/ 输出 ( I/ O) 软件 、仪器驱动程序及应用程序开发环境的组成与实现 。关键词 : 虚拟仪器 ; V PP 规范 ; 输入/ 输出接口软件 ; 仪器驱动程序 ; 软面板中图分类号 : TP31111The Design文献标识码 : Aof Virtual Instrument System Sof t ware ArchitectureWAN G L e2yuCH EN Xiang2xianZHOU Ho ng(Dep t . of Inst rumentatio n Science , Zhejiang U niversity , Hangzhou 310027 , China)Abstract : This paper discusses t he sof t ware architect ure of virt ual inst rument system o n t he basis of V XIbus plug &play sys2 tem specificatio ns. Wit h t he p ractices of developing t he virt ual inst rument system , t he co nstit utio n and realizatio n of t he inp ut / outp ut interface sof t ware , inst rument drivers and t he applicatio n sof t ware developing enviro nment are p resented.Key words : virt ual inst rument ; V PP specificatio ns ; inp ut / outp ut interface sof t ware ; inst rument drivers ; sof t ware f ro ntpanel1概述虚拟仪 器 概 念 是 为 了 适 应 PC 卡 式 仪 器 而 提 出 的 。与传统仪器不同的是 , PC 卡式仪器由于自身不带仪器操作面板 , 因此必须借助计算机强大的图形化环境与在线帮助功能 , 建立图形化的虚拟仪器软件面 板 , 完成对仪器控制与通讯 。这种与计算机结合构成的 、包含仪器操作信息软件 的 仪 器 , 就 称 为 虚 拟 仪 器 。虚拟仪器概念的提出 , 以其突出的特点 , 显示了 强大的生命力 , 并推动着仪器技术与计算机技术的进一步结合 。1987 年 , 世界上五大仪器公司联合提出了一种在 V M E 计算机总线基础上扩展而成的模块化 仪器总线规范 , 即 V XI 总线规范 , 并于 1992 年成为工业领域的国际标准 ( I EEE - 1155 标准) 。V XI 仪器 模块作为虚拟仪器的代表 , 在测试速度上有了极大提高 , 从而 更 好 地 满 足 了 测 试 实 时 性 的 要 求 。同 时 , V XI 总线的系统结构为虚拟仪器的开发提供了更为理想的平台 。以 V XI 总 线 系 统 为 代 表 的 开 放 式 模 块 化 系 统 ,在硬件方面为虚拟仪器系统的组成提供了极大的方便 , 但是 , 任何虚拟仪器的实现都必须在软件支持下才能工作 。与硬件在世界范围内的开放及标准化相适 应 , 虚拟仪器系统也迫切要求有一个具有统一格式与基础的软件结构 , 这就是虚拟仪器软件结构提出的最初动因 。2虚拟仪器系统软件结构的组成为了补充和发展 V XI 总线规范对于虚拟仪器系 统软件结构定义 , 使 V XI 仪器模块更易于使用 , 并 在系统级上使 V XI 总线系统成为一个真正开放的系统结构 , 1993 年 , 在 V XI 总线联合会的基础上 , 进一步成立了 V XI 总线 “即插即用”联盟 , 目的在于 定义和推行一些标准化准则和操作规程 , 解决 V XI总线规 范 中 尚 未 包 含 的 系 统 级 及 软 件 结 构 的 问 题 。V XI 即插即用规范越来越被广大的仪器生产厂家所接受 , 被称为 V P P ( V XI Plug &Play) 系统 。根据 V P P 系统规范的定义 , 虚拟仪器系统的软 件结构应包含以下三部分 , 如图 1 所示 :(1) 输入/ 输出仪器驱动程序之间 ,是一 个 完 成 对 仪 器 内部 寄 存 器 单 元 进行直 接 存 取 数 据 操作 、对 V XI 总线背 板与 器 件 作 测 试 与控 制 、并 为 仪 器 与( I/ O) 接口软件 : 存在于仪器与收稿日期 : 1999211201基金项目 : 九五国家重点科技攻关项目资助01 - 06)( 97 - 772 -作者简介 : 周泓 ( 1974 - ) , 男 , 浙江绍兴人 , 博 士 生 ,主要研究虚拟仪器技术 、自动测试系统集成技术等 。图 1 虚拟仪器软件框架虚拟仪器系统仪器驱动程序提供信息传递的底层软件层 , 是实现开放的 、统一的虚拟仪器系统的基础与核心 。在 V P P 系统规 范 中 , 详 细 规 定 了 虚 拟 仪 器 系 统 输 入/ 输 出 ( I/ O) 接口 软 件 的 特 点 、组 成 、内 部 结 构 与 实 现 规范 , 并将 符 合 V P P 规 范 的 虚 拟 仪 器 系 统 输 入/ 输 出接口软件被详细定义 。在形式上 , V ISA 与现在的 I/O 库 (如 S ICL 、N I - GP IB 等) 都很类似 , 然而 , 它 是提供了控制所有类型的仪器的单一标准的 I/ O 库 , 是所有现存 I/ O 软件的功能超集 , V ISA 实现了各种I/ O 库的统一 。与其他作为 V ISA 功能子集的 I/ O 软件相比 , V ISA 具有以下几个特点 :(1) V ISA 的 I/ O 控制功能独立于仪器类型 , 利 用 V ISA 库生成的仪器驱动程序 , 实现对于消息基器 件的驱动与实现对于寄存器基器件的驱动 , 形式上与使用上是一致的 。(2 ) V ISA 的 I/ O 控 制 功 能 适 应 于 单 处 理 器 结 构 、多处理器结构及分布式网络系统结构 。(3) V ISA 的 I/ O 控制功能独立于操作系统 、编 程语言及网络机制等 。(4) V ISA 不仅能实现对于 V XI 仪器的控制 , 也 可以实现对于 GP IB 、RS - 232 等仪器的控制 , 从而 可以实现仪器系统的兼容性 , 为在过去的仪器系统基础上实现系统结构的改进与扩展提供了保障 。(5) V ISA 的 I/ O 库 , 对于仪器模块的最终用户 来说 , 是一种方便易用的控制集 , 对于设计复杂系统 的设计人员来说 , 也提供了丰富的控制功能 , 既可以实现仪器模块的控制 , 又可以实现系统的管理功能 。 下面仅以一个对于不同类型的仪器模块的读写操作的例子来说明 V ISA 的特点 。( I/ O ) 接 口 软 件 定 义 为 V ISA ( Virt ualSof t ware Architect ure) 软件 。(2) 仪器驱动程序 : 每个仪器模块均有自己的仪 器驱动程序 。仪器驱动程序的实质是为用户提供了用于仪器操作的较抽象的操作函数集 。对于应用程序来 说 , 它对仪器的操作是通过仪器驱动程序来实现的 ;仪器驱动程序对于仪器的操作与管理 , 又是通过输入/ 输出 ( I/ O) 软件所提供的统一基础与格式的函数库( V ISA 库) 的调用来实现的 。对于应用程序设计人员 来说 , 一旦有了仪器驱动程序 , 在不是十分了解仪器内部操作过程的情况下 , 也可以进行虚拟仪器系统的 设计工作 。仪器驱动程序是连接上层应用软件与底层输入/ 输出 ( I/ O) 软件的钮带和桥梁 。在过去 , 仪器 供应厂家在提供仪器模块的同时提供的仪器驱动程序的形式 , 都类似于一个 “黑匣子”, 用户只能见到仪 器驱动程序的引出函数原型 , 而将源程序 “神秘”地隐藏起来 。用户一旦发现供应厂家提供的仪器驱动程 序不能完全符合使用要求时 , 也无法对其作出修改 ,仪器的功能由供应厂家而不是由用户本身来规定的 。 而 V P P 规范明确地定义了仪器驱动程序的组成结构与实现 , 明确规定仪器生产厂家在提供仪器模块的同时 , 必须提供仪器驱动程序的源程序文件与动态链接 库 (DLL ) 文件 , 并且由于仪器驱动程序的编写是在V ISA 软件的共同基础上 , 因此仪器驱动程序之间有 很大的互参考性 , 仪器驱动程序源程序也容易理解 ,从而提供给用户修改仪器驱动程序的权利和能力 , 使 用户可以对仪器功能进行扩展 , 将仪器使用的主动权真正交给了用户 。(3) 应用软件开发环境 : 应用软件开发环境的选 择 , 可因开发人员的喜好不同而不同 , 但最终都必须 提供给用户一界面友好 , 功能强大的应用程序 。在目前 , 虚拟仪器系统应用软件开发环境主要包括两种 :一种是基于传统的文本语言式的平台 , 主要是 N I 公 司的 L abWindow s 、V C + + 、Delp hi 等 ; 一种是基于图形化工程环境的平台 , 如 HP 公司的 HP V EE 、N I公司 的 labV I EW 等 。图 形 化 软 件 开 发 平 台 的 提 出 ,可以大大减轻系统开发人员的负担 , 使其能将主要精Inst rument 例 1 .不利用 V ISA 软件 ( 利用 N I 公司的 N I- 488 库) 对 GP IB 仪器进行读写操作3 向位于主地址 5 的 GP IB 器件写入命令stat us = ibwrt (id “, 3 IDN ?”,5) ; 3 stat us 为函数返回值3 从 GP IB 器件读取器件编号 ( IDN) 值 , rdRespo nse为 IDN 值stat us = ibrd ( id , rdRespo nse , R ESPON SE- L EN GT H) ; 3R ESPON SE - L EN GT H 为数据长度 例 2 . 不利用 V ISA 软件 ( N I 公司的 N I - V XI)对 V XI 消息基仪器进行读写操作3 向位于逻辑地址 5 的 V XI 器件写入命令 , mode 与ret Count 为传递参数stat us = WSwrt (logicalAddr “, 3 IDN ?”,5 ,mode , &ret Count) ;3 从 V XI器 件 读 取 器 件 编 号 ( IDN ) 值 , rdRespo nse为 IDN 值stat us = WSrd ( logicalAddr , rdRespo nse , R ESPON SE-L EN GT H , mode , &ret Count) ;力集中投入到系统设计中 ,推敲上 。而不再是具体软件细节的 例 3利用 V ISA 软件对 GP IB 仪器与 V XI 消息基仪器进行以上相同的读写操作 , 其形式上完全一致3 vi 为 V ISA 函数的句柄3VISA 的特点与组成在 V P P 系统中 , V ISA 作为一个输入/ 输出 ( I/ O)23 周泓等虚拟仪器系统软件结构的设计第 1 期Stat us = vi Write ( vi , “3 IDN ?”, 5 , &ret Count) ;示为仪器驱动程序的外部接口模型 。如图所示 , 仪器驱动程序外部接口模型包括五部 分 :(1) 功能体 : 它是驱动程序的实际代码 , 是仪器 驱动程序函数主体 。其内部结构在仪器驱动程序内部设计模型中描述 。(2) V ISA I/ O 接 口 : 实 现 仪 器 驱 动 程 序 对 于 V ISA 软件所提供的软件资源调用 , 实质是 V ISA 动 态链接库的引入程序 。(3) 子程序接口 : 提供驱动程序调用其它软件模 块的机制 , 并提供调用其它软件库的机制 。(4) 程序式开发者接口 : 指从高级软件程序中调 用驱动程序的机构 , 仪器驱动程序被作为测试应用程序的一部分 , 程序式开发者接口提供给应用程序以标 准的软件接口 。(5) 交互式开发者接口 : 在 V P P 系统仪器驱动 程序中 , 交互式开发者接口提供给用户以图形化的功能软面板 , 用于以直观的方法帮助软件开发者理解每 个仪器驱动程序函数的功能以及如何使用程序式开发者接口调用每个函数 。在 V P P 系统中 , 仪器驱动程序不仅包括源代码 的编写 , 也包括功能面板文件的设计 。其中仪器驱动程序的源代码通过调用 V ISA 接口软件库中的接口函数来实现 , 而功能面板文件是仪器驱动程序的功能设 计与描述文件 , 它采用了树形结构 , 将仪器驱动程序的全部功能以仪器 、类 、函数及参数四类结点形式给出 , 一方面对于仪器功能作了总体与局部的描述 , 另 一方面也给出了所有函数至参数一级的图形化描述与帮助信息 , 在应用程序开发的图形化平台上可以直接 将功能面板文件调入 , 从而将仪器驱动程序的信息尽多地提供给上层平台 。仪器驱动程序源代码的编写应Stat us = vi Read ( vi , rdRespo nse , R ESPON SE- L E GN T H ,&ret Count) ;由上例可见 , 利用 V ISA 软件对于不同类型的仪器操作编程具有统一性 , GP IB 仪器与 V XI 仪器是完 全可以互换的 。而在 V ISA 出现之前 , 学习完 GP IB仪器操作命令之后 , 若需要对于 V XI 仪器进行操作 ,意味着 需 要 重 新 学 习 所 有 的 V XI 仪 器 的 命 令 格 式 ,费时费力 。基于 V ISA 软件的仪器驱动程序的编写 ,大大提高了开发效率 , 也提高了正确性 。作为一个 I/ O 软件 , V ISA 的内部结构是由面向 对象程序 ( OO P) 的软件模块构成的 , 在 V ISA 中 , 最基本的软件模块是定义在资源类上的资源 , 类似于面向对象编程中的定义在类上的对象的概念 。从功能上划分 , V ISA 资源可以分为仪器级与系 统级两个层次 。仪器级资源实现对于具体各个仪器的通信操作 ,可以实现消息基仪器的字串通讯 , 寄存器基器件的控 制 , 中断与触发控制以及高速数据传输等 。特别指出的是 , 在 V P P 系统规范定义的 V ISA 资源中 , 不仅包含 V XI 总线仪器资源 , 同 时 包 含 了 GP IB 仪 器 资 源 , RS - 232 串行通讯仪器资源等 , 实质是所有虚拟仪器的操作资源 。而系统级资源包括 V ISA 资源管理 器与仪器控制管理器 , 主要执行 V XI 总线系统特性 、系统的初始化与组态 , 以及多仪器控制资源的管理机 制 , 使多个 V ISA 子系统元件能在整个系统中配合工作 。V ISA 软件通过为虚拟仪器系统提供一个共同的 输入/ 输出程序库 , 为实现不同厂家所开发的软件都能在相同的平台上共同运行提供了坚实基础 。V ISA软件一般驻留在计算机资源管理器中 , 仪器驱动程序 对它的调用是通过动态链接库的形式实现的 。4仪器驱动程序的结构与实现根据 V P P 规范 , 虚拟仪器系统的仪器驱动程序 包括两个基本的概念模型 : 第一个是仪器驱动程序外部接口模型 , 表示仪器驱动程序如何与外部软件系统 接 口 。第 二个 是 仪 器 驱 动 程 序 内 部设 计 模 型 ,定 义 了 仪 器 驱 动 程 序 的内部结构 。 图 2 所ZD E1458 数字输入/ 输出模块功能面板基本树结构图 3图 2 仪器驱动程序外部接口模型ZD E1458 96 Channels Digital Inp ut / Outp ut ModuleInitializeCo nfigure. . . . . . Trace. . . . Applicatio n Functio nsInp ut. . . . . . Outp ut. . . . . . Utilit y. . . . . . Close与功能面板的设计是并行进行的 , 首先应设计出功能面板的树结构 , 然后将树结构中所有函数实体化 , 最 后将所有实体化的函数图形描述化 , 并加上各类帮助 信息 。图 3 所示为浙江大学检测技术与智能仪器研究所开发的数字输入/ 输出模块 ZD E1458A 的功能面板文件简要树结构 , 其它仪器驱动程序功能面板的设计 也完全可以参考 。应用程序通过调用仪器驱动程序以动态链接库 (DLL ) 形式提供的功能函数 , 对仪器进参考文献V PP22 System Framewor ks Specificatio n , V XI Plug &PlaySystem Alliance S . 1996 .V PP2311 Inst rument Drivers Architect ure and Design Specifi2catio n S . 1996 .V PP2411 V ISA - 1 Virt ual Inst rument Sof t ware Architect ure main Specificatio n S . 1994 .V PP - 7 . Sof t Fro nt Panel Specificaito n S . 1996 .12345陈光禹 . V XI 总线测试平台技术 M .科技大学出版社 , 1996 . 10 .四川成都 : 电子行数据与信息传递 。详细方法参见参考献7。6周 泓 , 汪 乐 宇 . 虚 拟 仪 器 系 统 I/ O 接 口 软 件 V ISA国外电子测量技术 , 1998 , (5) .5虚拟仪器系统应用软件的设计虚拟仪器 系 统 的 应 用 软 件 , 也 可 以 分 为 两 个 层 次 。对于每个虚拟仪器模块来说 , 必须提供一个虚拟仪器软面板 。在系统集成初始化时 , 软面板用于检验 仪器通信和修改仪器操作 , 在系统集成完成时 , 软面板又可用于实现仪器功能 , 并能帮助用户理解和熟悉 仪器特性 。软面板是一 个 可 独 立 运 行 的 W INDO WS应用程序 。V P P 规范对于软面板的开发也作了一系 列 的 要 求 。图 4 所 示 为 数 字 输 入/ 输 出 模 块ZD E1458A 软面板的主面板 。虚 拟 仪 器 系 统 应 用 软件不仅包含了系统内的仪器模块的操作控制 , 数据的采集分析与显示 , 同 时必须具有良好的开放性与可扩展性 。通过本地数据库或远程数据库的存取 操作 , 完成数据 的 存 储 。通过嵌入与链接方式 , 借 助其 他 W INDO WS 应 用程序的强大的数据处理与J .周泓 , 余锋 , 汪乐宇 . 虚拟仪器驱动程序的设计 J .程设计 , 1998 , (2) .工7周 泓 , 汪 乐 宇 . V XI 即 插 即 用 虚 拟 仪 器 软 件 面 板 设 计8J .现代科学仪器 , 1998 , (4) .周泓 , 汪乐宇 . V XI 即插即用知识库文件的设计测9J .控技术 , 1998 , 17(4) .分析功能 , 完成数据的二次处理 。并通过网络通讯 功能 , 实现数据的网络传图 4 数字输入/ 输出 V XI模块软面板主面板输 。虚拟仪器系统的应用软件是一个完整的系统 , 满足各种测控工程的需要 。,6结语虚拟仪器系统软件结构的提出 , 为实现统一的虚 拟仪器系统提供了基础与保障 。只有正确理解与掌握虚拟仪器系统软件结构的各部分组成 , 才能设计出符 合 V P P 规范的虚拟仪器系统 , 也只有正确理解与掌握虚拟仪器系统的软件结构 , 才能更好地发挥虚拟仪 器系统的优越性 。本文希望
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年企业人力资源管理师(人力资源薪酬福利管理师级)技能操作试卷
- 南京师范大学中北学院《油画(二)写生》2024-2025学年第一学期期末试卷
- 荆州理工职业学院《非参数统计》2024-2025学年第一学期期末试卷
- 西南政法大学《中学政治课教材分析》2024-2025学年第一学期期末试卷
- 湖南师范大学树达学院《专修足球(2)》2024-2025学年第一学期期末试卷
- 2025年护士执业资格考试护师考试模拟题及解析
- 2025年燃气储运行业趋势分析与初级考试预测题解析
- 江西农业大学南昌商学院《实验动物解剖学》2024-2025学年第一学期期末试卷
- 山西工程科技职业大学《生物工程专业大》2024-2025学年第一学期期末试卷
- 2025年殡葬行业职业认证与考试信息解读
- 光伏居间的合同8篇
- GB/T 45418-2025配电网通用技术导则
- 医疗风险防控培训课件
- 机械设计部绩效考核制度
- 诊疗规范培训课件
- 《KANO模型培训》课件
- 复苏室患者的交接流程
- 【人教版化学】选择性必修1 知识点默写小纸条(答案背诵版)
- DB21-T 2523-2015矿山地质环境恢复治理规程
- 新能源集控中心建设方案
- 《中国老年糖尿病诊疗指南(2024版)》解读课件
评论
0/150
提交评论