《虚拟仪器实用编程技术》第2章_结构

合集下载

虚拟仪器技术应用教程教学课件第2章

虚拟仪器技术应用教程教学课件第2章
7
主要内容
2.1 数值型 2.2 布尔型 2.3 字符串 2.4 数组 2.5 簇 2.6 波形
8
2.2.1 布尔型-前面板
布尔数据类型的值为1或者0,即真(True)或者假 (False)。通常情况下布尔型即为逻辑型,因此在程序框图 中可进行与、或、非、异或等布尔运算。
➢ 前面板控件
布尔型数据分别是前面板上的数值输入控件和数值显示 控件,另一种是程序框图上的布尔常量。在前面板窗口中包 括多种形式的控件和指示器,包括开关按钮、翘板开关、摇 杆开关、指示灯、按钮、单选按钮等控件,如图2.2所示。
均显示为星号(*)。 (3)十六进制显示模式:这种方式下,字符以与其对应
的十六进制ASCII码的形式显示,尤其在程序调试和VI通信 时比较有用。
(4)反斜杠代码显示模式:用户可使用该方式查看正常 方式下不可显示的字符代码。
18
2.3.3 字符串-函数
➢ 字符串常用函数
字符串函数用于合并两个或两个以上字符串、从字符串 中提取子字符串、将数据转换为字符串、将字符串格式化用 于文字处理或电子表格应用程序。字符串常用函数如下。
21
主要内容
2.1 数值型 2.2 布尔型 2.3 字符串 2.4 数组 2.5 簇 2.6 波形
22
2.4.1 数组
数组是同类型元素的集合。一个数组可以是一维或者多 维。可以通过数组索引访问其中的每个元素。索引的范围是 0 到n-1,其中n 是数组中元素的个数。
数组的元素可以是数据、字符串等,但所有元素的数据 类型必须一致。在前面板和程序框图中可以创建数值、布尔、 路径、字符串、波形和簇等数据类型的数组。数组由元素和 维度组成。
(7)扫描字符串函数:扫描输入字符串,然后依据格式 字符串进行转换。

(完整版)虚拟仪器的系统结构PPT文档

(完整版)虚拟仪器的系统结构PPT文档

01 常用虚拟仪器板卡
信号调理(信号幅度、频率、驱动、隔离等);
信号调理(信号幅度、频率、驱动、隔离等);
NI 提出“软件即仪器” 硬件是基础,软件是核心
韩 君 张胜宇
团队:晏 凯 肖迎春
计算机+接口+软件=虚拟仪器
为简化硬件板卡编程和控制,NI和Agilent标准化了数D百A种Q常C用仪ar器d、板卡的驱动,它们已成为虚拟仪器开发平台的一部分M,o开ti发on时可C直o接nt复ro用l这C些a硬rd件驱动代码。
用户界面
软件驱动
02 应用软件
LabView
Agilent VEE
DASYLab
DirectView
ProcessControl
02 示例
THANK YOU FOR WATCHING
感谢观看
Serial
应用软件 仪器驱动程序 I/O 接口软件(VISA 库)
VXI
GPIB 等
02 I/O接口软件(VISA库)
I/O接口软件存在于仪器设备(即I/O接口设备)与仪器驱动程序之间,是一个完 成对仪器寄存器进行直接存取数据操作,并为仪器设备与仪器驱动程序提供信息 传递的底层软件。
VPP规范了虚拟仪器的I/O接口软件的特点、组成、内部结构与实现规范,并将符 合VPP规范的虚拟仪器I/O接口软件定义为VISA(虚拟仪器软件结构)软件。
计算机
韩 君 张胜宇
信号调理(信号幅度、频率、驱动、隔离等);
PXI 系统
I/O接口软件存在于仪器设备(即I/O接口设备)与仪器驱动程序之间,是一个完成对仪器寄存器进行直接存取数据操作,并为仪器设备与仪器驱动程序提供信息传递的底层软件。
串口系统
01 通用硬件平台的基本功能

虚拟仪器设计程序结构

虚拟仪器设计程序结构

8
For循环
移位寄存器(Shift Register)
一个累加10次的a++程序
通过局部变量实现
通过移位寄存器实现
编辑ppt
9
移位寄存器
在LabVIEW的循环结构中创建移位寄存器的方法是 在循环框图的左边或右边单击鼠标右键,在弹出的 快捷菜单中选择【添加移位寄存器】,可创建一个 移位寄存器
移位积存器的功能是将第i-1, i-2, i-3…次循环的计 算结果保存在For循环的缓冲区内,并在第i次循环 时将这些数据从循环况架左侧的移位寄存器中送出, 供循环框架内的节点使用,其中,i=0,1,2,3… 。
例5.3 求N!
void main() { int a ,i, n;
a=1;i=0; scanf (“ %d ”, &n); do { i=i+1;
a=a*i; }while(i<n); printf (“n! =%d”,a ); }
前面板和程序框图
编辑ppt
17
While循环
编辑ppt
18
While循环
添加定时器
编辑ppt
19
While循环
使用移位寄存器和反馈节点
累加器程序
编辑ppt
20
5.1.2 条件结构
条件结构类似于文本编程语言中的switch语句或
if...then...else语句。
选择端口的外部控 制条件的数据类型 有整型、布尔型、 字符串型和枚举型。
选择端口相当于C语言的Switch语句中的“表达式”,
输入和输出数组
如需将数组一次完整输入,则右击输入点并选择关 闭索引
对于二维或多维数组,采用索引的办法输入,则最 外层循环按行输入,内层循环按输入行的元素逐个 输入,多维数组依次类推。

虚拟仪器技术ppt课件

虚拟仪器技术ppt课件
虚拟仪器主要是以计算机为核心,通过最大 限度地利用计算机的软硬件资源,使计算机 不但能完成传统仪器测量控制、数据运算和
处理工作,而且可以用强大的软件去代替传
统仪器的某些硬件功能。
.
3
虚拟仪器技术
结果表达
图形显示
文件
数据采集与控制
打印
数据采集卡
网络输出

GPIB接口仪器

VXI仪器
对 象
PXI仪器
控制对象(输入)
显示对象 (输出)
.
17
LabVIEW应用程序构成
框图程序
端口 节点 图框 连线
函数:随机 数发生器
与前面板控件对 应的连线端子
与前面板控件对 应的连线端子
结构:循环
随机信号发生器的流程图
.
18
LabVIEW应用程序构成
图标/连结器(Icon/Connector)
是子VI被其它VI调用的接口。图标是子VI在其 他程序框图中被调用的节点表现形式;而连接器则 表示节点数据的输入/输出口,就象函数的参数。必 须指定连接器端口与前面板的控制和显示一一对应。
.
29
(Functions Palette)子模板1

Structure (结构)
包括程序控制结构命令,例如循环控制 等,以及全局变量和局部变量。

Numeric (数值运算)
包括各种常用的数值运算,还包括数制 转换、三角函数、对数、复数等运算,
以及各种数值常数。

Boolean (布尔运算)
包括各种逻辑运算符以及布尔常数。
包括簇的处理函数,以及群常数等。这里 的群相当于C语言中的结构。
包括各种比较运算函数,如大于、小于、 等于。

虚拟仪器2(1)

虚拟仪器2(1)
版本。
虚拟仪器2(1)
第一节:LabWindows/CVI 软件系统
n LabWindows/CVI软件由二大部分组成: n (1)。应用程序: n 虚拟仪器的应用程序包括二类: n A.实现虚拟面板功能的软件程序。 n B.定义测试功能的流程图软件程序。 n (2)。I/O接口仪器驱动程序: n 完成特定外部硬件设备的扩展、驱动与通讯。
器文件的总合。 n ②*.uir文件 n 它是用户界面文件,该文件为虚拟仪器的面板文件,类似VB或VC
中的窗体文件,该文件中可包含仪器面板中的各类控件,如:旋 钮、开关等。 n 每个控件有自己的属性,如旋钮的刻度等。同时控件还有事件, 当用鼠标单击控件或用键盘改变控件时,单击事件发生,调用相 应的回调函数,完成相应的仪器功能。
n 以后的发展形成了hp公司的图形化软件
VEE;
n NI公司的图形化软件LabVIEW和文本式
编程语言LabWindows/CVI这三个典型代 表产品。
虚拟仪器2(1)
第二章 虚拟仪器的软件构成
n 本章的内容将系统介绍商业化的软件 LabVIEW、LabWindows/CVI和VEE;
n 介绍这些软件的构成、工作原理和使用 方法。
虚拟仪器2(1)
1.LabWindows/CVI的特点:
n ①由于LabWindows/CVI的编程技术主要采用 事件驱动与回调函数方式,编程方法简单易学;
n ②运用LabWindows/CVI进行软件设计是以工 程文件为主体框架,包含了C语言源代码文件 (*.C)、头文件(*.h)和用户界面文件 (*.uir)三个部分;
各种仪器通讯总线标准的所有功能函数。
虚拟仪器2(1)
2.LabWindows/CVI实施对象 编程的概念

LabVIEW概述和VI创建和调试

LabVIEW概述和VI创建和调试
• 在LabVIEW中VI程序的运行是数据流驱动的。一个节点只 有在它所有的输入端口都连接有效数据时才能执行,当该 点执行完后,将结果送入数据流的下一个节点。
• 文本程序的执行为控制流方式,即指令执行的顺序按照程 序的编写顺序进行。
•例
§3-2 VI程序的编辑
• 创建对象: – 前面板中用控件模板创建 – 在框图程序的节点上右击鼠标弹出菜单,选择 相应的选项,可以在前面板创建控制器、指示 器。
注:不同软件版本, 界面、窗口的菜单、 工具栏有区别
前面板窗口的菜单和工具栏 包含用来控制VI的命令按钮和状态指示器。
工具栏
排列、分布、叠放次序、 图标/连接口
运行、连续运行、停止、暂停/继续、格式设置
下拉式菜单,包括File文件 、Edit编辑、 operate 操作、 Tools工具、 Browse显示、 Window窗口、 Help帮助
• LabVIEW开发环境包括三个部分:前面板、框图程 序和图标/连接口。
– 前面板主要用于输入量的设置和输出量的显示,它模拟 了真实仪表的面板,包括旋钮、开关、按钮、图表、图 形。用户使用虚拟仪器时所观察到的就是前面板,并在 前面板中执行对仪器的操作。
– 框图程序用图形编程语言编写,可以把它理解成传统程 序的源代码;
(3)程序的调试:正常运行、高亮方式、探针、单步等
例:由一个按钮开关和一个指示灯组成,该VI的功能是:当 按下按钮时,指示灯点亮;当弹起按钮时,指示灯熄灭。
§2-3 LabVIEW的工作环境
• 2.3.1 启动界面 • New VI 创建一个新的VI程序(即虚拟仪器程序,扩展
名为vi) • Open VI 打开一个已有的VI程序 • DAQ Solutions 数据采集系统的通道配置及构建向导 • Search Examples虚拟仪器程序实例 • LabVIEW TutorialLabVIEW多媒体简易教程 • Exit 退出LabVIEW

编程及虚拟仪器设计之程序结构

编程及虚拟仪器设计之程序结构

系统软件
操作系统、编译器等核心软件 主要使用C、C等语言编写。
Web开发
前端使用HTML、CSS、 JavaScript等语言,后端使用 Python、Java、Ruby等语言 。
虚拟仪器设计
使用LabVIEW、MATLAB等语 言进行图形化编程,实现数据 采集、处理和显示等功能。
CHAPTER 02
脚本语言
如JavaScript、Python等,主要用于Web 开发,执行速度快。
领域特定语言
针对特定领域设计的语言,如SQL、 MATLAB等。
编程语言特点
语法规则
每种编程语言都有自己的语法规则,遵循这些规则才能编写出正确的程序。
数据类型
定义了变量和常量的类型,决定了它们可以存储的数据和可以执行的操作。
编程及虚拟仪器设计 之程序结构
目 录
• 编程语言基础 • 程序结构基础 • 虚拟仪器设计基础 • 程序优化与调试 • 编程与虚拟仪器设计案例分析
CHAPTER 01
编程语言基础
编程语言分类
低级语言
如机器语言和汇编语言,直接控制计算机硬 件,但可读性差,不易维护。
高级语言
如C、C、Python等,更接近自然语言,易 于编写和理解。
CHAPTER 03
虚拟仪器设计基础
虚拟仪器概念
虚拟仪器是一种基于计算机的测 试和测量系统,通过软件实现对
硬件设备的控制和数据采集。
它利用计算机的强大计算和图形 显示能力,将传统仪器的硬件部 分集成到计算机中,通过软件实
现仪器的功能。
虚拟仪器具有灵活性、可扩展性 和可复用性等特点,能够满足各
种不同的测试和测量需求。
程序调试技巧
利用MATLAB的调试工具,如断点、单步执行等 ,可以快速定位和修复程序中的错误。

虚拟仪器2

虚拟仪器2

PPT文档演模板
虚拟仪器2
事件产生(如鼠 标单击)
控件
控件的回调 函数
产生动作
PPT文档演模板
虚拟仪器2
3.LabWindows/CVI仪器软件 的组成
n 3.LabWindows/CVI仪器软件的组成 n 在LabWindows/CVI软件平台下,设计完
成的虚拟仪器组成框图如图2.2所示:
PPT文档演模板
方法; n 系统介绍LabWindows/CVI的库函数; n LabWindows/CVI的编程方法。
PPT文档演模板
虚拟仪器2
一。LabWindows/CVI软件简介
n 一。LabWindows/CVI软件简介: n 虚拟仪器编程语言LabWindows/CVI是美国NI公司
(National Instruments)开发的32位面向计算机 测控领域的软件开发平台; n 可在多种操作系统下运行,它以ANSI C为核心,把 功能强大、使用灵活的C语言平台与数据采集、分 析和表达等测控专业工具有机结合起来。 n 它的集成化开发平台、交互式编程方法、丰富的功 能面板和函数库,大大地增强了C语言的功能; n 为熟悉C语言的开发人员开发检测、数据采集、过 程监控等系统应用,提供了一个理想的软件开发环 境。
PPT文档演模板
虚拟仪器2
3.LabWindows/CVI仪器软件 的组成
n ③*.c文件
n 它是源程序文件,此文件为标准的C语言程序 文件,文件由三部分组成:头文件(*.h)、 主程序文件(Main)和回调函数(CallBack), 其结构和C语言的结构一致。
n ④*.h文件它是头文件,与C语言中的*.h文件 结构完全一致,在LabWindows/CVI中,*.h头 文件是自动生成的,当设计完*.uir文件后,保 存*.uir文件时自动生成*.h文件。

虚拟仪器设计课后答案

虚拟仪器设计课后答案

虚拟仪器设计课后答案【篇一:《labview语言及编程技术》习题库(答案)】ass=txt>一、选择题:1. 下面选项中,哪个是更新前面板显示控件的最好方法? [b](a) 使用局部变量; (b) 直接连线到显示控件的接线端;(d) 使用值属性节点。

(c) 使用功能全局变量;2. 与局部变量相比,下面哪个描述表明了全局变量的优势?[c](a) 全局变量自身不需要标签就可执行;(b) 全局变量遵循数据流模式,因此不会引起竞争情况;(c) 全局变量可以在两个独立的同时运行的vi之间传递数据;(d) 只有全局变量能传递数组数据,而局部变量不能。

3. 如存储的数据将被其他工程师通过microsoft excel分析。

应使用哪种存储格式? [ b ](a) tdm;(b) 用制表符(tab)分隔的ascii; (d) 自定义二进制格式。

(c) 数据记录;4. 创建一个数组的最高效方法是: [ a ](a) 使用一个带自动索引的while循环;(b) 初始化一个数组并在while循环中替换其元素;(c) 在while循环中放置一个创建数组函数;(d) 使用一个带自动索引的for循环5. 当连接输入被勾上时,下面程序框图中创建数组(build array)函数的输出是什么? [c](a) 一维数组{1, 7, -4, -2, 3, 6};(c) 一维数组{1, -4, 3, 7, -2, 6}; (b) 二维数组{{1, -4, 3, 0}, {7, -2, 6}}; (d) 二维数组{{1, -4, 3}, {7, -2, 6}}。

6. 下面数组加法的计算结果是多少?[b](a) 一维数组{80, 20, 40, 10, -60}; (b) 一维数组{120, 30};(c) 一维数组{120, 30, -60};(d) 二维数组{{120, 90, 20}, {60, 30, -40}}。

7. 对于下面的程序框图,哪个描述是正确的?[d](a) 循环会执行一次,计数接线端会输出数值0;(b) 循环不会执行,计数接线端会返回一个空数值(null);(c) 循环会执行一次,计数接线端会输出数值1;(d) 循环会执行无限次,程序只能人为强制中止。

虚拟仪器的结构及工作原理

虚拟仪器的结构及工作原理

用程序将通用计算机和必要的数据采集硬件结合起 来, 在计算机上创建的一台仪器, 它是现代计算机技术 和仪器技术深层次结合的产物,是当今计算机辅助测 试 (5R< ) 领域的一项重要技术。 虚拟仪器是具有虚拟面板、测试功能由测试软件 实现的一种计算机仪器系统。使用者用鼠标或键盘操 作虚拟面板, 就如同使用一台专用测量仪器。 虚拟仪器 的出现使测量仪器与个人计算机的界线模糊了。 “虚 拟” 主要包括以下两方面的含义。 虚拟的虚拟仪器面板。虚拟仪器面板上的各种 C)
CB:= & 5Q% , 38D Q%SL 等编程语言,在短时间内轻松完
成美观而又实用的虚拟仪器面板的设计。 由软件编程来实现的虚拟仪器测量功能。在以 D)
P5为核心组成的硬件平台支持下,虚拟仪器不仅可以
通过软件编程设计来实现仪器的测试功能,而且可以 通过不同测试功能的软件模块的组合来实现多种测试 功能。因此在硬件平台确定后有 “软件就是仪器” 的说 法, 这也体现了测试技术与计算机技术深层次的结合。
虚拟仪器的构成框图
它是以 *$!+ 标准总线仪器与计算机为 *$!+ 系统: 仪器硬件平台组成的虚拟仪器测试系统。 它 是 以 ,-! (,01234 1567849:8 ;:< !8= ,-/ 系 统 : 标准总线仪器模块与计算机为仪器硬件平台 46<3>786) 组成的虚拟仪器测试系统。
$-! 系统:以$-! 标准总线仪器模块与计算机为仪
@68>8@?;>= BG H4>?78A 49=?>7I;9?J =9> ,-&?( H4>?78A 49=?>7I;9?;@BIF7?;> ;% & ’ KB49? :$"@-&A( )??&9(( L;4684 54?M <;@69BABNM 5BAA;N; , *"#*$$,L;4684,O689CB9N P>BH49@;,56498

《虚拟仪器实用编程技术》第1章 绪论

《虚拟仪器实用编程技术》第1章 绪论

流程图包括四部分
端口是数据流的源头或终点。 (1)端口 端口是数据流的源头或终点。分为前面板 对象端口(从前面板用户输入控件获得数据, 对象端口(从前面板用户输入控件获得数据,或向前 面板显示输出数据)、常量端口( )、常量端口 面板显示输出数据)、常量端口(设置程序运算中常 量的数据源端口)、全局与局部变量端口( )、全局与局部变量端口 量的数据源端口)、全局与局部变量端口(与功能模 板中Structures子模板图标相对应)和DAQ端口(从 子模板图标相对应) 端口( 板中 子模板图标相对应 端口 数据采集卡中获得数据)四种类型。 数据采集卡中获得数据)四种类型。 节点用于执行函数和子程序的调用。 (2)节点 节点用于执行函数和子程序的调用。分为 函数节点(LabVIEW函数库提供,用户不可修改)和 函数节点( 函数库提供,用户不可修改) 函数库提供 子VI(用户自定义,可修改)节点两种类型。 (用户自定义,可修改)节点两种类型。 图框用于执行结构化程序控制命令, (3)图框 图框用于执行结构化程序控制命令,如 Case等。 等 连线表示程序中的数据流及其方向。 (4)连线 连线表示程序中的数据流及其方向。
虚拟仪器G 1.1.4 虚拟仪器G语言特点
G语言是一种图形化的程序语言。使用这种语 语言是一种图形化的程序语言。 语言是一种图形化的程序语言 言编程时,基本上不写程序代码, 言编程时,基本上不写程序代码,取而代之的 是流程图。 是流程图。 G语言是一种通用编程语言,具有通用函数库。 语言是一种通用编程语言 语言是一种通用编程语言,具有通用函数库。 它和常规的文本式编程语言一样,定义了数据 它和常规的文本式编程语言一样, 类型、结构类型和模块调用等规则。 类型、结构类型和模块调用等规则。 G语言具有较好的模块化性能。 语言具有较好的模块化性能。 语言具有较好的模块化性能

虚拟仪器第2章 结构1

虚拟仪器第2章 结构1

[例2.6] 建立For循环和使用自动索引的功能。

本例中使用For循环,选择正弦函数产生数据。 其前面板和框图程序如图。
2.1.3 定时循环



1、定时循环的建立 定时循环结构主要由5部分组成,下面分别介绍。
(1)输入节点 确定定时循环的循环时序、循环优先级和循 环名称等参数(如图所示); (2)左数据节点 提供上一次循环的时间和状态信息,例如 上一次循环是否延迟执行、上一次循环的实际执行时间等; (3)循环体 和While循环类似,定时循环的循环体包括 Loop Iteration端口和Loop Condition端口,前者指示当 前循环的次数,后者连接一个布尔型常量,指示循环结束或 循环继续的条件; (4)右数据节点 接收左数据节点的信息,以决定下一次循 环的时间或状态; (5)输出节点 输出循环执行过程中可能出现的错误信息。
支之后或分支之前添加分支。 2. Delete This Case: 删除当前Case 分支。 3. Rearrange Case:重排分支,并出现Rearrange对 话框进行设置即可。 4. Make This Default Case :设置默认分支 。
2.2.3 数据的输入和输出通道



选择结构的组成
基本的选择结构由选择框架(Case Frame)、 选择端口(Selection Terminal)、选择器标 签(Selector Label),以及递增/递减按钮 (Increment/Decrement Buttons)组成。
递增/递减按钮
选择器标签
选择端口
选择框架
Case选择器输入数据类型
注意:左侧移位寄存器的初始化(循环前为默认值) 右侧的移位寄存器只能循环结束时输出数据, 一般输入数据。

虚拟仪器设计第4章—条件结构、顺序结构、公式节点和事件结构ppt课件

虚拟仪器设计第4章—条件结构、顺序结构、公式节点和事件结构ppt课件
应该如何写程序?
21
程序框图:
22
运行结果:
23
§4.2 顺序结构
在VI中,程序的运行是靠数据流来驱动的,利用数据流机制可以实现很多顺序执行的功能。但是只有数据流控制的顺序执行还不够,在某些复杂的情况下,需要更强的顺序执行控制结构。引入了“顺序结构”的概念。
如上图,当且仅当A、B、C3个节点执行完,使得D节点的3个输入数据都到达D节点后,D节点才执行。但要注意,这里并没有规定A、B、C3个节点的执行顺序。在LabVIEW中这种情况下,A、B、C的执行顺序是不确定的。如果你需要对它们规定一个确定的顺序,那就需要使用 “顺序结构”。
17
快捷菜单:重排分支
重排之前
重排之后
对分支列表自动排序
18
快捷菜单:将子框图程序交换至分支
A B C DD B C A
将当前分支内容与目标分支内容对换,其他分支内容不受影响。
快捷菜单:将子框图程序移位至分支(书本上的版本为:“将程序框图转换为分支”)P115
添加“顺序局部变量”后
28
顺序结构的输出通道仅能有一个数据源 数据源能被后续所有帧使用, 但在源帧前面的帧中不能使用(为实心方框)
源帧
顺序结构对编写代码很有帮助,但是不能滥用!书本:P119
29
4.2.4 顺序结构应用举例
将一随机数发生器产生的数字(0-100之间的整数)与前面板输入的整数(0-100之间)进行比较,计算当两个数匹配时所执行的次数以及所耗时间。
45
为解决上述问题,LabVIEW提供了“事件结构”。仅当事件发生时,程序才做出相应的响应,类似于VC或VB编程中的事件。通过事件结构:程序变得简单,降低CPU利用率;当多个事件发生时会形成事件队列,直到每个事件对应的代码都被执行为止,因此不会有时间被遗漏的情况。

可互换虚拟仪器的体系结构

可互换虚拟仪器的体系结构

可互换虚拟仪器的体系结构近年来,虚拟仪器发展快速,在研究和实验中得到了广泛的使用。

在设计虚拟仪器时,体系结构是一个关键因素。

很多虚拟仪器拥有可互换性,但现有的体系结构有其局限性,需要更完善的体系结构和方法才能实现可互换虚拟仪器。

可互换虚拟仪器体系结构是一种用于研发可互换虚拟仪器的体系结构。

它遵循可扩展技术架构,使得虚拟仪器可以支持不同的膜片和测试仪,或者支持具有复杂膜层的膜片。

通常,该体系结构可将测试系统分为以下四层:设备层、测量层、分析层和记录层。

首先,设备层包括执行测量所需的所有满足规范的设备,这些设备可能是测试仪、技术仪表、供热器等。

从测量层的控制部件可以控制设备,比如为执行测量需求而设置测量参数和参数范围。

此外,测量层提供直观的表示形式,以使测量结果更容易理解。

它还可以收集测量数据,并将其储存到数据库中。

分析层由虚拟仪器的算法组成,需要控制设备层和测量层来执行测量操作。

该层支持复杂的测量算法,可以对测量数据进行分析和处理,以获得有用的结果。

最后是记录层,它可以记录任何有关任何虚拟仪器交互操作的信息,包括测量结果和参数设置。

可互换虚拟仪器体系结构是一种高度可扩展的架构,可以支持虚拟仪器的多种功能,提供一种可轻松定制的方式,可以自适应新的测量仪器并修正或答复错误或失败的测量结果。

此外,该体系结构非常高效,可以根据实际需要动态更改其配置和控制逻辑,以节省时间和成本。

总之,可互换虚拟仪器体系结构具有许多优势,可以有效改善虚拟仪器的性能和可靠性,为研发和工业使用提供更完善的体系结构。

未来,将会有更多的虚拟仪器发展出基于可互换虚拟仪器体系结构的技术,以满足日益增长的实验和工业研发需求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

顺序结构数据源帧的使用

与Case结构不同,顺序结构的输出通道仅能有一 个数据源。输出可以由任一个帧发出,且此数据 一直要保持到所有帧全部完成执行后才能脱离结 构。
[例2.9]将一随机数发生器产生的数字与前面板输 入的给定数字进行比较,计算当两个数匹配时所 需要的时间。 要求:在前面板上的“指定的数字”控件中设定 需要匹配的数字,程序运行时由“当前值”指示 器显示当前随机数,当得到匹配数字时,“次数” 指示器显示出匹配时进行重复循环比较的次数, 搜索到匹配数字所需要的时间送“所花时间”指 示器显示。
2.2.1 Case结构的建立和组成


Case结构框架包括选 择器标识框和选择器 控制端口; 可有两个或多个Case 子框图,但任何时候 都只有一个Case被执 行,执行哪一个Case 取决于选择器端子的 输入值。
LabVIEW默认的选择框架类型和组成
Case选择器输入数据类型

选择器输入数据类型有四种,即布尔型、数字 整型、字符串型及枚举类型。选择器端子的图 标颜色会随连接的数值类型而改变。
第2章 结构
主要学习内容





重点掌握循环结构For Loop和While Loop的使 用,以及两者的联系和区别; 重点掌握移位寄存器和反馈节点的使用,注意两 者的初始化问题,这是本章的难点内容; 掌握自动索引的功能,本章要和第三章数组部分 的内容联系起来理解; 掌握选择结构,注意条件选择端的设置; 掌握顺序结构的使用; 掌握公式节点的使用;
数据在移位寄存器中的传递过程如图
[例2.3] 在While循环中使用移位寄存器

[例2.4] 使用For循环与移位寄存器实现n!的运算,学 生自做练习。
初始化移位寄存器


移位寄存器的初始化是在循环外部将常数或控 制件连接到移位寄存器的左端子上来实现的。 移位寄存器初始化和未初始化的情况程序运行 结果是不一样的,下面通过例子对比说明。 求0+1+2+3+4的值,用For Loop循环设为 5次,初始值设为5和不设初始值的情况。


Case结构是一种多分支程序控制结构,类似 C语言的Switch多分支选择结构。Case结构 位于All Functions→Structures子模板中, 其创建方法和循环结构类似。 Case结构包含有多个子图形代码框,每个子 图形代码框包含一段程序代码,程序选择其 中的一段执行,一个子图形代码框对应一个 Case。
[例2.6] 建立For循环和使用自动索引的功 能。

本例中使用For循环,选择正弦函数产生数据。 其前面板和框图程序如图。
2.1.3 定时循环


定时循环的建立和前面两种循环结构建立的方法类似。 定时循环结构主要由5部分组成,下面分别介绍。

(1)输入节点 确定定时循环的循环时序、循环优先级和循环名称等参 数(如图所示); (2)左数据节点 提供上一次循环的时间和状态信息,例如上一次循环 是否延迟执行、上一次循环的实际执行时间等; (3)循环体 和While循环类似,定时循环的循环体包括Loop Iteration端口和Loop Condition端口,前者指示当前循环的次数,后 者连接一个布尔型常量,指示循环结束或循环继续的条件; (4)右数据节点 接收左数据节点的信息,以决定下一次循环的时间或 状态; (5)输出节点 输出循环执行过程中可能出现的错误信息。
2.1.1 While循环结构


创建方法是:选择结构子模板中的While Loop图标放到框图程序窗口中,拖动鼠标 确定图框大小,或者使用位置工具拖动循 环结构的边框,来改变其框的大小。 最基本的While Loop循环由循环边框、循 环重复端及条件判断端组成(演示)。

While循环执行的是包含在循环框架中的流程 图,反复执行的循环次数不定,只有当条件满 足时,才停止循环的执行。循环重复端i的初 始值为0,每执行一次循环自动加1。


创建移位寄存器的方法是:在循环框的左边界 或右边界右键弹出菜单,选择Add Shift Register,可以创建一个移位寄存器 。(演 示,并说明添加多个移位寄存器和删除移位寄 存器的方法)。 移位寄存器可存储包括数值、布尔值、字符串、 数组、簇等任何类型的数据,但连接到同一个 寄存器端口的数据必须是同一类型的。移位寄 存器能够自动与连接到它上面的第一个对象的 数据类型匹配。
LabVIEW的几种基本结构


循环结构、选择结构(Case)、顺序结构 (Sequence)、事件结构(Event)、公式节点 以及反馈节点(Feedback Node)。其中循环结 构又分为For循环、While循环和定时循环;顺序 结构分为堆栈型顺序结构(Stacked Sequence Structure)和平铺型顺序结构(Flat Sequence Structure)。 这些结构都位于All Functions→Structures子模 板。

在这个局部变量被赋了值的子图形框以后的所有 帧中,局部变量图标都有一个向内的箭头,即都 可以访问这个数据。而在这之前的所有帧中都没 有箭头,也不允许连线。
在顺序结构中仅能在一个帧中给顺序结构局部变量赋 值,该帧称为数据源帧,这个数据源能被后续所有帧 所用,但在源帧前的帧中不能使用。
如图,2帧为数据源,这个数据对 0,1帧无效, 但对后续的所有局部变量都有效。
初始化移位寄存器两次运行VI的情况
未初始化移位寄存器两次运行VI的情况
反馈节点


反馈节点(Feedback Node)和只有1 个左端子的移位寄存器的功能完全相同, 同样用于在两次循环之间传递数据,它 是一种更简洁的表达方式。 例子:用移位寄存器和反馈节点在数字 指示器中输出一个不断累积的正整数值 。 (见图)
2.1 循环结构



LabVIEW中的循环结构主要有While循环、 For循环和定时循环(Timed Loop)。 For循环必须指定循环的次数,循环一定的次 数后自动退出循环;而While循环不用指定次 数,而是需要指定条件,当达到循环指定条件 时退出循环。定时循环是LabVIEW7.1最新出 现的结构,这种结构有助于控制循环的运行时 间。 重点掌握For Loop和While Loop 循环。
循环的自动索引



所谓“自动索引”是指使循环框(即循环体) 外面的数据成员逐个进入循环框,或者使循环 框内的数据累积成一个数组后再输出到循环框 外的特性和功能。 For循环和While循环都具有这种“自动索引” 的功能。其中For循环自动索引功能默认是打 开的,而While循环默认是关闭的。 要打开或关闭自动索引的功能,可以在数据输 入或输出循环体的节点上单击右键弹出快捷菜 单,选择Enable Indexing或Disable Indexing即可。
[例2.8]求一个数的平方根

要求:若该数≥0,计算该值平方根,并将计算结果输出; 若该数<0时,则用弹出式对话框报告错误,同时输出错误 代码“-99999.0”。
2.4 顺序结构


顺序结构(Sequence Structure)看上去像电影胶 片一样,由一帧或多帧图框组成,在通用编程语 言中,程序语句执行顺序是依据它们在程序中的 前后位置。 顺序结构可从框图程序中的功能模板All Functions →Structures子模板中创建,刚创建的 顺序结构为单框架顺序结构,只能执行一步操作。 但用户根据需要可创建多框架顺序结构。创建方 法是在顺序结构边框上弹出菜单,选择Add Frame After或Add Frame Before即可添加框架。
While循环中的代码至少要执行一次。如果不给 条件端口赋值,则While循环只执行一次。
[例2.1] 使用While循环显示随机数序列

其前面板和框图程序如图
2.1.2 For循环结构



For循环结构将某段程序段重复执行预先设 定的次数 。 For循环的创建方法和While循环类似,从 框图Structures子模板中选取创建即可。 最基本的For循环结构由循环框架、循环计数 端口N和重复端口i组成,如图。
Loop name
循环名称,用于程序中有多个定时 循环时标识不同的定时循环 使用 terminal

[例2.7] 此VI程序中包含有两个定时循环Loop A和 Loop B,两者同时进行累加计算,但通过定时循环固 定了两者的不同累加速度。
2.2选择结构(Case Structure)
For循环结构组成
[例2.2] 使用For循环显示随机数序列

其前面板和后面板框图程序如图
移位寄存器和反馈节点


移位寄存器和反馈节点都是循环结构的 附加对象,前者的功能是把当前循环完 成时的某个数据传递给下一次循环的开 始;后者相当于只有一个左端子的移位 寄存器,同样用于在两次循环之间传递 数据。 移位寄存器是LabVIEW在循环中引入的 独具特色的新概念。
设定方法
可以是外部信号或外部时钟 标准,默认值为计算机内部 时钟产生的1KHz信号源 当使用1KHz信号源时,循环 周期不小于1ms 偏置值不应大于循环周期
Timing source
Period Offset(phase)
Priority
优先级以1~2147480000之间 的整数来标识,数字越大, 优先级越高,执行时间冲突 时越优先被执行
其前面板和框图程序如图
2.2.3 数据的输入和输出通道



当由外部节点向结构框架连线或者框内节点与 边框连线时,在结构边框就创建了输入通道或 输出通道。 对所有Case分支来说对于输入通道的数据可 以使用,也可以不使用。但从选择结构框向外 输出数据时,各个子图形框必须为这个通道连 接数据。 当各个子图形框都为这个通道连接了数据,通 道图标才是实心的,程序才可运行。
相关文档
最新文档