计算机仿真和可视化设计.ppt
计算机仿真和可视化设计,基于LabVIEW的工程软件应用,蔡建安 陈洁华 张文艺,目录,1LABVIEW概述2LABVIEW模板简介3创建VI程序4LABVIEW结构5LABVIEW 数据类型6图表及图形7字符串和文件I/O8数据采集9工程仿真和设计常用编程技法10虚拟设备实例水环境工程仿真软件11附录,1LABVIEW概述,1.1由虚拟万能材料试验机认识虚拟设备1.2虚拟设备(VI)的构造平台,LabVIEW概述,本章介绍了图形编程语言LabVIEW和虚拟仪器(设备)的概念,学习要点为:虚拟仪器(设备)的概念、应用,和仿真实验与可视化设计;LabVIEW系统使用的执行文件和目录;VI的三个部分:程序前面板、框图程序和图标/连接器;LabVIEW的下拉和弹出菜单的概念、功能和使用。,演示虚拟材料试验机及其实验,启动虚拟实验,LabVIEW环境,LabVIEW.exe执行程序,用于启动LabVIEW。vi1ib目录:该目录包含库,如数据采集、仪器控制和分析。它必须与LabVIEW可执行程序在同一目录下。不要改变vi1ib目录的名称,因为LabVIEW启动时要查找该目录。如果改变此名称,就不能使用众多的控件和库函数。example目录:该目录包含许多示例,这些例子示范LabVIEW的功能。user.1ib目录:用户创建的保存于该目录并将出现在LabVIEW的FunctionsPalette(函数选项板)上。instx.1ib目录:如果希望用户仪器驱动程序库出现在LabVIEW的函数选项板上,应将其放置在该目录下。,VI的构成,VI包括三个部分:程序前面板框图程序图标/连接器,File文档菜单,Edit编辑菜单,Operate操作菜单,Tools工具菜单,Browse浏览菜单,Windows窗口菜单,LabVIEW基本演示,LabVIEW 7.1,LabVIEW 有不同的版本,目前已推出了LabVIEW 8,但现主要在用的是LabVIEW 7.1,7.0 和 6i。LabVIEW具有向下兼容性,高版本可以读取版本低的文件。本书VI主要用 6i 编写,以保证上述版本均能打开。,2LABVIEW模板简介,2.1概述2.2工具模板(ToolsPalette)2.3控制模板(ControlsPalette)2.4功能模板(FunctionsPalette),LabVIEW模板学习要点,窗口顶部工具栏包括:运行、字体选择、排列调整和叠放次序等操作按钮;工具模板提供了编程使用的创建、修改和调试VI工具,在构建和编辑VI时应首先确定选择了正确的工具;控制模板服务于前面板,用于添加输入控制和输出显示。每个图标代表一个子模板。常用的有:数值、布尔值、字符串、数组和群、列表、图文环、图形信号、输入输出和修饰等子模板;功能模板服务于框图程序,每个图标代表一个子模板。常用的有:结构、数值运算、布尔逻辑、比较运算、字符串运算、数组和群、时间、文件、输入/输出等子模板。,窗口顶部工具栏,包括:运行按钮、连续执行按钮、停止按钮、暂停继续按钮,字体环。排列调整环,间隙描述环,位置次序调整环。,框图程序窗口工具栏,高亮度执行按钮,在是否选择高亮度模式间切换,执行程序时可以在框图程序中观察到数据流动。单步通过按钮,进入单步模式时,程序单步通过一个节点并停在下一节点上,同时它不停地闪烁,表示当前节点准备执行。单步进入节点按钮,再次单击此按钮,程序单步进入循环、子VI等节点。通过单步进入节点,可以单步执行节点内的程序。单步退出节点按钮,再次单击此按钮,程序单步退出循环、子等节点。通过单步退出节点,可完成单步通过节点功能,并进到下一节点。警告指示器,当程序存在潜在问题时,就会出现这个警告指示,但这并不因此而引起不能执行。,工具模板(ToolsPalette),操作工具选择(位置)工具标签工具连线工具对象弹出菜单工具平移工具断点工具探针工具颜色提取工具颜色工具,控制模板(ControlsPalette),数值子模板:包含数值的控制和显示。布尔值子模块:逻辑数值的控制和显示。字符串子模板:ASCII码字符串和路径的控制和显示。数组和群子模板:复合型数据类型的控制和显示。列表子模板:各类列表的控制和显示。图形子模板:显示数据结果的趋势图和曲线图。图文环(Ring):控制和显示菜单环和文字列表栏、图像列表栏的选型。,控制模板(ControlsPalette),信号的输入输出子模板。路径和参考名(Refnum)子模板:文件路径和各种标识的控制和显示。老版本子模板,列举老版本中的显示控制件。对话框子模板:用于输入对话框的显示控制。修饰子模板:用于给前面板进行装饰的各种图形对象。控件容器库子模板:用于操作OLE、ActiveX等功能。调用存储在文件中的控制和显示的接口。用户自定义的控制和显示。,结构子模板:包括程控结构命令,例如循环控制等,以及全局变量和局部变量。数值运算子模板:包括各种常用的数值运算符,如“”以及各种常见的数值表达式,如+1运算;还包括数制转换、三角函数、对数、复数等运算,以及各种数值常数。布尔逻辑子模板:包括各种逻辑运算符以及布尔常数。字符串运算子模板:包含各种字符串操作函数、数值与字符串之间的转换函数,以及字符(串)常数等。数组子模板:包括数组运算函数、数组转换函数,以及常数数组等。,功能模板(FunctionsPalette),功能模板(FunctionsPalette),簇子模板。包括簇的处理函数,以及簇常数等。比较子模板:包括各种比较运算函数,如大于、小于、等于。时间和对话框子模板:包括对话框窗口、时间和出错处理函数等。文件输入/输出子模板:包括处理文件 I/O的程序和函数。“选择VI子程序”子模板:可以选择一个VI程序作为子程序(SubVI)插入当前程序中。,虚拟万能材料试验机组装,虚拟万能材料试验机组装,创建VI程序,3.1实例体验虚拟仪器的建立过程3.2虚拟仪器的编辑3.3框图程序的构成元素3.4子VI的建立和使用,3 学习指导,尽早投入编程实践对学习LabVIEW至关重要,在跟随本章进行编程实践时体会VI的创建、了解VI的组成,掌握编辑修改方法。,学习要点,建立虚拟仪器就是根据功能目标创建对应的仪器面板和框图程序,需要了解控制、功能模板上不同图标的用途;仪器面板设计重在控制和对话,框图程序重在实现正确的相互关系;掌握虚拟仪器编辑技术,熟练使用工具模板的各种工具,是编程和调试VI的关键;框图程序由节点、端点、图框和连线四种元素构成,组合出相互的逻辑关系;学习子VI的建立和调用,这在建立一个高质量的VI时十分必要。,例 3.1 计算空塔流速,首先启动LabVIEW系统程序,选择 New VI,屏幕出现一个无标题的VI前面板窗口。本例中,我们有两个可控制量(自变量)水量控制和滤塔直径;并有两个显示量(因变量)滤塔面积和流速。,例 3.1 计算空塔流速VI构建,LabVIEW 7.1计算空塔流速VI构建,虚拟仪器的编辑,选择对象。把 Positioning tool(位置工具)放在准备选择的对象上,按住鼠标左键,该对象的轮廓边上出现流动的虚线,表示对象被选中。如果要选择一个以上的对象,按住Shift键不放,然后用鼠标单击每一个想要选择的对象。也可以用位置工具,在窗口空白处按住鼠标左键拖出一个虚线的矩形框,把想要选择的对象都包含在其中,这些对象即被选中。移动对象。把位置工具放在对象上,按住鼠标左键不放,拖动鼠标,可以将对象转移到窗口中的任意位置上。删除对象。选中对象,然后按Delete键(或选择EditClear选项),即可删除该对象。,虚拟仪器的编辑,复制对象。先选中对象(鼠标左键按下不放),同时按Ctrl键,然后移动鼠标把对象复制到任意位置上,也可以用Edit菜单中的copy和Paste来复制对象。选择和删除连线。把位置工具移到线段上,单击鼠标左键,即选中线段(如果有数段线段在交汇处相交,则单击数下鼠标,即选中该数段线段);按Delete键,即删除该线段。连线的伸缩性。通过位置工具,可以把单个或一组对象移动到新的位置,而连线跟着伸缩。,虚拟仪器的编辑,不良连线。不良连线用虚线表示。例如,当源数据与目标数据类型不匹配时,会出现虚线(不良连线)。要删除一条不良连线,用位置工具单击不良连线后按Delete键。如果要删除框图程序中所有的不良连线,可以选择EditRemove Bad Wires(移去不良连线)(或按Ctrl+B键)。改变文本的字体、风格和尺寸。用标签工具选择文本,通过工具栏中的Font ring可以改变标签框中任何文本的字体和尺寸。改变对象尺寸。用位置工具把光标移到对象的四角处,此时会出角形图示,拖动它便可以改变对象的尺寸。改变颜色。从工具模板中选择颜色工具,并在正方形框上单击鼠标,弹出调色板。选择一种颜色,然后单击对象,便可以改变对象的颜色。注意颜色工具中上下两个正方形框分别代表对象的前景色和背景色,调色板上的 T标志,表示透明无色。,例 3.2 不良连线及纠正方法,文件e3_2.vi存放错误的程序,文件e3_2_3.vi存放订正后。,框图程序的构成元素,框图程序由节点、端点、图框和连线四种元素构成。LabVIEW有二种节点类型函数节点和子VI节点。函数节点是LabVIEW编译好供使用的。子VI节点是LabVIEW或用户的图形语言形式。,框图程序的构成元素,端点是只有一路输入/输出,且方向固定的节点。LabVIEW有三类端点前面板对象端点、全局与局部变量端点和常量端点。前面板对象端点是数据在框图程序部分和前面板之间传输的接口。常量端点在VI程序框图中永远只能作为数据流源点。,框图程序的构成元素,图框是LabVIEW实现程序结构控制命令的图形表示。如循环控制、条件分支控制和顺序控制等。连线是端口间的数据通道。数据单向流动,不同的线型代表不同的数据类型,从源端口向一个或多个目的端口流动。,子VI的建立和使用,子VI(SubVI)就是被其他的 VI调用的VI。可以将任何一个定义了图标和联接器的 VI作为另一个 VI的子程序。构造一个子VI主要的工作就是定义它的图标和联接器。在其他的 VI中调用子程序VI的过程就是将定义了图标放入该VI的程序框图,并在主程序中对子VI联接器进行外部连线。,图标编辑器的窗口,。可以用窗口左边的各种工具设计像素编辑区中的图标形状。编辑区右侧的一个方框中显示了一个实际大小的图标。联接器是 VI 数据的输入输出接口。通过选择 VI的端子数并为每个端子指定对应的前面板对象以定义联接器。,