《精密测试技术课程讲义6章虚拟仪器.ppt》由会员分享,可在线阅读,更多相关《精密测试技术课程讲义6章虚拟仪器.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、虚拟仪器技术及LabVIEW 简介目录什么是虚拟仪器LABVIEW概述LABVIEW模板简介创建VI程序LABVIEW结构LABVIEW 数据类型图表及图形字符串和文件I/O数据采集什么是虚拟仪器(VI,Virtual Instruments)(1)由测试硬件完成信号的采集与控制,而将信号分析与处理、结果表达与输出让计算机来完成,这就是虚拟仪器。(2)Computer Based Instruments(3)用户自定义的仪器数据采集和控制分析Signal ProcessingDigital FilteringStatisticsArray Operations显示Graphical User
2、InterfaceHardcopy OutputFile I/O信号Plug-In DAQ BoardsIEEE 488(GPIB)RS-232 虚拟仪器的硬件结构体系(1)PCI、ISA 接口总线(2)PXI(PCI eXtension for Instrumentation)接口总线(3)GPIB(General Purpose Interface Bus)接口总线 串口总线(4)VXI(VMEbus eXtension for Instrumentation)接口总线 虚拟仪器的软件开发工具(1)通用编程语言:C、C+、Visual C+、Visual Basic(2)虚拟仪器专用编程语
3、言:NI公司的LabVIEW、Labwindows/CVI和HP公司的HPVEE 或者分为:(1)文本式编程语言:如C、Visual C、Visual Basic、Labwindows/CVI等。(2)图形化编程语言:如LabVIEW、HPVEE等。什么是LabVIEW?n NI LabVIEW 是行业领先的用于开发设计、控制和测试系统的软件工具,用于设计、控制和测试的图形化开发平台。自1986 年问世以来,世界范围内的工程师和科学家在整个产品设计周期内都依靠NI LabVIEW图形化开发环境来开发项目,从而获得更高的质量,更短进入市场的时间,和更高的工程和生产效率。n LabVIEW的图形化
4、数据流语言很自然地吸引了全世界的工程师和科学家将其作为一种更加直观的方式用于自动测量和控制系统。结合了内置I/O、交互式用户界面控件和指示器的数据流语言使得LabVIEW 成为工程师和科学家的理想选择。LabVIEW 图形化开发平台为自动化测量和控制应用中整个产品生命周期都提供了高效和优良的性能。LabVIEW 图形化开发平台提供:n 专为工程师和科学家设计的直观的图形化编程语言。n 交互式、特定应用的开发工具和库。n 数以百计的内置库,用于I/O、控制、分析和数据显示。n 发布至台式、便携式、工业和嵌入式计算目标。内置的采集、分析和显示采集 开放的LabVIEW环境使得与任何测量硬件之间的连
5、接变得更为简单,并且提供了交互式助手、代码自动生成,以及与数以千计设备的连接来轻松地收集数据。因为LabVIEW提供了对几乎所有测量设备的连接,所以您可以轻松地将最新的LabVIEW 应用程序结合至现有的系统,而不会损失您的硬件投资。无论您的硬件要求如何,LabVIEW 都提供了一个接口以使得与您I/O 的连接变得更为轻松。利用LabVIEW 测量任何信号温度 电压 电阻张力 电流 脉冲振动 频率 周期声音 光强 数字信号分析 对于测量结果,你需要的不是未经处理的数据。强大的,易用的分析功能对你的软件应用是必须的。LabVIEW 拥有超过500 个内建函数,帮助你从采集的数据中提取有效信息,分
6、析测量结果和处理信号。频率分析、信号发生、数学运算、曲线拟和、插值等函数能够使你对数据进行有意义的统计和处理。LabVIEW 分析工具使用简单,无需你去考虑复杂的底层算法。超过15 个快速分析VI 通过交互式配置对话框使你能够立刻预览分析结果,并很大程度降低了你在应用程序中执行。测量分析的复杂度 曲线拟合和插值 概率和统计 快速傅立叶变换和频率分析 时域和频域分析 信号发生 数字信号处理 数学运算显示 数据的显示包含了多种功能范围:形象化、生成报表和数据管理。LabVIEW 包含了容易创建的形象化的工具,使你的数据显示出吸引力,其中包括图表和图形工具,内建的2D和3D 显示工具。你可以直接配置
7、显示的属性,如颜色,字体大小,图表类型等,并可在运行时旋转,缩放和摇移你的图像。另外,你还可以通过LabVIEW 在因特网上观看和控制你的VI。对于报表生成,NI提供多种选择,包括文档生成工具,HTML报表,可编程生成的微软Word、Excel 报表和NI DIAdem交互式的报表生成。文档处理工具 内建用户界面设计对象 交互式报表生成 微软Word 和Excel 报表 数据库连接 开放式语言(.NET、ActiveX、远程观看和控制 DLLs、OPC)LabVIEW 用在何处?自动化测试和测量平台 近30 年来,NI 革新了工程师进行测试和测量的方式。利用PC 和商用技术,虚拟仪器技术提高了
8、效率并且降低了自动化测试和测量应用程序的成本,这是通过易于集成的软件(如LabVIEW)和用于PXI、PCI、USB、Ethernet 的模块化测量和控制硬件来实现的。通常的应用 生产测试 便携式场地测试 验证/环境测试 RF 和通信测试 机械/结构测试 机台测试 实时可靠性测试 图像采集 数据采集工业测量和控制平台 工程师常常将LabVIEW 用于要求苛刻的工业应用,例如需要高级I/O,包括高速模拟信号采集;用于诸如振动监控、控制和机器视觉之类的高级处理应用;以及与工业硬件的通信,包括OPC 设备和第三方PLC 以及企业级数据库。您可以无缝地将内置于LabVIEW的NI可编程自动控制器(PA
9、C)集成至现有的系统,从而达到附加的测量和控制功能。通常的应用 集成的测试和控制 机器状况监控 机器自动化 分布式监控和控制 机器视觉 功率监控嵌入式设计和原型设计平台 工程师将LabVIEW 用于高效的设计应用、仿真,以及仿真数据与真实世界测量之间的比较。通过将LabVIEW 和测量工具集成至附加的设计和仿真工具,您可以更早地在设计过程中轻松地将真实世界的测试工具与仿真模型进行比较。这样就可以更早地在设计环节暴露缺陷,从而可以实现更少的设计反复和更高质量的产品。通常的应用 嵌入式系统设计和测试 电子电路设计 控制设计 机械设计 数字滤波器设计 算法设计VI的构成 LabVIEW的程序称之为虚
10、拟仪器,简称VIs,因为所设计出来的程序在其外观以及操控上都与真实的仪器很类似;一个VI可分为三个部份:人机界面-前置面版(Front Panel)图形程序区(Block Diagram)工具面版-图像(Icon)与连结器(Connector)File 文档菜单New VINewOpenCloseClose AllSave Save AsSave AllSave with OptionsRevertPage SetupPrintPrint WindowVI PropertiesRecently Opened Files Exit创建新的VI打开对话框选择要创建的文件类型打开现有的VI关闭启动的
11、窗口关闭所有窗口保存当前 VI将当前 VI另存为新名字将VI的备份另存为新名字定制保存恢复VI到上次保存的版本编辑打印机设置打印组件的选项打印窗口板访问属性对话框快速打开最近访问过的档退出Edit编辑菜单 UndoRedoCutCopePasteClearFindShow Search ResultsCustomize ControlScale Object With PanelSet Tabbing OrderImport Picture from FileRemove Broken WiresCreate SubVIRun-Time Menu撤销刚刚完成的操作恢复被撤销的操作消除选中的对象
12、并将其放置在剪贴板上复制选中的对象并将其放置在剪贴板上将剪贴板备份内容置入启动窗口中删除选中的对象查找VI、其它对象和文本显示查找结果并访问列表中的每项修改当前选择的前面板控件对象选中的前面板对象与窗口同比例缩放设置前面板对象顺序将图形文件导入LabVIEW剪贴板删除所有错误连线将选中的框图对象转换为SubVI为当前VI创建用户运行时菜单Operate操作菜单 RunStopSuspend when CalledPrint at CompletionLog at CompletionData Logging Make Current Values DefaultReinitialize All
13、 To DefaultChange to Run Mode执行VI停止执行VI调用VI时,暂停执行打印VI前面板将前面板数据记录写入文件显示数据记录选项设置当前值作为控件和指示器的默认值将所有的控件和指示器设置为默认值在运行与编辑模式之间切换Tools工具菜单 Measurement&Automation ExploreInstrumentation Data Acquisition VI Revision HistoryUser NameEdit VI LibraryInternet Toolkit Web Publishing ToolAdvanced Options配置仪器和数据采集硬件
14、访问仪器驱动程序网访问DAQ通道浏览器和DAQ方案向导编制当前VI的修订记录设置和改变LabVIEW用户名编辑当前VI库的内容或创建新VI访问Internet工具包访问Web发布工具VI访问批量编译、VI矩阵及其它特性定制LabVIEW应用的外观和特性Browse浏览菜单 Show VI HierarchyThis VIs Callers This VIs SubVIs Unopened SubVIs Unopened Type Defs Breakpoints 访问VI层次窗口访问所有调用当前SubVI的VI列表 访问当前VI的所有SubVI列表访问当前中所有未打开SubVI列表访问当前VI
15、中所有未打开类型定义的列表搜索并显示当前VI断点Windows窗口菜单 Show DiagramShow Controls PaletteShow Tools PaletteShow ClipboardShow Error ListTile Left and RightTile Up and DownFull Size在面板和框图窗口间切换显示控件选项板显示工具选项板显示剪贴板的内容显示错误对话框并排显示前面板和框图上下显示前面板和框图最大化活动窗口表示列出所有打开的前面板和框图窗口LabVIEW基本演示例:LABVIEW模板简介n 概述n 工具模板(Tools Palette)n 控制模板(
16、Controls Palette)n 功能模板(Functions Palette)LabVIEW模板学习要点n 窗口顶部工具栏包括:运行、字体选择、排列调整和叠放次序等操作按钮;n 工具模板提供了编程使用的创建、修改和调试VI工具,在构建和编辑VI时应首先确定选择了正确的工具;n 控制模板服务于前面板,用于添加输入控制和输出显示。每个图标代表一个子模板。常用的有:数值、布尔值、字符串、数组和群、列表、图文环、图形信号、输入输出和修饰等子模板;n 功能模板服务于框图程序,每个图标代表一个子模板。常用的有:结构、数值运算、布尔逻辑、比较运算、字符串运算、数组和群、时间、文件、输入/输出等子模板。
17、窗口顶部工具栏n 包括:n 运行按钮、连续执行按钮、停止按钮、暂停继续按钮,字体环。n 排列调整环,间隙描述环,位置次序调整环。框图程序窗口工具栏 n 高亮度执行按钮,在是否选择高亮度模式间切换,执行程序时可以在框图程序中观察到数据流动。n 单步通过按钮,进入单步模式时,程序单步通过一个节点并停在下一节点上,同时它不停地闪烁,表示当前节点准备执行。n 单步进入节点按钮,再次单击此按钮,程序单步进入循环、子VI等节点。通过单步进入节点,可以单步执行节点内的程序。n 单步退出节点按钮,再次单击此按钮,程序单步退出循环、子等节点。通过单步退出节点,可完成单步通过节点功能,并进到下一节点。n 警告指示
18、器,当程序存在潜在问题时,就会出现这个警告指示,但这并不因此而引起不能执行。工具模板(ToolsPalette)n 操作工具n 选择(位置)工具n 标签工具n 连线工具n 对象弹出菜单工具n 平移工具n 断点工具n 探针工具n 颜色提取工具n 颜色工具控制模板(ControlsPalette)n 数值子模板:包含数值的控制和显示。n 布尔值子模块:逻辑数值的控制和显示。n 字符串子模板:ASCII码字符串和路径的控制和显示。n 数组和群子模板:复合型数据类型的控制和显示。n 列表子模板:各类列表的控制和显示。n 图形子模板:显示数据结果的趋势图和曲线图。n 图文环(Ring):控制和显示菜单环
19、和文字列表栏、图像列表栏的选型。控制模板(ControlsPalette)n 信号的输入输出子模板。n 路径和参考名(Refnum)子模板:文件路径和各种标识的控制和显示。n 老版本子模板,列举老版本中的显示控制件。n 对话框子模板:用于输入对话框的显示控制。n 修饰子模板:用于给前面板进行装饰的各种图形对象。n 控件容器库子模板:用于操作OLE、ActiveX等功能。n 调用存储在文件中的控制和显示的接口。n 用户自定义的控制和显示。n 结构子模板:包括程控结构命令,例如循环控制等,以及全局变量和局部变量。n 数值运算子模板:包括各种常用的数值运算符,如“”以及各种常见的数值表达式,如+1运
20、算;还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。n 布尔逻辑子模板:包括各种逻辑运算符以及布尔常数。n 字符串运算子模板:包含各种字符串操作函数、数值与字符串之间的转换函数,以及字符(串)常数等。n 数组子模板:包括数组运算函数、数组转换函数,以及常数数组等。功能模板(FunctionsPalette)功能模板(FunctionsPalette)n 簇子模板。包括簇的处理函数,以及簇常数等。n 比较子模板:包括各种比较运算函数,如大于、小于、等于。n 时间和对话框子模板:包括对话框窗口、时间和出错处理函数等。n 文件输入/输出子模板:包括处理文件 I/O的程序和函数。n“选择
21、VI子程序”子模板:可以选择一个VI程序作为子程序(SubVI)插入当前程序中。创建VI程序n 建立虚拟仪器就是根据功能目标创建对应的仪器面板和框图程序,需要了解控制、功能模板上不同图标的用途;n 仪器面板设计重在控制和对话,框图程序重在实现正确的相互关系;n 掌握虚拟仪器编辑技术,熟练使用工具模板的各种工具,是编程和调试VI的关键;n 框图程序由节点、端点、图框和连线四种元素构成,组合出相互的逻辑关系;n 学习子VI的建立和调用,这在建立一个高质量的VI时十分必要。虚拟仪器的编辑n 选择对象。把 Positioning tool(位置工具)放在准备选择的对象上,按住鼠标左键,该对象的轮廓边上
22、出现流动的虚线,表示对象被选中。如果要选择一个以上的对象,按住Shift键不放,然后用鼠标单击每一个想要选择的对象。也可以用位置工具,在窗口空白处按住鼠标左键拖出一个虚线的矩形框,把想要选择的对象都包含在其中,这些对象即被选中。n 移动对象。把位置工具放在对象上,按住鼠标左键不放,拖动鼠标,可以将对象转移到窗口中的任意位置上。n 删除对象。选中对象,然后按Delete键(或选择 EditClear选项),即可删除该对象。虚拟仪器的编辑n 复制对象。先选中对象(鼠标左键按下不放),同时按Ctrl键,然后移动鼠标把对象复制到任意位置上,也可以用Edit菜单中的copy和Paste来复制对象。n 选
23、择和删除连线。把位置工具移到线段上,单击鼠标左键,即选中线段(如果有数段线段在交汇处相交,则单击数下鼠标,即选中该数段线段);按Delete键,即删除该线段。n 连线的伸缩性。通过位置工具,可以把单个或一组对象移动到新的位置,而连线跟着伸缩。虚拟仪器的编辑n 不良连线。不良连线用虚线表示。例如,当源数据与目标数据类型不匹配时,会出现虚线(不良连线)。要删除一条不良连线,用位置工具单击不良连线后按Delete键。如果要删除框图程序中所有的不良连线,可以选择EditRemove Bad Wires(移去不良连线)(或按Ctrl+B键)。n 改变文本的字体、风格和尺寸。用标签工具选择文本,通过工具栏
24、中的Font ring可以改变标签框中任何文本的字体和尺寸。n 改变对象尺寸。用位置工具把光标移到对象的四角处,此时会出角形图示,拖动它便可以改变对象的尺寸。n 改变颜色。从工具模板中选择颜色工具,并在正方形框上单击鼠标,弹出调色板。选择一种颜色,然后单击对象,便可以改变对象的颜色。注意颜色工具中上下两个正方形框分别代表对象的前景色和背景色,调色板上的 T标志,表示透明无色。框图程序的构成元素 框图程序由节点、端点、图框和连线四种元素构成。LabVIEW有二种节点类型函数节点和子VI节点。函数节点是LabVIEW编译好供使用的。子VI节点是LabVIEW或用户的图形语言形式。框图程序的构成元素
25、n 端点是只有一路输入/输出,且方向固定的节点。n LabVIEW有三类端点前面板对象端点、全局与局部变量端点和常量端点。n 前面板对象端点是数据在框图程序部分和前面板之间传输的接口。n 常量端点在VI程序框图中永远只能作为数据流源点。框图程序的构成元素n 图框是LabVIEW实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等。n 连线是端口间的数据通道。数据单向流动,不同的线型代表不同的数据类型,从源端口向一个或多个目的端口流动。子VI的建立和使用n 子VI(SubVI)就是被其他的 VI调用的VI。n 可以将任何一个定义了图标和联接器的 VI作为另一个 VI的子程序。n
26、构造一个子VI主要的工作就是定义它的图标和联接器。n 在其他的 VI中调用子程序VI的过程就是将定义了图标放入该VI的程序框图,并在主程序中对子VI联接器进行外部连线。图标编辑器的窗口n 可以用窗口左边的各种工具设计像素编辑区中的图标形状。编辑区右侧的一个方框中显示了一个实际大小的图标。n 联接器是 VI 数据的输入输出接口。n 通过选择 VI的端子数并为每个端子指定对应的前面板对象以定义联接器。程序结构 循环结构 1.While 循环n While 循环可以反复执行循环体的程序,直至到达某个边界条件。它类似于普通编程语言中的 Do 循环和 Repeat-Until 循环。While 循环的框
27、图是一个大小可变的方框,用于执行框中的程序,直到条件端子接收到的布尔值为 FALSE。n 该循环有如下特点:n 计数从0开始(i=0)。n 先执行循环体,而后i+1,如果循环只执行一次,那么循环输出值i=0。n 循环至少要运行一次。例:用 While 循环和图表获得数 据,并实时显示 创建一个可以产生并在图表中显示随机数的VI。前面板有一个控制旋钮可在0到10秒之间调节循环时间,还有一个开关可以中止VI的运行。学习怎样改变开关的动作属性,以便不用每次运行VI时都要打开开关。2.移位寄存器(Shift Register)n 移位寄存器可以将数据从一个循环周期传递到另外一个周期。在程序设计中,经常
28、要用到它创建一个移位寄存器的方法是,用鼠标右键单击循环的左边或者右边,在快捷菜单中选择 Add Shift Register。如下n 图所示。n 移位寄存器在流程图上用在循环边框上相应的一对端子来表示。右边的端子中存储了一个周期完成后的数据,这些数据在这个周期完成之后将被转移到左边的端子,赋给下一个周期。移位寄存器可以转移各种类型的数据数值、布尔数、数组、字符串等等。它会自动适应与它连接的第一个对象的数据类型。下图表示了它的工作过程可以令移位寄存器记忆前面的多个周期的数值。这个功能对于计算数据均值非常有用。还可以创建其他的端子访问先前的周期的数据,方法是用鼠标右键单击左边或者右边的端子,在快捷
29、菜单中选择Add Element。例如,如果某个移位寄存器左边的端口含有三个元素,那么就可以访问前三个周期的数据。3.For循环n For循环用于将某段程序执行指定次数。和While 循环一样,它不会立刻出现在流程图中,而是出现一个小的图标,而后您可以修改它的大小和位置。具体的方法是,先单击所有端子的左上方,然后按下鼠标,拖曳出一个包含所有端子的矩形。释放鼠标时就创建了一个指定大小和位置的For循环。For循环将把它的框图中的程序执行指定的次数,For循环具有下面这两个端子:n N:计数端子(输入端子)用于指定循环执行的次数。n I:周期端子(输出端子)含有循环已经执行的次数。例:用For循环
30、和移位寄存器计算一组随机数的最大值。分支结构 分支结构:Case Case结构含有两个或者更多的子程序(Case),执行那一个取决于与选择端子或者选择对象的外部接口相连接的某个整数、布尔数、字符串或者标识的值。必须选择一个默认的Case以处理超出范围的数值,或者直接列出所有可能的输入数值。Case结构见下图,各个子程序占有各自的流程框,在其上沿中央有相应的子程序标识:Ture、False或、。按钮用来改变当前显示的子程序(各子程序是重叠放在屏幕同一位置上的)。子程序标识按钮条件端子顺序结构和公式节点顺序结构(Sequence Structure)在代码式的传统编程语言中,默认的情况是,程序语句
31、按照排列顺序执行,但LabVIEW中不同,它是一种图形化的数据流式编程语言。在下图中,假设有A、B、C、D个节点,其数据流向如右图所示。按照数据流式语言的约定,任何一个节点只有在所有的输入数据有效时才会执行,所以图中,当且仅当A、B、C个节点执行完,使得D节点的个输入数据都到达D节点后,D节点才执行。但是你要注意,这里并没有规定A、B、C个节点的执行顺序。在LabVIEW中这种情况下,A、B、C的执行顺序是不确定的,如果你需要对它们规定一个确定的顺序,那就需要“顺序结构”。ADCB公式节点(Formula Node)公式节点是一个大小可变的方框,可以利用它直接在流程图中输入公式。从Functi
32、onsStructures中选择公式节点就可以把它放到流程图中。当某个等式有很多变量或者非常复杂时,这个功能就非常有用。例如等式:y=x2+x+1使用公式节点可以表示为:利用公式节点可以直接输入一个或者多个复杂的公式,而不用创建流程图的很多子程序。数据类型:数组、簇和波形 数组是同类型元素的集合。一个数组可以是一维或者多维,如果必要,每维最多可有2311个元素。可以通过数组索引访问其中的每个元素。索引的范围是0到n 1,其中n是数组中元素的个数。图所显示的是由数值构成的一维数组。注意第一个元素的索引号为0,第二个是1,依此类推。数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。n
33、簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。它类似于C语言中的stuct。使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。减少子VI的连接端子的数量。n 波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。创建数组n 一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。n 如果需要用一个数组作为程序的数据源,可以选择FunctionsArrayArray Constant,将它放置在流程图中。然后再在数组框中放置数值常量、布尔
34、数还是字符串常量。下图显示了在数组框放入字符串常量数组的例子。左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第个元素为:”ABC”,后两个元素均为空。创建簇控制和显示n 在前面板上放置一个簇壳(Cluster shell)就创建了一个簇。然后你可以将前面板上的任何对象放在簇中。例如数组,你也可以直接从Control 工具板上直接拖取对象堆放到簇中。一个簇中的对象必须全部是Control或全是Indicator,不能在同一个簇中组合Control与Indicator。一个簇将是Control或Indicator,取决于其内的第一个对象的状态。如果需要可以使用工具重置簇的大
35、小。下图所示是一个含个Control的簇。如果你要求簇严格地符合簇内对象的大小,可在簇的边界上弹出快速菜单选择自动定义大小。Waveform数据类型 在数据采集和信号分析中经常要遇到波形数据,Waveform数据类型,使得波形的描述更加简洁。Waveform数据类型包含了波形的数据(Y)、起始时刻(t0)和步长X,使用Waveform 模板的Build Waveform 函数可以建立一个波形。许多用于数据采集和波形分析的VI和函数的缺省状态都接受或返回Waveform数据类型。当你将一个Waveform数据类型连接到Waveform Graph或Chart时,会自动画出相应的曲线。有关这一数据
36、类型的函数或VI在 Functions Waveform和Analyze之中。图表及图形 图形显示对于虚拟仪器面板设计是一个重要的内容在LabVIEW的图形显示功能中Graph和Chart是两个基本的概念。一般说来Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势,而Graph则是对已采集数据进行事后处理的结果。它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。它的缺点是没有实时显示,但是它的表现形式要丰富得多。例如采集了一个波形后,经处理可以显示出其频谱图。Graph控件n 各种图形都提供了相应的控件,以Gr
37、aph为例介绍。所有这些控件都包含在图形快速菜单的Visible Items选项下。n 曲线图例可用来设置曲线的各种属性,包括线型(实线、虚线、点划线等)、线粗细、颜色以及数据点的形状等。n 图形模板可用来对曲线进行操作,包括移动、对感兴趣的区域放大和缩小等。n 光标图例可用来设置光标、移动光标,帮助你用光标直接从曲线上读取感兴趣的数据。n 刻度图例用来设置坐标刻度的数据格式、类型(普通坐标或对数坐标),坐标轴名称以及刻度栅格的颜色等。Chart控件 Chart的数据并没有事先存在一个数组中,它是实时显示的,为了能够看到先前的数据,Chart 控件内部含有一个显示缓冲器,其中保留了一些历史数据
38、。这个缓冲器按照先进先出的原则管理,其最大容量是1024个数据点。例:Chart和Graph的比较 显示的运行结果是一样的。但实现方法和过程不同。在流程图中可以看出,Chart产生在循环内,每得到一个数据点,就立刻显示一个。而Graph在循环之外,40个数都产生之后,跳出循环,然后一次显示出整个数据曲线。从运行过程可以清楚地看到这一点。字符串和文件I/O 字符串n 字符串是ASCII字符的集合。如同其他语言一样,LabVIEW也提供了各种处理字符串的功能.n 创建字符串控制对象和显示对象n 可以在ControlsString&Table 中看到右边所显示字符串控制对象和显示对象。还可以使用操作
39、工具或者标签工具输入或者改变字符串控制对象中的文本。用移位工具拖曳字符串控制对象和显示对象的边角可以增大它们的面积。文件的输入/输出(I/O)文件I/O功能函数是一组功能强大、伸缩性强的文件处理工具。它们不仅可以读写数据,还可以移动、重命名文件与目录。创建电子表格格式的、由可读的ASCII文本组成的文件,以及为了提高读写速度和压缩率采用二进制的格式写入数据。可以采用下面三种文件格式存储或者获得数据:ASCII字节流,数据记录文件,二进制字节流。文件 I/O 功能函数 大多数的文件I/O操作都包括三个基本的步骤:打开一个已有的文件或者新建一个文件;对文件进行读写;关闭文件。LabVIEW在Fun
40、ctions File I/O中提供了很多有用的工具 VI。这些工具VI可以把错误检查和错误处理等功能与文件I/O功能函数结合起来。以下个功能从左到右对应于上面个图标。n Write To Spreadsheet File VI用于将由单精度数值组成的一维或者二维数组转换成文本字符串,再将它写入一个新建文件或者已有文件。该VI先打开或者新建文件,之后再关闭文件。它可以用于创建能够被大多数电子表格软件读取的文本文件。n Read From Spreadsheet File VI用于从某个文件的特定位置开始读取指定个数的行或者列内容,再将数据转换成二维、单精度数组。该VI先打开文件,之后再关闭文件
41、。它可以用于读取用文本格式存储的电子表格文件。n Write Characters To File VI用于将一个字符串写入一个新建文件或者已有文件。该VI打开这个文件、写入数据,再关闭文件。n Read Characters From File VI用于从某个文件的特定位置开始读取指定个数的字符。该VI先打开文件,之后再关闭文件。n Read Lines From File VI用于从某个文件的特定位置开始读取指定个数的行内容。该VI先打开文件,之后再关闭文件。数据采集 数据采集结构 上图表示了数据采集的结构。在数据采集之前,程序将对DAQ板卡初始化,板卡上和内存中的Buffer是数据采集存
42、储的中间环节。需要注意的两个问题是:是否使用Buffer?是否使用外触发启动、停止或同步一个操作。缓冲(Buffers)这里的缓冲指的是PC内存的一个区域(不是DAQ卡上的FIFO缓冲),它用来临时存放数据。下列情况需要使用Buffer I/O:n 需要采集或产生许多样本,其速率超过了实际显示、存储到硬件,或实时分析的速度。n 需要连续采集或产生AC数据(10样本秒),并且要同时分析或显示某些数据。n 采样周期必须准确、均匀地通过数据样本。触发(Triggering)触发涉及初始化、终止或同步DAQ事件的任何方法。触发器通常是一个数字或模拟信号,其状态可确定动作的发生。下列情况使用软件触发:n
43、 用户需要对所有DAQ操作有明确的控制,并且n 事件定时不需要非常准确。下列情况使用硬件触发:n DAQ事件定时需要非常准确。n 用户需要削减软件开支。n DAQ事件需要与外部装置同步。简单 Analog I/O 这是LabVIEW提供的一组标准的、简单易用的DAQ VI。Analog Input从左到右,个VI的功能为:n 从指定通道获得一个样本。n 从由通道字符串规定的一组通道每通道获得一个样本。这些样本返回到一个样本数组,顺序由通道号决定。n 按指定的采样率由一个通道得到一个波形(一组覆盖一个周期的样本),这些样本返回到一个wareform 数组。n 从由通道字符串规定的每个通道获得一个波形。这些样本返回到一个波形的维数组,顺序由通道号和采样周期决定。通道数据的每个点占列,时间增量由行决定。Analog Output 从左到右,个VI的功能为:n 在指定输出通道设置一个规定电压。n 在指定输出通道设置一组规定电压。这些电压在输出通道一直保持恒定,直到其自身改变或装置复为位。n 在指定输出通道产生一个波形,波形的点(以电压为单位)是预先由波形数组提供的。更新速率(Update rate)规定了两个点之间的时间。n 与上类似,多波形,每通道一个,可同时发生。每个波形存放在2维数组的1列。谢 谢 观 看
限制150内