版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
机器视觉技术1——程光主编李一男副主编2目录1机器视觉概述2机器视觉系统构成3NI视觉平台的搭建4LabVIEW编程环境与基本操作5LabVIEW编程结构6LabVIEW数组、簇、图形编程7字符串、文件I/O和属性节点编程8图像的采集保存与读取9相机标定10图像处理11视觉分拣12基于OpenCV的视觉分拣第四章LabVIEW编程环境与基本操作4.1什么是虚拟仪器3虚拟仪器(VirtualInstrument)是基于计算机的仪器,主要指将仪器装入计算机,以通用的计算机硬件及操作为依托,实现各种仪器功能。虚拟仪器测试系统可以由被测对象、信号调理、数据采集卡、数据处理几个模块组成,最后输入计算机的虚拟仪器面板。相对于传统的设备,虚拟仪器是个性化的,用户根据自己的实际需求设计实现;同时它的性价比更高,不用购置若干实体的设备来构造系统,但由于依赖计算机来实现,所以导致构建的虚拟仪器或计算机测试系统的性能会受到一定的限制。目前虚拟仪器技术已经广泛应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各个领域,而构造虚拟仪器使用较为广泛的语言是美国NI公司的LabVIEW。相对于传统的设备,虚拟仪器是个性化的,用户根据自己的实际需求设计实现;同时它的性价比更高,不用购置若干实体的设备来构造系统,但由于依赖计算机来实现,所以导致构建的虚拟仪器或计算机测试系统的性能会受到一定的限制。第四章LabVIEW编程环境与基本操作4.2什么是LabVIEW4
LabVIEW(LaboratoryVirtualinstrumentEngineering)即实验室虚拟仪器集成环境的简称(LaboratoryVirtualInstrumentEngineeringWorkbench),是由美国国家仪器公司(NationalInstruments,NI)创立的一个功能强大而又灵活的仪器和分析软件应用开发工具。LabVIEW是一种图形化的编程语言,通常称为G编程语言,不同于传统的语句编程语言,G语言编程是通过图形符号描述程序的过程。应用LabVIEW编制的程序简称VI,程序由前面板和程序框图两部分组成,前面板模拟真实仪器的面板,它的外观和操作方式都与示波器、万用表等实际仪器类似。每一个前面板都有相应的程序框图,即用图形编程语言编写的程序源代码。LabVIEW提供了大量的虚拟仪器和函数库来帮助编程,还包含了特殊的应用库,用于实现数据采集、文件输入/输出、GPIB和串行仪器控制及数据分析,同时也提供常规的程序调试工具,可以快速设置断点、单步执行程序及动画模拟执行,以便观察数据的流程。第四章LabVIEW编程环境与基本操作4.3LabVIEW的编程环境5LabVIEW软件用“VI”作为图形化程序的简称,子程序即称为“子VI”,每个程序都包含类似仪器调节控制用的“前面板(frontpanel)”和类似内部处理连接线路的“程序框图(blockdiagram)”两部分。当点击启动画面的“新建VI”菜单时,可以建立一个空白的程序,即VI。当点击“打开”菜单时,可以浏览打开一个已有的VI。使用新建或打开菜单进入VI界面后,即可同时打开两个窗口:“前面板”和“程序框图”。第四章LabVIEW编程环境与基本操作4.3LabVIEW的编程环境6(1)前面板和控件选板前面板是VI代码与仪器使用者的接口,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。前面板和控件选板如图4-2所示。图4-2前面板和控件选板第四章LabVIEW编程环境与基本操作4.3LabVIEW的编程环境7前面板窗口的工具栏包括用来控制VI的命令按钮和状态指示器,各功能介绍如下:表4-1前面板工具栏功能说明第四章LabVIEW编程环境与基本操作4.3LabVIEW的编程环境8控件选板(Controls)在前面板为当前窗口时,单击鼠标右键可以调用出来,该选板包含创建前面板时可使用的全部对象。控件选板子模板功能简要介绍如表4-2所述。表4-2控件选板子模板功能说明第四章LabVIEW编程环境与基本操作4.3LabVIEW的编程环境9(2)程序框图和函数选板程序框图包含了以图形方式表示的程序代码。用户在程序框图中对VI编程,控制和处理定义在前面板上的输入和输出控件,界面如图4-4所示。图4-3程序框图和函数选板第四章LabVIEW编程环境与基本操作4.3LabVIEW的编程环境10程序框图的工具栏和前面板的工具栏大多数都相同,另外还增加了5个调试按钮。功能如表4-3所示。表4-3程序框图工具栏说明第四章LabVIEW编程环境与基本操作4.3LabVIEW的编程环境11函数选板在程序框图为当前窗口时,单击鼠标右键可以调用出来,该选项板包含创建程序框图时可使用的全部对象。函数选板子模板功能简要介绍如表4-4所述。表4-4函数选板子模板功能说明第四章LabVIEW编程环境与基本操作4.3LabVIEW的编程环境12函数选板在程序框图为当前窗口时,单击鼠标右键可以调用出来,该选项板包含创建程序框图时可使用的全部对象。函数选板子模板功能简要介绍如表4-4所述。表4-4函数选板子模板功能说明(接上表)第四章LabVIEW编程环境与基本操作4.3LabVIEW的编程环境13(3)工具选板表无论在前面板还是程序框图,都可以调用工具选板,用于创建、修改和调试VI程序。如果该模板没有出现,则可以在Windows菜单下选择ShowToolsPalette命令以显示该模板。当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。工具选板如图4-4所示,功能说明如表4-5所示。图4-4工具选板表4-5工具选板功能说明第四章LabVIEW编程环境与基本操作4.4LabVIEW程序设计过程14一个完整的VI程序由3部分组成:前面板、程序框图和图标/连接口,因此一个VI程序的设计主要包括前面板的设计、程序框图的设计以及程序的调试。用户在使用虚拟仪器时,对仪器的操作和测试结果的观察,都是在前面板中进行的,因此应根据实际中的仪器面板以及该仪器所能实现的功能来设计前面板。前面板主要由输入控制器(Control)和输出指示器(Indicate)组成。用户可以利用控件选板以及工具选板来添加输入控制器和输出指示器(添加后,会在程序框图窗口中出现对应的控制器和指示器的端子),使用控制器可以输入数据到程序中,而指示器则可用来显示程序产生的结果。程序框图相当于程序的源代码,只有创建了程序框图以后,该程序才能真正运行。对程序框图的设计主要是对节点、数据端口和连线的设计。第四章LabVIEW编程环境与基本操作4.4LabVIEW程序设计过程15节点是程序执行的元素,类似于文本程序中的语句、函数或者子程序。LabVIEW共有4种节点类型:函数,VI子程序,结构和代码接口(CINS)。端口是数据在程序框图部分和前面板之间传输的接口,以及数据在程序框图的节点之间传输的接口。端口类似于文本程序中的参数和常数。连线是端口间的数据通道,类似于普通程序中的变量。数据是单向流动的,从源端口向一个或多个目的端口流动。当前面板和程序框图设计好以后,我们还需要对程序进行调试,以排除程序执行过程中可能遇到的错误。程序的调试方法主要有:第四章LabVIEW编程环境与基本操作4.4LabVIEW程序设计过程16(1)找出错误如果一个VI程序不能执行,运行按钮将会显示为一个折断的箭头。单击该按钮,则会弹出一个列有错误清单的对话框,选择任何一个所列出的错误,单击【ShowError】按钮就会显示出错的对象或端口。(2)设置执行程序高亮——在执行前单击高亮按钮,该按钮图标会变成高亮形式。这种执行方式一般用于单步模式,来跟踪程序框图中的数据流动。(3)VI程序的单步执行——为了达到调试程序的目的,用户也许希望程序框图一个节点一个节点地执行。要设置单步执行模式,只需单击单步按钮。这样下一个将要执行的节点就会闪烁,指示它将被执行。用户也可以再次单击单步按钮,这样程序将会变成连续执行方式。第四章LabVIEW编程环境与基本操作4.4LabVIEW程序设计过程17(4)探针——从工具模板中选择探针工具,将探针置于某根连线上,可以用来查看运行过程中数据流在该连线时的数据。(5)断点——从工具模板中选择断点工具,可以在程序的某处暂停程序执行,用探针或者单步方式查看数据。使用断点工具时,单击希望设置或清除断点的地方,断点的显示对于节点或者框图表示为红框,连线表示为红点。下面从VI和子VI的创建和调用例子来说明LabVIEW的程序设计过程。第四章LabVIEW编程环境与基本操作4.4.1创建VI18我们通过建立一个仿真测量温度的程序来说明如何创建一个VI。要求如下:新建一个空白VI,手动调节温度输入值,用温度指示器显示温度值(如图4-5),进行摄氏华氏温度转化,保存文件名为tem1.vi。具体实现步骤如下:图4-5仿真温度测量前面板(1)打开一个新的前面板窗口。(2)设计前面板。确定程序需要输入控制器(Control)和显示指示器(Indicate)的数量和类型。本实例中,需要两个输入控制器,分别是代表手动温度输入的数值型控件和选择摄氏和华氏显示方式的布尔型控件(数据类型后面会介绍);需要两个输出指示器,分别是用温度计显示温度的数值型控件和直接显示当前温度值的数值型控件。在前面板的控件选板选择相应类型的控制器,布置前面板。第四章LabVIEW编程环境与基本操作4.4.1创建VI19图4-5仿真温度测量前面板(3)设计程序框图。打开程序框图,在函数选板上选择需要的对象,用连线工具将各对象按图4-6所示连线。其中乘法函数和加法函数在Numeric中;其中的为选择函数,在Comparison中可以找到。对于不熟悉或者不会用的函数,从Windows菜单下选择了ShowHelpWindow功能或使用快捷键”Ctrl+H”后,把光标放在流程图程序的子程序(SubVI)或图标上,就会显示相应的帮助信息,部分函数还有应用范例供大家参考学习。(4)把该VI保存为temp1.vi。(5)在前面板中,单击Run(运行)按钮,运行该VI。注意温度的数值都显示在前面板中。(6)关闭该VI。图4-6仿真温度测量程序框图第四章LabVIEW编程环境与基本操作4.4.2子VI的创建及调用20在LabVIEW中,每个VI程序都可以将其创建成子程序,以使其他程序调用。在程序框图中打开Function里的SelectaVI….,就可以选择要调用的子VI。构造一个子VI主要的工作就是定义它的图标和联接器。(1)定义图标。每个VI在前面板和程序框图窗口的右上角都显示了一个默认的图标。用鼠标右键单击面板窗口的右上角的默认图标即可启动图标编辑器对图标进行个性化设计。(2)设置联接器。若想创建成为子VI,被别的函数调用,必须设置好联接器。联接器是数据VI的输入输出接口,可以通过选择VI的端子数并为每个端子指定对应的前面板对象以定义联接器。具体步骤如下:第四章LabVIEW编程环境与基本操作4.4.2子VI的创建及调用21右键单击前面板中右上角的图标,从弹出的快捷菜单中选择显示连接器选项。此时,前面板窗口右上角的图标由接线端口取代,每个小矩形框代表一个连线的端口,这些端口用来将数据输入到VI程序中或将VI程序的数据输出。LabVIEW将会根据控制器和指示器的数量选择一种接线端口模式。把接线端口分配给相应的控制器和指示器。使用连线工具,在左边的接线端口框内单击鼠标,则端口将会变黑。再单击控制器,一个闪烁的虚线框将包围住该控制器。此时端口的颜色也会根据控制器的类型做相应的变换。现在单击右边的接线端口,使它变黑,再单击相应的指示器,这样就创立了该指示器与相应端口的连接。保存此程序,以后我们就可以对其像子程序一样地调用了。第四章LabVIEW编程环境与基本操作4.4.2子VI的创建及调用22下面我们把上节tem1.vi转换为子VI。要求:编辑tem1.vi的图标为。将练习程序tem1.vi定义为子程序,并设置连接器。在新建程序tem2.vi中调用tem1.vi子程序。具体
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026住院医师规培-广西-广西住院医师规培(医学检验科)历年参考题库含答案详解
- 员工关系管理与企业文化
- 2026事业单位笔试-广东-广东肿瘤科(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-内蒙古-内蒙古卫生检验与检疫技术(医疗招聘)历年参考题库含答案详解
- 2026事业单位工勤技能-青海-青海食品检验工一级(高级技师)历年参考题库含答案详解
- 2026事业单位工勤技能-重庆-重庆热力运行工二级(技师)历年参考题库含答案详解
- 2026事业单位工勤技能-贵州-贵州理疗技术员四级(中级工)历年参考题库含答案详解
- 2026年秋高二年级教导主任专题培训课件:班级管理的“细”与“实”
- 医学科学研究方法与思维方式
- 肺癌的诊断和治疗近展
- 酒店总经理转正述职报告
- 变电站继电保护培训课件
- 手术患者术前准备培训
- 更换风机外壳的施工方案
- 专题01 二次函数综合题角相关(7种类型35道)(压轴题专项训练重庆专用)(解析版)
- 2026中国移动校园招聘备考考试题库附答案解析
- 2025银行内部审计招聘面试题及答案
- 侯德榜简介教学课件
- 评标保密协议范本(2025版)
- 飞机结构与系统模块B737飞机液压系统27课件
- 地下室互换合同范本
评论
0/150
提交评论