《LabVIEW编程入门 (2).ppt》由会员分享,可在线阅读,更多相关《LabVIEW编程入门 (2).ppt(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、虚拟仪器与工程分析虚拟仪器与工程分析Virtual Instruments&Engineering Analysis 第二讲 LabVIEW编程入门一、VI 基本组成*程序前面板:交互式的用户界面*框图程序:是程序源代码,用模块代替 普通函数。*图标/连接器(子VI):可被上一级VI调用 的VI(一)前面板程序前面板用于程序前面板用于设置置输入量和入量和观察察输出量。出量。它模它模拟真真实仪器的前面板。器的前面板。输入量被称入量被称为ControlsControls(控制),用控制),用户可以可以通通过控制向控制向VIVI中中设置置输入参数等;入参数等;输出量被称出量被称为Indicators
2、Indicators(指示),指示),VIVI通通过指示器向用指示器向用户提示状提示状态或或输出数据等。出数据等。用用户还可以使用各种可以使用各种图标,如旋,如旋钮、开关、开关、按按钮、图表及表及图形等,使前面板易看易懂。形等,使前面板易看易懂。前面板:由控制、指示和修饰构成。(二)框图程序每一个程序前面板都有相每一个程序前面板都有相应的框的框图程序与程序与之之对应。框框图程序用程序用图形形编程程语言言编写,可以把它写,可以把它理解成理解成传统程序的源代程序的源代码。框框图中的部件可以看成程序中的部件可以看成程序节点,如循点,如循环控制、事件控制和算控制、事件控制和算术功能等。功能等。这些部件
3、都用些部件都用连线连接,以定接,以定义框框图内的内的数据流数据流动方向。方向。框图程序构成三要素节点:节点:是程序是程序执执行元素,行元素,类类似于似于传统传统文本文本编编程程语语言程序中的言程序中的语语句、操作符、函数或者子句、操作符、函数或者子程序。程序。端子端子:是在框是在框图图程序和前面板之程序和前面板之间间或者在框或者在框图图程序的程序的节节点之点之间进间进行数据行数据传输传输的接口。的接口。连线连线:连线连线是是输输入和入和输输出端子出端子间间的数据通道,的数据通道,代表程序代表程序执执行行过过程中的数据流程中的数据流。类类似于普通似于普通程序中的参数程序中的参数。框图程序:由节点
4、和数据连线组成。框图程序:由节点和数据连线组成。节点(节点(Node Node):):功能函数功能函数(functions)(functions)结构结构(Structure)(Structure)代码节点代码节点(CIN)(CIN)子子VI(SubVI)VI(SubVI)数据端口:控制端口、指示端口与节点端口。数据端口:控制端口、指示端口与节点端口。数据连线:数据端口之间的数据通道。数据连线:数据端口之间的数据通道。(三)图标/连接器图标/接口器件可以接口器件可以让用用户把把VIVI程序程序变成一成一个个对象(子象(子VIVI),然后在其他程序中像子),然后在其他程序中像子程序一程序一样地地
5、调用它。用它。图标图标是子是子VIVI在其它程序框在其它程序框图图中被中被调调用的用的节节点表点表现现形式;形式;连连接器接器则则表示表示节节点数据的点数据的输输入入/输输出端点,就象出端点,就象一个函数一个函数调调用的参数用的参数。连连接器端口与前面板的控制或指示一一接器端口与前面板的控制或指示一一对应对应。二、VI工作方式(一)数据流在流程图上,模块接口之间的连线就是数据线。数在流程图上,模块接口之间的连线就是数据线。数据通过数据线在模块之间传递。据通过数据线在模块之间传递。LabVIEWLabVIEW不像一般语言按照语句的顺序一行一行执不像一般语言按照语句的顺序一行一行执行,它依靠在数据
6、线上传递的数据来控制程序。行,它依靠在数据线上传递的数据来控制程序。对一个节点而言,只有当它的所有输入端口上的对一个节点而言,只有当它的所有输入端口上的数数据都成据都成为为有效数据有效数据时时,它才能被,它才能被执执行。行。当节点程序运行完毕后,它才把结果数据送给所有当节点程序运行完毕后,它才把结果数据送给所有的输出端口,使之成为有效数据,并且数据很快从的输出端口,使之成为有效数据,并且数据很快从源送到目的端口。源送到目的端口。可以通过加亮执行可以通过加亮执行 观察数据流是如何工作的。观察数据流是如何工作的。L01.viL01.viL02.viL02.vi (1)当你连线时,LabVIEW会提
7、示该接口的名称(2)只能在同一数据类型的端口之间连线,不同类型的数据连线的颜色和形状也不同。(3)错误的连线会表示成黑色虚线,这时你应将连线工具移动到它上面,LabVIEW会给出两端的数据类型信息,你可以检查并改正。(4)添加新的模块和连线可能会对已设置好的部分有影响,而且原来的错误连线也可能对新添加的连线有影响。(二)数据线:(三)数据类型:(三)数据类型:LabVIEW的基本数据类型有三种:Numeric(数值),Boolean(逻辑),String(字符串)Numeric类型的数据按精度有分若干种类型,其代表符号直观的表现其类型。可以在数值对象上点右键,通过弹出菜单中Representa
8、tion修改。提示:在流程图上,你会看到不同颜色的模块,不同颜色代表不同的数据类型,其定义与连线一致。(四)控制量与显示量在在LabVIEW中,一个数字量(中,一个数字量(numeric)、)、布尔量(布尔量(boolean)、字符量()、字符量(string)等)等都有控制量(都有控制量(control)和显示量)和显示量(indicator)的区别。)的区别。控制量:用于控制程序,它相当于仪器上控制量:用于控制程序,它相当于仪器上的控制按钮,如开关、旋钮等。的控制按钮,如开关、旋钮等。显示量:用于显示程序运行的结果,它相显示量:用于显示程序运行的结果,它相当于仪器上的显示部件,如显示屏、指
9、示当于仪器上的显示部件,如显示屏、指示灯等。灯等。三、工具模板三、工具模板 1、工具栏 :运行(:运行(RunRun),如果),如果VIVI有编译错误,此按钮将有编译错误,此按钮将变成变成 。:连续运行(:连续运行(Run Continuously)。)。:异常中止执行(:异常中止执行(Abort Execution)。)。:加亮加亮执执行(行(Hightlight ExecutionHightlight Execution),只),只有流程有流程图图中有。中有。此此时时,流程,流程图图中的数据中的数据变变亮,同亮,同时显时显示示VIVI执执行中的一些中行中的一些中间间数据。数据。提示:使用了
10、提示:使用了 会使会使LEBVIEWLEBVIEW占用大量占用大量CPUCPU,使使计计算机其他操作算机其他操作变变慢。建慢。建议议一般不要使用一般不要使用 。2.控制模板只能在前面板窗口中使用通过前面板窗口WindowsShow Controls Palette打开,也可以在前面板窗口中空白处单击右键打开。该模板用来给前面板设置各种所需的输出显示对象和输入控制对象。模块图标右上角有的表示有子选项板,单击模块图标可以访问子选项板。:数值量(:数值量(NumericNumeric),数值的控制和显示。包),数值的控制和显示。包含数字式、指针式显示表盘及各种输入框。(详细)含数字式、指针式显示表盘
11、及各种输入框。(详细):布尔量(Boolean),逻辑数值的控制和显示。包含各种布尔开关、按钮以及指示灯等。(详细):数组和簇(Array&Cluster),数组和簇的控制和显示。:图形(Graph),显示数据结果的趋势图和曲线图。3.函数模板:只能在流程图窗口中使用通过流程图窗口WindowShow Functions Palette打开,也可以在路程图面板中空白处单击右键打开。函数选项板提供创建流程图的工具。模块图标右上角有的表示有子选项板,单击模块图标可以访问子选项板。:结构(Structure),包括程序控制结构命令,例如循环控制等,以及全局变量和局部变量:数组(Array),包括数组
12、运算函数、数组转换函数,以及常数数组等。:比较(Comperation),包括各种比较运算函数,如大于、小于、等于。:数据采集(Data Acquisition),包括数据采集硬件的驱动,以及信号调理所需的各种功能模块。:信号分析(Analysis),信号发生、时域及频域分析功能模块及数学工具。提示:LabVIEW中,你可以随时获得帮助。用HelpShow Context Help打开帮助窗口(Context Help)快捷键为CtrlH,当把鼠标放到任何感兴趣的模块对象上时,就会在帮助窗口中显示相应的帮助信息。提示:在任何一个控制或是函数模块上单击右键,都会出现弹出菜单,通过弹出菜单可以方便
13、地对模块进行编辑。:操作(:操作(Operate ValueOperate Value),用于操作前面板的控制和显示。使),用于操作前面板的控制和显示。使用它向数字或字符串控制中键入值时,工具会变成标签工具。用它向数字或字符串控制中键入值时,工具会变成标签工具。:选择(:选择(Position/Size/SelectPosition/Size/Select),用于选择、移动或改变对象的),用于选择、移动或改变对象的大小。当它用于改变对象的连框大小时,会变成相应形状。大小。当它用于改变对象的连框大小时,会变成相应形状。:标签(:标签(Edit TextEdit Text),用于输入标签文本或者创
14、建自由标签。),用于输入标签文本或者创建自由标签。当创建自由标签时它会变成相应形状。当创建自由标签时它会变成相应形状。:连线(:连线(Connect WireConnect Wire),用于在流程图程序上连接对象。如),用于在流程图程序上连接对象。如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。示相应的数据类型。4.工具模板工具模板 通过WindowsShow Tools Palette打开和关闭。它提供了各种用于创建、修改和调试VI程序的工具。当从选项板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形
15、状。四、创建和编辑VI创建VI例:例:制作一个虚拟数字温度计,要求实现摄氏制作一个虚拟数字温度计,要求实现摄氏温度和华氏温度的转换。(温度和华氏温度的转换。(F=1.8T+32F=1.8T+32)选择创建一个新的选择创建一个新的VIVI创建创建VIVI前面板前面板创建控制量创建控制量创建指示量创建指示量创建框图程序创建框图程序创建节点创建节点连接框图程序窗口内的节点与端口连接框图程序窗口内的节点与端口保存保存VIVI编辑VI选择对象:单选、多选选择对象:单选、多选删除对象删除对象变更对象位置变更对象位置改变对象大小改变对象大小改变对象颜色:前景(边框)色、背景色改变对象颜色:前景(边框)色、背
16、景色对齐对象对齐对象分布对象分布对象改变对象在窗口中的前后次序改变对象在窗口中的前后次序设置对象的字体设置对象的字体在窗口中添加标签在窗口中添加标签五、运行与调试VI运行VI运行运行VIVI连续运行连续运行VIVI停止运行停止运行VIVI暂停运行暂停运行VIVI调试VI单步执行单步执行VIVI设置断点设置断点设置探针设置探针显示数据流动画显示数据流动画六、创建和调用SubVI创建SubVI创建创建VIVI图标图标创建连接端口创建连接端口定义输入输出端口的关联定义输入输出端口的关联设置设置SUbVISUbVI属性属性调用SubVIL03.vi七、常用术语英文名称英文名称英文名称英文名称中文术语中
17、文术语中文术语中文术语英文名称英文名称英文名称英文名称中文术语中文术语中文术语中文术语SubVISubVI子子子子VIVIFunction PaletteFunction Palette功能模板功能模板功能模板功能模板LLBsLLBsVIVI库库库库Control PaletteControl Palette控制模板控制模板控制模板控制模板ObjectsObjects对象对象对象对象Tools PaletteTools Palette工具模板工具模板工具模板工具模板PanelPanel前面板前面板前面板前面板TerminalTerminal端口端口端口端口BlockDiagramBlockDi
18、agram框图程序框图程序框图程序框图程序WiresWires数据连线数据连线数据连线数据连线ControlControl控制控制控制控制Bad WiresBad Wires错误数据连线错误数据连线错误数据连线错误数据连线Control&IndicatorControl&Indicator 前面板对象控件前面板对象控件前面板对象控件前面板对象控件NodeNode节点节点节点节点Palette Palette 模板模板模板模板Attribute/property NodeAttribute/property Node属性节点属性节点属性节点属性节点英文名称英文名称英文名称英文名称中文术语中文术语
19、中文术语中文术语英文名称英文名称英文名称英文名称中文术语中文术语中文术语中文术语IndicatorIndicator指示指示指示指示Local VariableLocal Variable本地变量本地变量本地变量本地变量FrameFrame框架框架框架框架Global VariableGlobal Variable全局变量全局变量全局变量全局变量ChannelChannel框架通道框架通道框架通道框架通道ConstantConstant常量常量常量常量IndexIndex索引索引索引索引Disable IndexingDisable Indexing无索引无索引无索引无索引Shift Regi
20、sterShift Register移位寄存器移位寄存器移位寄存器移位寄存器Enable IndexingEnable Indexing有索引有索引有索引有索引LabelLabel标签标签标签标签Read LocalRead Local本地读本地读本地读本地读ChartChart实时趋势图实时趋势图实时趋势图实时趋势图Write LocalWrite Local本地写本地写本地写本地写GraphGraph事后记录图事后记录图事后记录图事后记录图Read GlobalRead Global全局读全局读全局读全局读FunctionFunction功能功能功能功能Write GlobalWrite
21、Global全局写全局写全局写全局写StructureStructure结构结构结构结构LegendLegend图列图列图列图列ClusterCluster簇簇簇簇CursorCursor光标光标光标光标BundleBundle打包打包打包打包BoundsBounds边界范围边界范围边界范围边界范围UnbundleUnbundle解包解包解包解包Data Data Acquisition(DAQ)Acquisition(DAQ)数据采集数据采集数据采集数据采集RefNumRefNum枚举、标识号枚举、标识号枚举、标识号枚举、标识号工具工具模板模板操作工具:使用操作工具:使用该工具来操作前面板的
22、控制和工具来操作前面板的控制和显示。示。选择工具:用于工具:用于选择、移、移动或改或改变对象的大小。象的大小。标签工具:用于工具:用于输入入标签文本或者文本或者创建自由建自由标签。连线工具:用于在框工具:用于在框图程序上程序上连接接对象。象。对象象弹出菜出菜单工具:用鼠工具:用鼠标左左键可以可以弹出出对象的象的弹 出式菜出式菜单。漫游工具:使用漫游工具:使用该工具就可以不需要使用工具就可以不需要使用滚动条而条而 在窗口中漫游。在窗口中漫游。断点工具:使用断点工具:使用该工具在工具在VIVI的框的框图对象上象上设置断点。置断点。探探针工具:可以在框工具:可以在框图程序内的数据流程序内的数据流线上
23、上设置探置探针。颜色提取工具:使用色提取工具:使用该工具来提取工具来提取颜色用于色用于编辑其其他的他的对象。象。颜色工具:用来色工具:用来给对象定象定义颜色。色。控制模板控制模板数数值子模板:包含数子模板:包含数值的控制和的控制和显示。示。布布尔值子模子模块:逻辑数数值的控制和的控制和显示。示。字符串和路径子模板:字符串和文件路径的控制和字符串和路径子模板:字符串和文件路径的控制和显示。示。数数组和簇子模板:复合型数据和簇子模板:复合型数据类型的控制和型的控制和显示。示。列表子模板:菜列表子模板:菜单环和列表和列表栏的控制和的控制和显示。示。图形子模板:形子模板:显示数据示数据结果的果的趋势图
24、和曲和曲线图。环和枚和枚举子模板:菜子模板:菜单环和枚和枚举的控制和的控制和显示。示。控件容器控件容器库子模板:操作子模板:操作Tab ControlTab Control、SubPanelSubPanel、ActiveXActiveX等功能。等功能。I/O I/O 子模板子模板 :对输入、入、输出的控制和操作。出的控制和操作。对话控制子模板:用于控制子模板:用于输入入对话框的框的显示控制。示控制。版本控制子模板:版本控制子模板:实现对以往版本的兼容和以往版本的兼容和继承。承。Refnum Refnum 子模板子模板 :包含一些:包含一些RefnumRefnum控件。控件。装装饰子模板:用于子
25、模板:用于给前面板前面板进行装行装饰的各种的各种图形形对象。象。调用控制子模板:用控制子模板:调用存用存储在文件中的控制和在文件中的控制和显示的接口。示的接口。用用户控制子模板:用控制子模板:用户自定自定义的控制和的控制和显示。示。功能模板结结构子模板:包括程序控制构子模板:包括程序控制构子模板:包括程序控制构子模板:包括程序控制结结构命令,例如循构命令,例如循构命令,例如循构命令,例如循环环控制等,控制等,控制等,控制等,以及全局以及全局以及全局以及全局变变量和局部量和局部量和局部量和局部变变量。量。量。量。数数数数值值运算子模板:包括各种常用的数运算子模板:包括各种常用的数运算子模板:包括
26、各种常用的数运算子模板:包括各种常用的数值值运算符,如运算符,如运算符,如运算符,如+、-等;等;等;等;以及各种常以及各种常以及各种常以及各种常见见的数的数的数的数值值运算式,如运算式,如运算式,如运算式,如+1+1+1+1运算;运算;运算;运算;还还包括数制包括数制包括数制包括数制转转换换、三角函数、三角函数、三角函数、三角函数、对对数、复数等运算,以及各种数数、复数等运算,以及各种数数、复数等运算,以及各种数数、复数等运算,以及各种数值值常数。常数。常数。常数。布布布布尔逻辑尔逻辑子模板:包括各种子模板:包括各种子模板:包括各种子模板:包括各种逻辑逻辑运算符以及布运算符以及布运算符以及布
27、运算符以及布尔尔常数。常数。常数。常数。字符串运算子模板:包含各种字符串操作函数、数字符串运算子模板:包含各种字符串操作函数、数字符串运算子模板:包含各种字符串操作函数、数字符串运算子模板:包含各种字符串操作函数、数值值与字与字与字与字符串之符串之符串之符串之间间的的的的转换转换函数,以及字符函数,以及字符函数,以及字符函数,以及字符(串串串串)常数等。常数等。常数等。常数等。数数数数组组子模板:包括数子模板:包括数子模板:包括数子模板:包括数组组运算函数、数运算函数、数运算函数、数运算函数、数组转换组转换函数,以及常函数,以及常函数,以及常函数,以及常数数数数数数数数组组等。等。等。等。群子
28、模板。包括群的群子模板。包括群的群子模板。包括群的群子模板。包括群的处处理函数,以及群常数等。理函数,以及群常数等。理函数,以及群常数等。理函数,以及群常数等。这这里的群里的群里的群里的群相当于相当于相当于相当于C C C C语语言中的言中的言中的言中的结结构。构。构。构。比比比比较较子子子子模模模模板板板板:包包包包括括括括各各各各种种种种比比比比较较运运运运算算算算函函函函数数数数,如如如如大大大大于于于于、小小小小于于于于、等等等等于。于。于。于。时间时间和和和和对话对话框子模板:包括框子模板:包括框子模板:包括框子模板:包括对话对话框窗口、框窗口、框窗口、框窗口、时间时间和出和出和出和
29、出错处错处理理理理函数等。函数等。函数等。函数等。文件文件文件文件输输入入入入/输输出子模板:包括出子模板:包括出子模板:包括出子模板:包括处处理文件理文件理文件理文件输输入入入入/输输出的程序和出的程序和出的程序和出的程序和函数。函数。函数。函数。功能模板NI NI NI NI 测测量子模板量子模板量子模板量子模板:包括数据采集硬件的包括数据采集硬件的包括数据采集硬件的包括数据采集硬件的驱动驱动程序,以及信程序,以及信程序,以及信程序,以及信号号号号调调理所需的各种功能模理所需的各种功能模理所需的各种功能模理所需的各种功能模块块。波形子模板:包含了波形子模板:包含了波形子模板:包含了波形子模
30、板:包含了对对各种波形的控制。各种波形的控制。各种波形的控制。各种波形的控制。分析子模板:包括信号分析子模板:包括信号分析子模板:包括信号分析子模板:包括信号发发生、生、生、生、时时域及域及域及域及频频域分析功能模域分析功能模域分析功能模域分析功能模块块。仪仪器控制子模板:包括器控制子模板:包括器控制子模板:包括器控制子模板:包括GPIB(488GPIB(488GPIB(488GPIB(488、488.2)488.2)488.2)488.2)、串行、串行、串行、串行、VXIVXIVXIVXI仪仪器控制的程序和函数,以及器控制的程序和函数,以及器控制的程序和函数,以及器控制的程序和函数,以及VI
31、SAVISAVISAVISA的操作功能函数。的操作功能函数。的操作功能函数。的操作功能函数。应应用程序控制子模用程序控制子模用程序控制子模用程序控制子模块块:包括包括包括包括动态调动态调用用用用VIVIVIVI、标标准可准可准可准可执执行程序行程序行程序行程序的功能函数。的功能函数。的功能函数。的功能函数。图图形与声音子模形与声音子模形与声音子模形与声音子模块块:包括:包括:包括:包括3 3 3 3D D D D、OpenGLOpenGLOpenGLOpenGL、声音播放等功能声音播放等功能声音播放等功能声音播放等功能模模模模块块。通通通通讯讯子模板子模板子模板子模板:包括包括包括包括TCPT
32、CPTCPTCP、DDEDDEDDEDDE、ActiveXActiveXActiveXActiveX和和和和OLEOLEOLEOLE等功能的等功能的等功能的等功能的处处理理理理模模模模块块。文档生成子模板文档生成子模板文档生成子模板文档生成子模板:生成文档。生成文档。生成文档。生成文档。底底底底层层接口子模接口子模接口子模接口子模块块:包括:包括:包括:包括调调用用用用动态连动态连接接接接库库和和和和CINCINCINCIN节节点等功能点等功能点等功能点等功能的的的的处处理模理模理模理模块块。“选选择择VIVIVIVI子子子子程程程程序序序序”子子子子模模模模板板板板:包包包包括括括括一一一一个个个个对对话话框框框框,可可可可以以以以选选择择一个一个一个一个VIVIVIVI程序作程序作程序作程序作为为子程序(子程序(子程序(子程序(SUB VISUB VISUB VISUB VI)插入当前程序中。插入当前程序中。插入当前程序中。插入当前程序中。装装装装饰饰子模板:用于子模板:用于子模板:用于子模板:用于给给后面板后面板后面板后面板进进行装行装行装行装饰饰的各种的各种的各种的各种图图形形形形对对象。象。象。象。用用用用户户自定自定自定自定义义的子的子的子的子VIVIVIVI模板模板模板模板:用用用用户户自定自定自定自定义义的控制和的控制和的控制和的控制和显显示。示。示。示。