{管理信息化VR虚拟现实}基于网络的虚拟仪器测试系统

上传人:蜀歌 文档编号:145471642 上传时间:2020-09-21 格式:PDF 页数:60 大小:729.08KB
返回 下载 相关 举报
{管理信息化VR虚拟现实}基于网络的虚拟仪器测试系统_第1页
第1页 / 共60页
{管理信息化VR虚拟现实}基于网络的虚拟仪器测试系统_第2页
第2页 / 共60页
{管理信息化VR虚拟现实}基于网络的虚拟仪器测试系统_第3页
第3页 / 共60页
{管理信息化VR虚拟现实}基于网络的虚拟仪器测试系统_第4页
第4页 / 共60页
{管理信息化VR虚拟现实}基于网络的虚拟仪器测试系统_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《{管理信息化VR虚拟现实}基于网络的虚拟仪器测试系统》由会员分享,可在线阅读,更多相关《{管理信息化VR虚拟现实}基于网络的虚拟仪器测试系统(60页珍藏版)》请在金锄头文库上搜索。

1、管理信息化 VR 虚拟现实 基于网络的虚拟仪器测试 系统 管理信息化 VR 虚拟现实 基于网络的虚拟仪器测试 系统 引言 著名科学家门捷列夫说:“没有测量,就没有科学” 。测量科学的先驱凯尔 文又说,一个事物你如果能够测量它,并且能用数字来表达它,你对它就有了深 刻的了解;但如果你不知道如何测量它,且不能用数字表达它,那么你的知识可 能就是贫瘠的,是不令人满意的。测量是知识的起点,也是你进入科学殿堂的开 端。 1 基于网络的虚拟仪器测试系统 1.1 概述 随着计算机技术、通信技术与仪器技术的不断发展,使得虚拟仪器得到了进 一步发展,虚拟仪器将计算机资源与仪器硬件、数字信号处理技术结合,把厂家

2、定义仪器功能的方式转变为由用户自己定义仪器功能。用户可根据测试的需要, 自己设计所需要的仪器系统,利用一种或多种功能的通用模块,调用不同功能的 软件模块,组成不同的仪器功能。在虚拟仪器中,计算机成为仪器的一部分,使 得计算机可以得到充分发挥。除了仪器的输入、输出、数据处理分析、结果显示 由计算机完成外,还可组成计算机网络。一个大的复杂的测试系统往往系统的测 量、输入、输出、结果分析分布在不同的地理位置,仅用一台计算机并不能胜任 测试任务,需要由分布在不同地理位置的若干计算机共同完成整个测试任务。计 算机网络技术、总线技术的发展,乃至 Internet 网的发展拓展了虚拟仪器测试 系统的应用范围

3、。利用网络技术将分散在不同地理位置不同功能的测试设备联系 在一起,使昂贵的硬件设备、软件在网络内得以共享,减少了设备重复投资。一 台计算机采集的数据可以立即传输到另一台处理分析机上进行处理分析,分析后 的结果可被执行机构、设计师查询使用,使数据采集、传输、处理分析成为一体, 容易实现实时采集、实时监测。重要的数据实行多机备份,提高了系统的可靠性。 对于有些危险的、环境恶劣的不适合人员操作的数据采集工作可实行远程采集, 将采集的数据放在服务器中供用户使用。 1.2 虚拟仪器网络测试系统设计 虚拟仪器网络测试系统的设计需从虚拟仪器虚拟仪器和网络技术网络技术两方面考虑。 1.2.1 虚拟仪器部分 分

4、析测试系统的要求和系统的功能,根据系统功能的要求,在软件和硬件 之间进行优化选择,从而确定仪器所必需的硬件模块,以便用最少的模块实现 仪器的最佳功能。根据应用情况与实际的条件选择基于计算机的虚拟仪器的仪 器模块(VXI 总线、PCI 总线、PXI 总线、GPIB 仪器) ,包括示波器、信号调理 电路、万用表、信号源等模块。 硬件确定以后,主要确定软件功能模块,哪些仪器功能由软件实现,将软 件功能划分为相对独立的模块。然后选择易于编写的图形化的软件平台。 VirsualC+6.0 是一种面向对象的通用的功能强大的程序设计语言, 提供集 成性及可视化用户界面,采用面向对象的程序设计方法,它具有底层

5、操作功能, 也具有数据库开发功能,编程灵活,因此也是编程人员常选用的编程语言,我 也用 VC+编写了虚拟仪器平台,可以组建虚拟信号发生器、虚拟示波器、数据 采集。 1.2.2 网络结构设计 根据测试系统各部分所处的地理位置和覆盖的范围不同可构建局域网、城域 网、广域网。一个大的复杂的测试系统由各个子系统组成,每个子系统一般在一 个单位的小范围内,因此可建立局域网,然后将每个局域网互联,形成企业测量 系统。由于 Internet 网的发展,一些公用的数据还可以通过 Internet 网将测量 数据发布到网上供网上用户使用,可建立测量发布系统。对于有些危险的、环境 恶劣的不适合人员操作的数据采集工

6、作可实行远程采集。 由于网络测试中每个测试点担任不同的测试任务,为了减少不必要的重复工 作,通过网络实现资源共享,同时要减轻服务器与各节点的数据传输,提高网络 系统性能,因此服务器和各个节点以及各节点之间协同工作显得尤为重要。基于 Client/Server 模式的分布式计算、 分布式处理系统是解决这个问题的最好选择。 基于 C/S 模式,将系统功能分解到各个节点,各个节点有机配合,用户在自己的 终端上就可以观察到从服务器中获取的数据和处理结果。在 C/S 中,分客户机 (Client)程序和服务器(Sewer)程序。客户机程序和服务器程序可以运行在 一台计算机中,也可运行在两台或多台计算机中

7、,Client 程序与 Server 程序相 互协同处理,一个测试系统由一个或承担不同任务的多个客户机与一个或多个服 务器组成。客户机是用户与系统的交互接口,提供一个用户界面,完成用户命令 与数据的输入,显示服务器送回的结果。服务器接受客户机提出的申请,完成所 要求的操作并将结果传送给用户。在一个测试系统中,根据任务不同,每个服务 器和客户机承担的任务也不同,例如可划分为采集、数据处理分析、输出、监控。 一台计算机采集外部数据,将采集的数据存储并传输给另一台计算机,它就是服 务器,另外它又需要得到远地计算机的数据,这时它又成为客户机。C/S 模式是 一种开放式系统的协同处理工作模式。 设计 C

8、/S 模式时应首先分析系统所要达到的指标和功能要求,在此基础上, 把系统划分为各个相对独立的模块,分配到各个计算机上,每个计算机执行不同 的功能,能在客户机上完成的独立任务就不要放在服务器上,以减低服务器的工 作量。第二,要保证数据在服务器和客户机、客户机间可靠的传输。设计时需考 虑网络的带宽要满足传输要求,并减少网络数据传输量。 AgilentIO 库允许通过 LAN 进行仪器的控制操作。使用标准的 LAN 接口,计 算机可以不要特殊的仪器接口就可以实现对仪器的控制。LAN 软件使用计算机的 C/S 模式,这种模式使得应用程序(客户)可以不用执行所有的工作,相反,客 户机可以向另一台仪器(服

9、务器)发出某种请求。与可控仪器或器件相连的 LAN 服务器,一旦完成仪器或器件的请求,LAN 服务器会反馈信息给客户机。反馈的 信息包括数据和状态等表明操作是否成功的信息。例如网关在 LAN 软件(客户机 支持)和器件支持的仪器接口之间扮演一个服务器的角色。基本结构如图: 图 11 LAN 软件结构:LAN 软件结构:该结构中,包含了 LAN 客户软件和 LAN 软件(TCP/IP) (用于访问 服务器gateway) 。网关包含了 LAN 服务器软件,LAN(TCP/IP)软件以及用于 和客户机通讯和控制仪器的仪器驱动软件。 图 12 1.2.3 软件设计 与硬件结构相对应,软件结构可分为网

10、络测控系统控制主模块,是系统控制 的中枢,连接和控制各子模块;虚拟信号源、虚拟万用表和虚拟示波器等模块, 是控制相应台式仪器,使其完全能处于远程虚拟控制状态,给测控对象提供激励 信号,并监视受控对象输出特性变化;虚拟 VXI 仪器和信号调理模块是控制 SCXI 和 VXI 硬件模块仪器进行模拟量数据采集与开关量对象控制,包括数据处理;图 象采集模块,包括采集现场景物视频图象和有形对象的图象采集.与图象处理; 网络通信模块承担不同总线模块与主模块之间的数据传输与通信,也是实现本测 控系统与远程用户之间的控制与数据传送。每个虚拟仪器模块内部都封装了对应 仪器状态控制命令集、数据采集命令集、数据处理

11、模型以及通信协议等处理子模 块。 下面的第三章至第五章介绍的就是函数信号发生器、示波器以及万用表模块 的设计和具体的编程。下面让我们先来了解一下 VC+6.0 开发工具和 AgilentVISA 库。 2 开发工具和 AgilentVISA 库介绍 VisualC+6.0 是一套功能强大面向对象的且具有集成编辑器及编译器的编程语 言开发平台。今天我们所使用的许多应用软件,大部分是利用 C 语言来进行编写 的。VisualC+6.0 没有很复杂的开发界面,给用户的开发以很大的灵活性。 2.1VisualC+6.0 的特点 在众多的程序语言中,VisualC+6.0 是具有编辑和编译的集成开发环境

12、。通过 VisualC+6.0 的编辑功能,可以方便的设计程序。它的编辑功能可以随时让我们 了解到程序的结构、流程以及对象的成员,而完成程序设计之后,也不必经过复 杂的编译程序,而且给出的错误警告可以很方便的进行定位操作,这给程序设计 人员以方便。 2.2IDE 的集成开发环境界面 IDE 就是 IntegratedDevelopmentEnviroment 的缩写,是将程序代码的编写 (editor) 、编译(Compiler) 、执行(execution)以及纠错(debug)等功能汇集 一身的单一整合性的界面,提供程序开发过程所需要的相关或扩展服务,让用户 只需要通过此环境便可以轻松完成

13、程序工程。 2.3AgilentVISA 纵览 VISA 是 AgilentIO 库的一个部分。AgilentIO 库由两个部分组成:VISA 和 SICL。 AgilentVISA 是根据 VXIpp 系统联盟的规定设计的,它允许由不同的厂商开发的 软件能在同一个系统中运行。 如果你想在你的应用程序中使用 VXIpp 仪器驱动或者是想是自己开发的 IO 应用 软件或仪器驱动能符合 VXIpp 的标准,就需要使用 VISA。如果你使用新的仪器或 开发 IO 应用程序以及仪器驱动的话,也应该使用 VISA。 AgilentVISA 是一个 IO 库,可以用来开发符合 VXIpp 标准的 IO 应

14、用软件和仪器 的驱动。使用 VISA 开发的应用软件和仪器驱动可以在使用 VISAIO 库的 VXIpp 主 机上运行。因此,不同厂商开发的应用软件可以在同一个系统中运行。 32 位版本的 VISA 能在 Windows9598Me 以及 NT 和 2000 中使用。C,C+和 VisualBasic 在这些系统中都被支持。 对与 Windows,VISA 支持 GPIB、VXI、GPIB-VXI、Serial(RS-232)以及局域网接 口。在 WindowsNT 中,对 VXI 接口支持的 VISA 仅能运行在 Agilent 嵌入式的 VXI 控制器产品中。一台网络计算机能够通过网络访问

15、配置 VISA 地址譬如 GPIB 接口 地址上的仪器。 2.4VISA 编程 在 VISA 的编程中需要了解 VISA 的一些机制:VISA 的资源和属性、会话使用、 发送 I/O 命令、使用事件与句柄、捕抓错误等等。 VISA 资源:VISA 资源:在 VISA 中,任何 VISA 可以提供通讯的器件(如电压表)都可 以定义为一种资源。对于一个完善的 VISA 系统,VISA 定义完全符合 VXI 即插即 用联盟的规范的六种资源类可以被执行。 VISA 属性:VISA 属性:属性是和各种资源或会话相关联的。你可以使用属性来决定资 源或会话的状态或设置资源或会话为指定的状态。 譬如,你可以通

16、过 viGetAttribute 函数来读取指定会话、事件、查找列表的属 性的状态。有只读和读写的属性。通过使用 viSetAttribute 函数来修改指定的 会话、事件或查找列表的读写属性。 传 递 给 viGetAttribute 函 数 的 指 针 必 须 指 向 那 个 属 性 的 准 确 类 型:ViUInt16,ViInt32,等等。譬如,当读取一个返回 ViUInt16 值的属性的状态 时,你必须声明那个属性的变量和使用它来存储返回的数值。如果 ViString 被 返回,你必须分配一个数组和传递那个数组的指针给那个返回的数值。 对于 C 和 C+程序,你必须在每一个文件的开始处添加包含 VISA 调用函数 visa.h 头文件:#include“visa.h”这个头文件包含了 VISA 函数的原型的声明和所有 VISA 的常量和错误代码的定义。Visa.h 头文件也包含了 visatype.h 头文件。 该 visatype.h 头文件对 VISA 的所有类型进行了定义。 VISA 的各种类型贯穿了整 个 VISA,对函数中用到的数据进

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号