




已阅读5页,还剩189页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章新型智能仪器 8 1个人仪器8 2虚拟仪器8 3现场总线仪器思考题与习题 8 1个人仪器 8 1 1个人仪器的原理及特点 1 个人仪器及其发展过程 个人仪器 也称pc仪器 是在智能化仪器的发展基础上出现的又一种新型微机化仪器 它是个人计算机与电子仪器相结合的产品 这类仪器的基本构想是将原智能仪器仪表中测量部分的硬件电路以附加插件或模板的形式插入到pc机的总线插槽或扩展机箱中 而将原智能化仪器中的控制 存储 显示和操作运算等软件任务都移交给pc机来完成 由于它充分利用了pc机的软件和硬件资源 因而相对于传统的智能仪器来说 极大地降低了成本 方便了使用 提高了可靠性 显示出广阔的发展前景 在此基础上 若将多种测控仪器插件或模板组合在一个pc系统中 还可以构成称之为个人仪器的系统 以代替价格昂贵的gp ib接口测试系统的工作 1 个人仪器的主要形式 个人仪器及系统的结构大体上可以分为以下几种形式 1 内插式 它把仪器插件卡直接插入到pc机内部总线扩展槽内 如图8 1 a 所示 在组成个人仪器时 由于没有专门为仪器仪表定义的总线 各仪器之间不能直接通信 模拟信号也无法经总线传递 因此这种形式的个人仪器及系统的性能不可能很高 这种结构比较简单 实现方便 成本最低 但难以满足重载仪器对电流功率和散热的要求 机内干扰也比较严重 2 外插式 克服内插式缺点的办法之一是定义新的仪器总线 并将仪器插件移到个人计算机外的独立机箱中去 如图8 1 b 所示 hp公司6000系列模块式pc仪器系统就是这种形式的代表产品 这种形式的个人仪器的特点是 独立的机箱和独立的电源 使仪器避免了微机的噪声干扰 设计了专门的仪器总线pc ib 组成仪器系统很方便 更换系统中与微机配合的接口卡 可适应于多种个人计算机机种 并且仪器模块和接口电路中也使用了微处理机 因而hp6000系统是一种功能很强大的多cpu分布系统 图8 1个人仪器的结构形式 3 vxi总线仪器系统 上述形式的个人仪器及系统以它突出的优点显示出强大的生命力 然而 由于各厂家生产的仪器没有采用统一的标准 用户在组成个人仪器系统时不能将不同厂家的仪器模块和插件插在同一主机箱内 这就妨碍了个人仪器的发展 于是 就发出了标准化的呼声 vxi仪器系统就是在这种形式下应运而生的 1987年7月 hp tektronix等五家电子仪器公司提出了用于仪器模块式插卡的新型互联标准 vxi总线 vxi总线是在计算机使用的一种vme总线基础上发展起来的 2 个人仪器的主要特点 个人仪器一般具有以下特点 1 成本低 在个人仪器系统中 每个测试功能不是由整机 而是由插件完成的 每个插件不必具有智能仪器所需的微处理器 显示装置 键盘 机箱等部件 因而制成本大大降低 2 使用方便 在个人仪器中 标准的仪器功能写在操作软件中 并备有简单的清单 menu 用户可根据清单进行选择 无需编制程序就能完成各种测试任务 操作方便 3 制造方便 仪器插件卡与个人计算机之间的关系远不如智能仪器中微处理器与测量部件之间的关系密切 而价廉物美的个人计算机可以购买 仪器制造厂可集中精力研制 生产测试插件卡 生产周期短 制造方便 4 实时交互作用 个人仪器是通过微机的系统总线连接的 相互间可进行实时的交互联系 例如 可让一台仪器去触发另一台仪器 使其在时间上相互关联 而在gp ib系统中 仪器间不能实时交互 它们只接受系统控制器的控制 或向控制器提出服务请求 2 个人仪器的组成原理 1 硬件结构 个人仪器的硬件是由仪器插件通过总线与个人计算机融合在一起构成的 因而仪器插件硬件部分总有接口和测量控制两大部分电路 其基本结构如图8 2所示 图8 2个人仪器插件的一般结构 图中接口部分由接口芯片 地址译码电路 控制电路等部分组成 这与pc机的一般功能接口卡的接口电路基本一致 它的测量控制部分与智能仪器的测量控制部分电路也基本一致 一般包括输入输出电路 采样保持电路 a d转换器 d a转换器 时基与时钟等部分 2 软面板 个人仪器不同于普通智能仪器的一个显著特点是 用户不再使用仪器的硬面板 而是采用软面板实现对仪器的操作 所谓软面板 是指在高分辨率crt上由作图生成的仪器面板图形 用户通过操纵键盘 移动鼠标 光标或触摸屏方式来选择软面板上的 软按键 显示在crt上的软面板可以采用c语言 basic语言及图形化编程语言来绘制 软面板根据测控仪器的性质不同可以有很多种形式 但一般包括仪器面板显示 软按键操作 状态反馈栏和系统控制窗口等 3 个人仪器系统软件 个人仪器系统一般有人工和程序两种控制方式 图8 3为个人仪器软件系统的一般结构 图8 3个人仪器软件系统结构图 在人工控制方式下 系统软件在微机屏幕上产生一个软面板 用户可以像操作传统仪器那样 通过软面板选择功能 量程以及输入有关参数的方式 建立起相应的状态标志 提供给仪器驱动程序 软面板的键盘操作一般是以中断方式实现的 当用户按下一个键时 软面板就终止当前执行的功能 判断所按的键 如果按下错误的键 就发出响声以提醒用户 如果按下正确的键 则显示所选参数 或者与仪器驱动程序模块进行通信来执行某项操作 并实时显示测量结果 在程序控制方式下 系统软件提供了容易记住和容易学会的高级命令 以便让用户能编制测试程序去进行自动测试 对于用户来说 只需要按照语句的格式进行编程 而不必知道仪器驱动软件与仪器模块之间的通信过程 仪器驱动程序是最低层的软件 是与pc仪器硬件直接联系的软件模块 无论人工操作还是程序操作方式 都要调用仪器驱动程序去执行输入输出操作 仪器驱动程序是直接面向硬件的 实时性强 要求程序的执行速度快 因此一般采用汇编语言编写 8 1 2典型个人仪器实例 1 内插式个人仪器 下面将以数字式电压表dvm个人仪器为例 简单介绍内插式个人仪器 通过本节的学习 学习者将掌握个人仪器的最基本特点并初步建立起个人仪器的概念 下面着重从硬件结构 软面板的生成和软件系统的设计三个方面进行介绍 1 dvm个人仪器插卡硬件结构 dvm仪器插卡硬件结构如图8 4所示 该仪器的输入电路由输入衰减器 前置放大器 量程转换和自动稳零切换电路组成 个人计算机通过接口电路对其进行控制 输入电路的作用是将不同量程的被测电压ux规范到a d转换器所要求的电压值 0 2v 前置放大器采用mc7650组成的单级同相放大器 放大倍数为1倍或10倍 由继电器jk2控制切换 输入衰减系数为0 01 由继电器jk1控制切换 零点校准由jk3控制 图8 4dvm个人仪器插件硬件结构图 控制接口电路使用8255c口 8255c口初始化为输出方式 其输出端pc3 pc4 pc6经7406驱动jk1 jk2和jk3继电器 仪器的a d转换器采用mc14433双积分集成a d转换器芯片 译码电路采用74ls138芯片 2 软面板的生成 图8 5是dvm个人仪器软面板 不难看出 它与同类智能仪表的硬件面板极其相似 显示窗用来显示测量结果 状态反馈窗提供当前正在执行的有关信息及出错信息等 软键 操作窗又分成量程键区域和功能键区域两部分 可以通过按下pc机的tab键来进行切换选择 软键 操作窗的 键 操作 是通过pc机键盘右边小键盘中的四个方向键来控制光标的移动的 当光标移到某一项时 就使该项以反相映像的形式进行显示 如图8 5所示的状况 图8 5dvm个人仪器软面板 此时若按回车键 则表示该 软键 被选中 同时在软面板前方弹出一个对话框 用户通过软件引导 直接通过pc机键盘输入其常数a与b的值 然后按下确认软键 ok 便进入该项功能的测量 图8 5所示的软面板表示正在执行ax b标度变换功能 其常数为a 0 5 b 2 00 量程为20v 其他软操作键的操作与此类似 但def1 def3为三个用户自定义功能键 可以按照用户自己的实际需要 使用c语言和仪器软件系统提供的功能程序模块进行编程来对此功能键进行定义 这种灵活的功能扩展方式在个人仪器中是比较容易实现的 此外 为了增强人机交互效果 软面板以及弹出的窗口中都使用汉字显示 这个实例的软面板是用c语言调用绘图程序绘制而成的 3 软件系统的设计 个人仪器是通过交互图形实现人 机接口的 这就要求所用程序设计语言具有很强的控制流和数据结构 运行速度快 并且容易与汇编语言接口 本dvm个人仪器控制软件采用了c语言 dvm个人仪器软件系统采用模块化结构 其中主程序模块是整个软件系统的一条主线 它把所有其他的程序模块连接起来 主程序首先对整个仪器以及系统中的有关器件初始化 再调用软面板生成模块 然后把余下的模块构成一个循环圈 仪器的功能都在这一循环圈中有选择地周而复始地运行 由于仪器的功能较多 程序进程复杂 因此程序流程采用状态参数控制方式 即在程序中建立一些状态变量 当用户选择不同的功能时就改变状态变量 程序再根据这些状态变量进入相应的功能 软键盘管理程序模块的功能就是根据用户对软键的选择来改变状态变量 然后根据这些变量进入不同的驱动程序模块 根据以上思路 dvm个人仪器主程序流程图如图8 6所示 其中fn为功能状态字 主程序根据fn进入不同的功能模块 图8 6dvm个人仪器主程序流程图 dvm个人仪器的测量方式按不同功能可分为单次测量和定次数测量方式 其中dvm ax b lmt等功能被程序确定为单次测量方式 hla log等功能被程序确定为定次数测量方式 主程序中软面板管理程序模块的功能是 采用光标法移动软键来选择仪器的状态 量程 功能等 通过提示的方法引导用户输入各功能所必需的参数 当返回主程序时 仪器便在新设置的状态及新输入的参数下进行测量和处理 2 hp pc个人仪器简介 hp pc个人仪器系统是hp公司1986年推出的 当时该系统共提供了8种个人仪器组件 即函数发生器 数字多用表 通用计数器 数字示波器 数字输入输出设备 继电式多路器 双数 模变换器和继电器驱动器 每一种个人仪器组件都封装在一个塑料机壳中 但它们拥有同一种总线标准 通过一块专用接口卡能与多种个人计算机相连 一块插入个人计算机总线扩展槽内的专用接口板 最多可以连接8台个人仪器组件 所有个人仪器组件公用一个外部电源 8台仪器组件分两排叠放在电源上部 形成了简单方便的仪器系统 若再增加一块接口板 可以使接入的pc仪器组件最多增加至16台 每种个人仪器组件中仅保留基本的测量功能 仪器的控制和数字 状态 波形的显示以及仪器的开关和按键等的管理 都集中于pc中 个人仪器组件本身不再具有传统的独立功能 pc对hp pc仪器的控制有程序控制和人工控制两种方式 在人工控制方式下 hp pc仪器系统软件在pc机的屏幕上向用户提供一幅可以人机对话的软面板 在程序控制方式下 用户可以使用pc仪器的软件方便地编制各种应用程序 pc仪器系统软件采用的语句与basic语言类似 hp pc仪器系统还带有gp ib口 以便于和其他带gp ib总线的仪器连接 应用于自动测试系统中 hp pc个人仪器系统采用pc ib总线 其软面板和dvm个人仪器软面板相类似 这里不再赘述 hp pc仪器系统中的pc仪器组件由测试功能电路和pc ib接口两部分组成 虽然pc仪器中大量工作已转移到pc中完成 但是由于微处理器芯片价格大幅度下降 因此为了设计及控制的方便 在pc仪器组件中也可以采用一片至数片微处理器 以便更好地完成测试和接口功能 图8 7是hp pc仪器中dmm组件部分电路框图 测试功能部分采用了一片微处理器对a d转换进行控制 并设置了量程与模式锁存器来存放从个人计算机收到的控制信号 以便控制dmm的量程和功能模块 测试功能部分的前端有三个可控开关 s3闭合时测直流电压 s2闭合时测交流电压 s1及s3均闭合时进行电阻测量 这时电流源供给一个确定的电流流经被测电阻 通过测量电阻上的电压获得电阻值 非易失性存储器用来存储测量中的标准或定标常数 a d控制用微处理器从a d转换器读取数据 并对偏移和增益进行校正后 才把数据送往个人计算机 图8 7hp 61013dmm组件电路 pc ib接口部分采用单片机管理 接口的光电隔离串行链路满足了dmm需要浮置的要求 由于光电隔离使组件部分与个人计算机分开 因此dmm组件也不必像一般智能dmm那样采用两套电源供电 使电路大为简化 总的看来 整个dmm个人仪器组件的规模大体上与智能dmm中的模拟部分相当 3 vxi总线个人仪器简介 这里仅对vxi总线个人仪器系统的组建情况作一简单介绍 vxi总线个人仪器系统是一种计算机控制的功能系统 在很宽的范围内允许不同厂家生产的仪器接口卡和计算机以模块的形式共同存在于同一主机箱内 vxi系统的组建按照主控计算机放置在机架内部或外部 分为内控方式和外控方式 图8 8 a 给出了一个典型外控方式vxi个人仪器系统构成图 主机架外部的主控计算机可以通过gp ib rs 232c mxi vem等多种总线与vxi系统联络 其中沟通两种总线的翻译器接口放在0号插座内 这是系统惟一需要固定的插件 被称为零槽插件 目前比较流行的外控方式是采用具有gp ib接口的外主控计算机 这种结构方式的优点是兼容性强 特别是在使用ieee488 2和scpi后 更换设备可以基本不改变或少改变程序 对gp ib系统较熟悉的编程人员 可以像控制gp ib系统一样控制vxi系统 并且可以借鉴大量成熟的软件 这种采用gp ib总线的控制方式会造成数据在这段路径上传输速率的下降 因此应尽可能在vxi主机箱内部对数据进行加工 处理 以使gp ib总线传输尽可能少的数据 外主控器通过mxi和vme总线对vxi系统控制时 往往可以提高数据传输速率 特别是vxi总线是一种适用于vxi系统的很有希望的总线 但这种方式往往要求对vxi系统内部工作情况有细致的了解 通过rs 232c进行联系速度慢 但可以通过modem接远程计算机 图8 8 b 给出了一个典型的内控方式vxi仪器系统示意图 由于系统内有一个内插式主计算机 因此控制器能直接运用高速指令访问vxi各仪器模块 通信速度很快 除此之外 在便携方面也需要内控方式的vxi仪器系统 内控方式的最大缺点是人机交互和编程较困难 兼容性较差 当然 目前有些厂家已能提供性能优良的内插式主控计算机 使其性能接近于外控计算机 图8 8vxi总线仪器系统的组建 a 外控方式 b 内控方式 图8 9是选用c型主机架的hp75000外控式vxi仪器系统装配示意图 外部控制器可以采用一台个人pc机 通过gp ib rs 232c mxi vme等总线或者以太网与主机架连接 主机架上的0号插槽指定为放置指令模板用 指令模板主要承担vxi系统资源管理以及gp ib总线对vxi总线的翻译功能 插入其他插槽中的每一个仪器或设备都是vxi总线仪器模板 本系统的主机架最多可以插放13个标准宽度的模板 有的仪器只需一个模板 而有的仪器则需要用两个模板来构成 如图中的数字设备 与个人计算机相连的gp ib总线还可以接至其他vxi系统或其他gp ib仪器系统 可见这种系统的组成是很灵活的 图8 9hp75000外控式vxi仪器系统 本系统可以同时进行多种测量 只需将来自各种仪器的信号经各种电子转换开关送到接口连接组件板ita 再接到被控设备中去即可 这种组件板适应性很强 一般被称作接口适配器 只要改变一下内部的适配器和软件 便可测试各种电子产品 vxi个人仪器系统集中了智能仪器 gp ib系统和内插式个人仪器系统的很多优点 它的出现极大地影响了电子仪器的发展进程 由于它还能充分发挥计算机的功能 运用新的测量原理构成虚拟仪器 因而vxi系统还有 未来仪器 和 未来系统 之称 8 2虚拟仪器 8 2 1虚拟仪器的原理及特点 1 虚拟仪器的概念 虚拟仪器是指通过应用程序将通用计算机与必要的功能化硬件模块结合起来的一种仪器 用户可以通过友好的图形界面来操作这台计算机 就像操作自己定义 自己专门设计的一台单个传统仪器一样 从而完成对被测控参数的采集 运算与处理 显示 数据存储 输出等任务 虚拟仪器通常由计算机 仪器模块和软件三部分组成 仪器模块的功能主要靠软件实现 通过编程在显示屏上构成波形发生器 示波器或数字万用表等传统仪器的软面板 而波形发生器发生的波形 频率 占空比 幅值和偏置 或者示波器的测量通道 标尺比例 时基 极性 触发信号 沿口 电平 类型 等都可用鼠标或按键进行设置 如同常 规仪器一样使用 不过 虚拟仪器具有更强的分析处理能力 随着计算机技术和虚拟仪器技术的发展 用户只能使用制造商提供的仪器功能的传统观念正在改变 而用户自己设计 定义的范围进一步扩大 同一台虚拟仪器可在更多场合应用 比如既可在电量测量中应用 又可在振动 运动和图像等非电量测量中应用 甚至在网络测控中应用 虚拟仪器强调软件的作用 提出 软件就是仪器 的理念 它克服了传统仪器的功能在制造时就被限定而不能变动的缺陷 摆脱了由传统硬件构成一件件仪器再连成系统的模式 变为由用户根据自己的需要 通过编制不同的测控软件来组合成各种虚拟仪器 其中许多功能直接就由用户软件来实现 打破了仪器功能只能由厂家定义 用户无法改变的模式 当用户的测控要求变化时 可以方便地由用户自己来增减软 硬件模块 或重新配置现有系统以满足要求 所以虚拟仪器是由用户自己定义 自由组合的计算机平台 硬件 软件以及完成系统功能所需的附件 2 虚拟仪器的组成 虚拟仪器同智能仪器一样 也是由硬件和软件两大部分组成的 下面就从这两个方面介绍虚拟仪器的构成 1 虚拟仪器的硬件系统 虚拟仪器的硬件系统一般分为计算机硬件平台和测控功能硬件 计算机硬件平台可以是各种类型的计算机 如普通台式计算机 便携式计算机 工作站 嵌入式计算机等 计算机管理着虚拟仪器的硬 软件资源 是虚拟仪器的硬件基础 计算机技术在显示 存储能力 处理性能 网络 总线标准等方面的发展 导致了虚拟仪器系统的快速发展 虚拟仪器不强调每一个仪器功能模块就是一台仪器 而是强调选配一个或几个带共性的基本仪器硬件来组成一个通用硬件平台 通过调用不同的软件来扩展或组成各种功能的仪器或系统 与传统的智能仪器一样 虚拟仪器也可以划分成数据采集 数据分析与处理 结果表达三个部分 传统的智能仪器是由厂家将上述三种功能的部件根据仪器功能按固定方式组建的 一般一种仪器只有一种功能或数种功能 而虚拟仪器是将具有上述一种或多种功能的通用模块组合起来 通过编制不同的测控软件来构成任何一种仪器 而不是某几种仪器 例如 激励信号可先由微机产生数字信号 再经d a变换产生所需的各种模拟信号 这相当于一台任意波形发生器 被测信号经过采样 a d变换成数字信号 再经过处理 可以直接以数字显示而形成数字电压表一类仪器 也可以用图形显示而成为示波器类仪器 或者再对数据进一步分析 即可形成频谱分析类仪器 其中 数据分析与处理以及显示等功能可以直接由软件完成 这样就摆脱了由传统硬件构成一件件仪器然后再连成系统的模式 而变成仅仅由计算机 a d转换器及d a转换器等带共性的硬件资源和应用软件共同组成虚拟仪器的新理念 许多厂家已研制出多种用于构建虚拟仪器的数据采集卡 daq 一块daq卡即可以完成a d转换 d a转换 数字i o 计数器 定时器等多种功能 再配以相应的信号调理组件以及gp ib仪器 vxi总线仪器 pc总线仪器 带有rs 232的串行口仪器 现场总线仪器等 形成现阶段虚拟仪器的硬件平台 如图8 10所示 图8 10虚拟仪器硬件平台 图8 10中 gp ib generalpurposeinterfacebus 通用接口总线 是计算机和仪器间的标准通信协议 gp ib的硬件规格和软件协议已纳入国际工业标准 ieee488 1和ieee488 2 它是最早的仪器总线 目前多数仪器都配置了遵循ieee488的gp ib接口 典型的gp ib测试系统包括一台计算机 一块gp ib接口卡和若干台gp ib仪器 每台gp ib仪器有单独的地址 由计算机控制操作 系统中的仪器可以增加 减少或更换 只需对计算机的控制软件作相应改动 这种概念已被应用于仪器的内部设计 在价格上 gp ib仪器覆盖了从比较便宜的到异常昂贵的仪器 但是gp ib的数据传输速率一般低于500kb s 不适合于对系统速率要求较高的应用 标准接口总线的长度应在20m距离内 vxi vmebusextensionforinstrumentation 即vme总线在仪器领域的扩展 是1987年在vme总线 eurocard标准 机械结构标准 和ieee488等的基础上 由主要仪器制造商共同制定的开放性仪器总线标准 vxi系统最多可包含256个装置 主要由主机箱 0槽 控制器 具有多种功能的模块仪器和驱动软件 系统应用软件等组成 系统中各功能模块可随意更换 即插即用组成新系统 目前 国际上有两个vxi总线组织 vxi联盟 负责制定vxi的硬件 仪器级 标准规范 包括机箱背板总线 电源分布 冷却系统 零槽模块 仪器模块的电气特性 机械特性 电磁兼容性以及系统资源管理和通信规程等内容 vxi总线即插即用 vxiplug play 简称vpp 系统联盟 其宗旨是通过制定一系列vxi的软件 系统级 标准来提供一个开放性的系统结构 真正实现vxi总线产品的 即插即用 这两套标准组成了vxi标准体系 实现了vxi的模块化 系列化 通用化以及vxi仪器的互换性和互操作性 vxi的价格相对较高 适合于尖端的测试领域 daq dataacquisition 数据采集 指的是基于计算机标准总线 如isa pci pc 104等 的内置功能插卡 它更加充分地利用计算机的资源 大大增加了测试系统的灵活性和扩展性 利用daq可方便快速地组建基于计算机的仪器 computer basedinstruments 实现 一机多型 和 一机多用 在性能上 随着a d转换技术 仪器放大技术 抗混叠滤波技术与信号调理技术的迅速发展 daq的采样速率已达到1gb s 精度高达24位 通道数高达64个 并能任意结合数字i o 模拟i o 计数器 定时器等通道 仪器厂家生产了大量的daq功能模块供用户选择 如示波器 数字万用表 串行数据分析仪 动态信号分析仪 任意波形发生器等 在 计算机上挂接若干daq功能模块 配合相应的软件 就可以构成一台具有若干功能的 仪器 2 虚拟仪器的软件系统 基本硬件确定之后 要使虚拟仪器能按用户要求自行定义 必须有功能强大的软件平台支持 早先的软件开发环境很不理想 即使是用c c 高级语言也会感到与高速测试及缩短开发周期的要求极不适应 经过大量工作 现在基于图形的用户接口和开发环境是虚拟仪器软件工作中最流行的发展趋势 典型的软件产品有ni公司的labview laboratoryvirtualinstrumentworkbench 实验室虚拟仪器工作平台 hp公司的hpvee和hptig tektronix公司的ez test和tns等 其中labview应用的影响最大 虚拟仪器最核心的思想 就是利用计算机的软件和硬件资源 使本来需要硬件或电路实现的技术软件化和虚拟化 最大限度地降低系统成本 增强系统的功能与灵活性 虚拟仪器的软件结构如图8 11所示 基于软件在虚拟仪器系统中的重要作用 从低层到顶层 虚拟仪器的软件系统框架包括三个部分 visa库 仪器驱动程序 应用软件 图8 11虚拟仪器的软件结构 1 visa virtualinstrumentationsoftwarearchitecture 库 visa库实质就是标准的i o函数库及其相关规范的总称 一般称这个i o函数库为visa库 它驻留于计算机系统之中 执行仪器总线的特殊功能 是计算机与仪器之间的软件层连接 用来实现对仪器的控制 对于仪器驱动程序开发者来说 visa库是一个可调用的操作函数库或集合 2 仪器驱动程序 仪器驱动程序是完成对某一特定仪器的控制与通信的软件程序集合 是应用程序实现仪器控制的桥梁 每个仪器模块都有自己的仪器驱动程序 仪器厂商将其以源代码的形式提供给用户 用户在应用程序中调用仪器驱动程序 3 应用软件 应用软件建立在仪器驱动程序之上 直接面对操作用户 通过提供直观 友好的操作界面 丰富的数据分析与处理功能来完成自动测试任务 应用软件还包括通用数字处理软件 通用数字处理软件包括用于数字信号处理的各种功能函数 如频域分析的功率谱估计 fft fht 逆fft 逆fht和细化分析等 时域分析的相关分析 卷积运算 反卷运算 均方根估计 差分积分运算和排序等 滤波设计中的数字滤波等 这些功能函数为用户进一步扩展虚拟仪器的功能提供了基础 3 虚拟仪器的特点 与传统仪器相比 虚拟仪器除了在性能 易用性 用户可定制性等方面具有更多优点外 在工程应用和社会经济效益方面也具有突出优势 一方面 目前我国高档台式仪器如数字示波器 频谱分析仪 逻辑分析仪等还主要依赖进口 这些仪器加工工艺复杂 要求很高的制造技术 国内生产尚有困难 采用虚拟仪器技术 可以通过只采购必要的通用数据采集硬件来设计自己的仪器系统 另一方面 用户可以将一些先进的数字信号处理算法应用于虚拟仪器设计 提供传统台式仪器不具备的功能 而且完全可以通过软件配置实现多功能集成的仪器设计 因此 可以说虚拟仪器代表了未来测量仪器设计发展的方向 与传统仪器比较 虚拟仪器还有许多其他优点 1 融合计算机强大的硬件资源 突破了传统仪器在数据处理 显示 存储等方面的限制 大大增强了传统仪器的功能 高性能处理器 高分辨率显示器 大容量硬盘等已成为虚拟仪器的标准配置 2 利用了计算机丰富的软件资源 实现了部分仪器硬件的软件化 节省了物质资源 增加了系统灵活性 通过软件技术和相应数值算法 实时 直接地对测试数据进行各种分析与处理 通过图形用户界面 gui 技术 真正做到界面友好 人机交互 3 基于计算机总线和模块化仪器总线 仪器硬件实现了模块化 系列化 大大缩小了系统尺寸 可方便地构建模块化仪器 instrumentonacard 4 基于计算机网络技术和接口技术 vi系统具有方便 灵活的互联 connectivity 特性 该特性广泛支持诸如can fieldbus profibus等各种工业总线标准 因此 利用vi技术可方便地构建自动测试系统 ats automatictestsystem 实现测量 控制过程的网络化 5 基于计算机的开放式标准体系结构 虚拟仪器的硬 软件都具有开放性 模块化 可重复使用及互换性等特点 因此 用户可根据自己的需要 选用不同厂家的产品 使仪器系统的开发更为灵活 效率更高 缩短了系统组建时间 6 研制费用低而且部分软 硬件可以重复利用 技术更新快 周期1 2年 8 2 2labview虚拟仪器开发平台简介 1 labview的功能 labview是美国ni公司研制的一个功能强大的虚拟仪器系统开发平台 是具有直观界面 便于开发 易于学习且具有多种仪器驱动程序和工具的大型仪器系统开发工具 labview基于图形化编程语言g开发环境 它采用了工厂人员所熟悉的术语 图标等图形化符号来代替基于文字的常规程序语言 把复杂烦琐 费时的语言编程简化成简单 直观 易学的图形编程 同传统的程序语言相比 可以节省约80 的程序开发时间 这一特点也为那些不熟悉c c 等计算机语言的开发者带来了很大的方便 labview整合了gp ib vxi pxi rs 232c和rs 485以及数据采集卡daq等硬件通信的全部功能 它还提供了调用tcp ip activex等软件标准的库函数及代码接口节点等功能 方便了用户直接调用由其他语言编制成的可执行程序 使得labview编程环境具有一定的开放性 labview的基本程序单位是vi 可以通过图形编程的方法 建立一系列的vi 来完成用户指定的测试任务 对于简单的测试任务 可由一个vi完成 对于一项复杂的测试任务 则可按照模块设计的概念 把测试任务分解为一系列的任务 每一项的任务还可以分解为多项小任务 直至把一项复杂的测试任务变成一系列的子任务 设计时 先设计各种vi以完成每项子任务 然后把这些vi组合起来以完成更大的任务 最后建成的顶层虚拟仪器就成为一个包括所有子功能虚拟仪器的集合 labview可以让用户把自己创建的vi程序当作一个vi子程序节点 以创建更复杂的程序 且这种调用是无限制的 labview中各vi之间的层次调用结构如图8 12所示 可见 labview中每一个vi相当于常规程序中的一个子程序 图8 12labview层次调用结构 2 labview的工作面 所有的labview程序 即虚拟仪器 vi 都包括前面板 frontpanel 流程图 blockdiagram 图标 接口三部分 前面板用于设置输入数据和观察输出量 由于程序前面板是模拟真实仪表前面板 的 输入量被称为controls 输出量被称为indicators 因此 用户可以使用许多图标 如旋钮 开关 按钮 图表 图形等 来使前面板易懂易看 图8 13是一个温度计程序的前面板 图8 13前面板举例 温度计vi 每一个前面板都伴有一个流程图 也叫程序框图 流程图用图形编程语言编写 可以把它理解成传统程序的源代码 框图中的部件可以看成程序节点 node 如循环控制 事件控制和算术功能等 这些部件都用连线连接 以定义框图内的数据流方向 上述温度计程序的流程图如图8 14所示 图8 14温度计程序的流程图 图标 接口部件可以让用户把vi程序变成一个对象 vi子程序 然后在其他vi程序中像子程序一样地调用 图标表示在其他程序中被调用的子程序 而接线端口表示图标的输入输出口 就像子程序的参数端口一样 它们对应着vi程序前面板的控制量和指示量的数值 图8 15为温度计vi程序的图标和接线端口 接线端口一般情况下隐含不显示 除非用户选择打开看它 labview的强大功能归因于它的层次化结构 用户可以把创建的vi程序当作子程序调用 以创建更复杂的程序 而这种调用阶数是无限制的 图8 15温度计vi程序的图标及端口 3 labview模板 labview具有图形化的可移动的工具模板 用于创建和运行程序 它共有三类模板 工具 tool 模板 控制 controls 模板和功能 functions 模板 以下简要介绍这三类模板 1 工具模板 工具模板用于创建 修改和调试程序 如果该模板没有出现 则可以在windows菜单下选择showtoolspalette功能以显示该模板 工具模板包含有10种工具 限于篇幅 对每种工具的功能不作介绍 当从模板内选择了任一种工具后 鼠标箭头就会变成该工具相应的形状 2 控制模板 用控制模板可以给前面板增加输入控制量和输出指示量 控制模板中每个图标代表一个子模板 它包括9个子模板 只有打开前面板窗口时才能调用控制模板 3 功能模板 功能模板包括16个子模板 功能模板用来创建框图程序 模板上每一个顶层图标都表示一个子模板 只有打开了框图程序窗口 才能出现功能模板 若功能模板不出现 可用windows菜单下的showfunctionspalette功能打开它 4 用labview创建一个vi程序的方法 下面介绍用labview创建一个vi程序的方法 1 创建前面板 当构建一个虚拟仪器前面板时 只需从控制模板中选取所需的输入控制部件和输出指示部件 包括数字显示 表头 led 图标 温度计等 即可 控制部件是用户输入数据到程序的方法 而指示部件则显示程序执行后产生的结果 控制和指示部件有许多种类 可以从控制模板的各个子模板中选取 两种最常用的数字对象是数字控制部件和数字指示部件 若要在数字控制部件中输入或修改数值 只需要用工具模板中的操作工具点击控制部件的增减按钮 或者用操作工具或标签工具双击数值栏进行输入 例如 从控制模板的图形 graph 子模板中选取波形图表 waveformchat 这个指示部件后 当vi全部设计完成之后 就能使用前面板 通过点击一个开关 移动一个滑动旋钮或从键盘输入一个数据来控制系统 前面板为用户建立了直观形象 使用户感到如同在传统仪器面前一样 2 编排框图程序 流程图 框图程序是指用图形编程语言编写程序的界面 用户可以根据指定的测控方案通过功能模板的选项 选择不同的图形化节点 node 然后用连线的方法把这些节点连接起来 即可构成所需要的框图程序 功能模板的16个子模板中 每一个又包含了很多个选项 这里的功能选项不仅包含一般语言的基本要素 还包括了大量与文件i o 数据采集 gp ib及串口控制有关的专用程序块 节点是程序执行的元素 类似于文本语言程序的语句 函数或者子程序 labview共有4种节点类型 功能函数 子程序 结构和代码接口节点 cins 功能函数是内置节点 用于进行一些基本操作 例如数值相加 文件i o 字符串格式化等 子程序节点是以前创建的程序 然后在其他程序中以子程序方式调用 结构节点用于控制程序的执行方式 例如for循环控制 while循环控制等 代码接口节点 cn 是框图程序与用户提供的c语言文本程序的接口 图8 16所示的框图程序中表示vi程序有两个功能函数节点 一个函数使两数相加 另一个函数使两数相减 图8 16框图程序例子 数据端口是数据在框图程序部分和前面板之间传输的接口 以及在框图程序的节点之间传输的接口 端口类似于参数和常数 有两种类型的端口 控制或指示端口以及节点端口 控制或指示端口用于前面板 当程序运行时 从控制部件输入的数据就通过这些端口传送到框图程序 当运行结束后 输出数据就通过这些端口从框图程序送回到前面板的指示部件 当在前面板创建或删除控制 指示部件时 可以自动创建或删除相应的控制 指示端口 图8 16的框图程序中表明有两个控制部件端口 两个指示部件端口 同时在框图程序中add和subtract功能函数在图标下面隐含着节点端口 3 连线 连线是端口间的数据通道 它们类似于普通程序中的变量 数据是单向流动的 从源端口向一个或多个目的端口流动 不同的线型代表不同的数据类型 在彩色显示器上 每种数据类型还以不同颜色予以强调 表8 1中列出了一些通用线型 表8 1通用线型 用鼠标箭头指示表示接线点位置 连线点 hostspot 是连线工具的线头部分 当需要连接两个端点时 在第一个端点上点击工具模板中的连线工具 然后移动到另一个端点 再点击第二个端点 端点的先后次序不影响数据流动的方向 当把连线工具放到端点上时 该端点区域将会闪烁 表示连线将会接通该端点 当把连线工具从一个端口接到另一个端口时 不需要按住鼠标键 当需要连线拐弯时 点击一次鼠标键 即可以按正交垂直方向弯曲连线 按空格键可以改变转角的方向 接线头 tipstrips 是为了帮助端口的连线位置正确 当把连线工具放到端口上时 接线头就会弹出 接线头还有一个黄色小表示框 显示该端口的名字 4 从框图程序窗口创建前面板对象 对任意的labview工具 都可以用鼠标右键点击任意的labview功能函数或者子程序 然后可以弹出 创建常数 创建控制 或 创建指示 等选择菜单 如果用的是连线工具 产生的常数 控制或者指示部件还会自动地与所点击部件接好连线 5 vi程序的调试 调试vi程序的方法如下 1 数据流编程 控制labview程序的运行方式叫做 数据流 对一个节点而言 只有当它的输入端口上的数据都被提供以后 它才能被执行 当节点程序运行完毕后 它把结果数据送给所有的输出端口 并且数据很快从源送到目的端口 数据流 与常规程序的 控制流 相类似 相当于控制程序一步一步地执行 2 找出错误 如果一个vi程序不能执行 则在前面板上的运行按钮将会出现一个折断的箭头 要列出错误清单 则点击断箭的运行按钮 再点击任何一个所列出的错误菜单 接着选用find功能 则出错的对象或端口就会变成高亮 可以对它进行编辑修改 3 设置执行程序高亮方式 执行时点击高亮按钮 则该按钮图标会变成高亮方式 这种执行方式一般用于单步模式跟踪框图程序中的数据流动 4 vi程序的单步执行 为了调试程序 希望框图程序一个节点一个节点地执行 要设置单步执行模式 只需按下单步按钮 这样下一个将要执行的节点就会闪烁 指示它将被执行 如果再次点击单步按钮 程序将会变成连续执行方式 5 探针 可以用探针工具来查看当框图程序流经某一根连接线时的数据 要将探针放置于某根连线上 从工具模板上选择探针工具项 再用鼠标左键点击你希望放置探针的连接线即可 如果不希望使用缺省的探针显示方式 而想使用其他的探针方式 则点击所选的连线 再选择customprobe 这样就可以选择与连线数据类型相匹配的任意兼容的指示方式 6 断点 使用断点工具可以在程序的某一地点中止程序的执行 用探针或者单步方式查看数据 使用断点工具时 点击你希望设置或者清除断点的地方 断点的显示对于节点或者框图表示为红框 对于连线则表示为红线 使用传统的程序语言开发仪表系统存在很多困难 开发者不但要关心程序流程方面的问题 还必须考虑用户界面 数据同步 数据表达等复杂的问题 在labview中这些问题都迎刃而解 一旦程序开发完成 用户就可以通过前面板控制并观察测控过程 且伴音效果逼真 labview还提供了多种基本的vi库 其中具有包含450种以上的40多个厂家制造的仪器驱动程序库 并在不断增长 这些仪器包括gp ib仪器 vxi仪器 rs 232仪器 数据总线设备 数据采集卡等 用户可以随意调用仪器驱动器图像组成的框图 以选择任何厂家的任何一种仪器 labview还具有数学运算及分析模块库 包括了200多种诸如信号发生器 信号处理 数组和矩阵运算 线性估计 复数算法 数字滤波 曲线拟合线性化等功能模块 可以满足用户的从统计过程控制到数据信号处理等的各项工作 从而最大限度地减少了软件开发的工作量 总之 labview内容丰富 在有限的篇幅中难以详尽讲述 有兴趣的读者可参阅有关专门论著 8 2 3虚拟仪器开发举例 下面通过一个实例介绍虚拟仪器的开发过程 本实例要求创建一个vi程序模拟温度测量 并可以作为subvi子程序使用 假设传感器输出电压与温度成正比 例如当温度为70 华氏度 时 传感器输出电压为0 7v 本程序用软件代替daq数据采集卡 使用了demoreadvoltage子程序来代替电压测量 然后把所测得的电压值转换成摄氏或华氏温度读数显示在前面板上 设计的详细过程如下 1 前面板的设计 1 用file菜单的new选项打开一个新的前面板窗口 2 把温度计指示部件放入前面板窗口 在前面板窗口空白处点击鼠标键 从弹出的numeric子模板中选择thermometer 在高亮的文本框中输入temperature 再点击鼠标键按钮 3 重新设定温度计的标尺范围为0 0 100 0 方法是使用标签工具a 双击温度计标尺的10 0 输入100 0 再点击鼠标键或者工具栏中的v按钮 4 在前面板窗口中设置垂直开关控制 在前面板窗口的空白处点击鼠标键 然后从弹出的booleam子模板中选择verticalswitch 在文本框中输入tempscale 再点击鼠标键或者工具栏中的v按钮 使用标签工具a 在开关的 条件真 true 位置旁边输入自由标签degc 再在 条件假 false 位置旁边方框中输入自由标签degf 至此 前面板就创建好了 如图8 13所示 2 建立流程图 1 从windows菜单下选择showdiagram功能打开框图程序窗口 2 点击框图程序窗口下的空白处 弹出功能模板 从弹出的菜单中选择所需的对象 本程序用到下面一些对象 demoreadvoltagevi程序 tutorial子模板 在本例中 该程序模拟从daq卡的0通道读取电压值 multiply乘法功能 numeric子模板 在本例中 将读取的电压值乘以100 是为了转换成华氏温度 subtract减法功能 numeric子模板 在本例中 从华氏温度减去32 以转换成摄氏温度 divide除法功能 numeric子模板 在本例中 把相减的结果除以1 8以转换成摄氏温度 select选择功能 comparison子模板 取决于温标选择开关的逻辑值 该功能输出摄氏温度 当选择开关打在true位置时 或者华氏温度 当选择开关打在false位置时 数值常数 用连线工具 点击希望连接一个数值常数的对象 并选择createconstant功能 若要修改常数值 用标签工具双击数值 再输入新的数值 字符串常量 用连线工具 点击希望连接字符串常量的对象 再选择createconstant功能 若要修改字符串 用标签工具双击字符串 再输入新的字符串即可 3 使用移位工具 positioningtool 把所选图标移至适当位置 再用连线工具连接起来 如果要显示图标接线端口 则点击图标 再从弹出菜单中选择showterminals功能 也可以从help菜单中选择showhelp功能以打开帮助信息窗口 至此流程图就建立好了 如图8 14所示 3 程序的运行 1 选择前面板窗口 使之变成当前窗口 并运行vi程序 点击工具条中的run连续运行按钮 使程序运行于自由运行模式 这时可以从前面板上温度计图标看到温度的变化 并以数字形式在文本框中显示出来 2 点击连续运行按钮 关闭连续运行模式 4 创建图标temp 由于我们想把建立的温度测量vi程序作为子程序在其他程序中调用 因此要创建一个图标 创建方法如下 1 在面板窗口的右上角的图标框中点击鼠标 从弹出菜单中选择editicon功能 2 双击选择工具 并按下delete键 消除缺省的图标图案 3 用画图工具画出温度计的图标 注意 在用鼠标画线时按下shift键 则可以画出水平或垂直方向的直 4 用文本工具写入文字 双击文本工具 把字体换成smallfont 5 当图标创建完成后 点击ok按钮以关闭图标编辑 生成的图标在面板窗口的右上角 5 创建接线端口 1 点击右上角的图标面板 从弹出的菜单中选择showconnector功能 labview将会根据控制部件和指示部件的数量选择一种接线端口模式 在本例中 只有两个端口 一个是竖直开关端口 另一个是温度指示计端口 2 把接线端口定义给开关和温度指示计 使用连线工具 在左边的接线端口框内按鼠标键 则端口将会变黑 点击开关控制键 一个闪烁的虚线框将包围住该开关 现在再点击右边的接线端口框 使它变黑 点击温度指示部件 一个闪烁的虚线框将包围住温度指示部件 这即表示右边的接线端口正对应温度指示部件的数据输入 如果再点击空白处 则虚线框将消失 而前面所选择的接线端口将变暗 表示你已经将对象部件定义到各个接线端口 注意 labview的惯例是前面板上控制部件的接线端口放在图标的接线面板的左边 而指示部件的接线端口放在图标的接线面板的右边 也就是说 图标的接线面板的左边为输入端口 而右边为输出端口 6 创建子程序 确认当前文件的程序库路径为seminar lib 用文件菜单save的功能保存上述文件 并给文件命名为thermometer vi 现在该文件已经完成 它可以在其他程序中作为子程序来调用 在其他程序的框图窗口里 该温度计程序用前面创建的图标来表示接线端口的输入端 用于选择温度单位 输出端用于输出温度值 8 3现场总线仪器 8 3 1现场总线技术 1 现场总线及其发展
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合肥复兴控股集团第一批人员招聘27人模拟试卷及答案详解(考点梳理)
- 2025年潮州事业单位真题
- 2025年神木市法院系统招聘真题
- 2025年上半年四川阿坝州考核招聘事业单位人员90人考前自测高频考点模拟试题及一套答案详解
- 紧固件螺纹成型工检验仪器校准实操考核试卷及答案
- 油料计量员年度职业发展复盘考核试卷及答案
- 铝镁粉球磨工岗位适应性考核试卷及答案
- 2025广西百色干部学院招聘教研人员3人考前自测高频考点模拟试题附答案详解(典型题)
- 公司山石工岗位应急处置技术规程
- 公司数控组合机床操作工岗位合规化技术规程
- 《全科医师培训眼科》课件
- DB21T 2732-2017 森林防火技术规程
- 脑卒中溶栓治疗的注意事项
- 2024年高等教育文学类自考-00504艺术概论考试近5年真题附答案
- 物理原理在土木工程中的教学设计方案
- 网络安全意识培训
- 中医内科学:疾病辨证与中药治疗
- 滇西三部曲:松山战役笔记
- 保险学(第五版)课件 附章:社会保险
- GB 5009.12-2023食品安全国家标准食品中铅的测定
- 年度人才盘点报告1
评论
0/150
提交评论