精华内容
下载资源
问答
  • 随着LabVIEW编程应用增多,当打开较多的VI进行编辑时候,添加该对应的VI方法到程序后背板上操作显得繁琐(需要在Project浏览器或浏览器或库浏览器中找到该的方法VI,然后再拖到程序背板中)。而其他开发...

         随着LabVIEW的类编程应用增多,当打开较多的VI进行编辑时候,添加该类对应的VI方法到程序后背板上操作显得繁琐(需要在Project浏览器或类浏览器或库浏览器中找到该类的方法VI,然后再拖到程序背板中)。而其他开发环境(例如VisualStudio)有很好的智能感知功能,通过类实例可以快速识别类对应的方法,以供开发人员快速选择,以提高开发效率。

     

        这里介绍一个MGI提供的插件工具Class Method Browser,在目前的LabVIEW 开发环境中,提供这样的功能。开发人员在程序背板中选择了LabVIEW类的一个常量,或LV类的连线,或LV类的一个端点,通过QuickDrop插件的方式,可以快速调用出类方法浏览器这个窗口,窗口中列出该类对应的公有方法(包括父类的公有方法);

       

     

          开发人员选中LV类的一个常量,或LV类的连线,或LV类的一个端点,打开QuickDrop窗口(菜单栏View-QuickDrop),然后按下Ctl+C(默认快捷方式)调用插件Class Method Browser,显示出选中的类对应的可用方法;

     

    作为对ActorFramework的支持,如果选中的LV类继承于Actor的基类,调用出QuickDrop。

    此时按Ctl+C,显示该Actor子类可以使用的方法。按Ctl+Shift+C,显示该Actor子类关联的Message。

     

    快捷方式的更改:

        实践中,由于LabVIEW 的QuickDrop窗口的默认快捷方式ctl+space 和操作系统打开输入法的快捷方式冲突,可以通过LabVIEW options中的Menu Shortcut稍作更改,以方便通过快捷操作调用出QuickDrop(下图例子是修改成F3,按下F3 QuickDrop显示)

    通过QuickDrop中Configure,可以修改不同插件的快捷方式:

     

       

     

    下载:http://pan.baidu.com/s/1nvfOfih

    参考:http://www.mooregoodideas.com/class-method-browser/

    转载于:https://www.cnblogs.com/Fighters/p/LabVIEWClassMethodBrowser.html

    展开全文
  • labview中的.pdf

    2021-05-11 20:51:32
    labview中的相关介绍应用
  • labview实现图像分类

    2012-12-17 19:50:17
    基于SVM,利用labview实现肠癌图像的分类,附加了图像的数据和一张肠癌图像供大家参考
  • LabVIEW项目管理

    2021-01-19 23:11:32
    若创建一个新的LabVIEW类并将它设置为继承另一个类的数据及成员Ⅵ,这个新类将可使用它所继承的类中的“公共”及“保护”型的成员Ⅵ。这个新类还可添加自己的数据和成员Ⅵ以丰富其功能。  LabVIEW项目管理  ...
  • 一、概述 类是面向对象思想的体现。 二、实现 labview是面向数据编程的得力语言,得益于其数据流执行的方式...labview类的实例化需要创建队列,而这个队列里面的元素就是类的属性。由于队列里面只需要保留一个属性,所

    一、概述
    类是面向对象思想的体现。
    二、实现
    labview是面向数据编程的得力语言,得益于其数据流执行的方式,也因此相对于其他文本语言,实现类编程会比较麻烦一点,因为数据流是一往无前的,这样会导致在数据流后方修改了类的属性之后,会无法体现在类实例中。
    这个情况下,需要通过队列来实现,其实labview的操作者模式也给出了提示,通过队列来保存数据。即类需要一个创建过程,这个创建相当于文本语言的实例化。
    labview类的实例化需要创建队列,而这个队列里面的元素就是类的属性。由于队列里面只需要保留一个属性,所以可以指定队列元素只能有一个元素。那么在释放资源的时候,必须释放掉这个队列。也可以通过判断这个队列的状态来判断类是否被释放。那么需要实现的有create和destroy这两个vi。
    在执行类的方法,需要使用类的属性的时候,就通过预览队列元素来获取,而修改类的属性的时候就通过有损元素进队列来实现。那么需要实现的有getpara和setpara这两个vi。
    至此,类的基本vi已健全。这个时候labview就能像其他文本语言一样,可以实现各种设计模式,比如说便于批量创建的工厂模式。

    展开全文
  • LabVIEW色彩分类识别(基础篇—15)

    万次阅读 2021-08-07 18:18:42
    在对于每个新添加的彩色样本学习时,动态遮罩通过下述过程被创建或更新: 对于每个,基于其中每个样本的色调和饱和度的直方图,计算该的平均色调和饱和度直方图。 基于所有的平均色调和饱

    色彩分类(Color Classification)用于根据样本的颜色信息对其进行分类识别。与单色目标的分类识别类似,色彩分类过程也包括训练和分类两个阶段。

    色彩分类的特征提取过程并不直接使用色谱,而是基于HSL空间构建分辨率可选的(高、中、低3挡)的一维色彩特征向量。它先将彩色样本图像转换到HSL色彩空间,然后计算彩色样本的色调、饱和度和亮度分量的直方图。对于每个由单字节表示的颜色分量直方图,保留色调和饱和度分量直方图中的256个值对应的信息,但是只保留亮度分量直方图中8个亮度值相关的信息。通过这种对亮度分量直方图的抑制,色彩特征向量中的颜色信息会更突出,亮度信息会被抑制在8种灰度之内。将包含256个色调信息和256个饱和度信息的两个直方图,与包含8个亮度信息的直方图进行组合,即可得到高分辨率的色彩特征向量。

    中分辨率和低分辨率色彩特征向量是通过先提取高分辨率色彩特征向量,然后再对其应用动态遮罩(Dynamic Mask)获得的。动态遮罩基于参与训练的样本创建,用于从高分辨率色彩特征向量中选出最能代表某个类的色调和饱和度直方图信息。在对于每个新添加的彩色样本学习时,动态遮罩通过下述过程被创建或更新:

    • 对于每个类,基于其中每个样本的色调和饱和度的直方图,计算该类的平均色调和饱和度直方图。
    • 基于所有类的平均色调和饱
    展开全文
  • Labview 中的

    2015-10-23 13:47:00
    的结构和LabVIEW工程库是比较相近的:的名字也作为名字空间;也可以为中的VI设置访问权限等。在硬盘上被保存在一个.lvclass文件中。这个文件其实是一个XML格式的文本文件,它的格式与.lvlib类似。是一个...

    一、创建一个空的类

        在 LabVIEW 工程窗口里,鼠标右键菜单的新建栏中有一项,是创建类。类的结构和 LabVIEW 工程库是比较相近的:类的名字也作为名字空间;也可以为类中的 VI 设置访问权限等。类在硬盘上被保存在一个 .lvclass 文件中。这个文件其实是一个XML格式的文本文件,它的格式与 .lvlib 类似。
        类是一个抽象的定义,符合这个类的实体,叫做类的实例。这有点类似数据类型和数据之间的关系。 

        我们先来创建一个名叫 Animal 的类吧,用它来描述一些动物的属性和行为。现实中,通过特定的属性和方法(行为)来定义某一类事物;与之对应的 LabVIEW 中的概念是类的数据和VI
        动物类是一个类,符合这个概念的任何一个实体比如某一只小猫,一条小狗就是这个类的实例。程序中处理的都是这些实例。 


    1:创建类的菜单 

    二、类的属性

        在工程窗口中可以看到,每个类包含数个 VI 和一个与类同名的 .ctl 项。尽管它的面板与设置方法与用户自定义控件类似,但它实际上并不是一个独立的用户自定义控件。此外,类的.ctl项必须是一个 ClusterCluster 中的元素就是这个类所使用的数据,相当于 语言的类中的变量。通过改变 Cluster 中的元素的默认值,你可以在这里设置类的属性的初始值。 

        与 语言不同之处是,LabVIEW 类中数据只能是私有的。
        公有数据是最容易被滥用的。为了自己使用方便,非常专业的编程人员常常倾向于把类中的数据都设置为公有,可以方便随时随地访问它。但这样一来就完全破坏了类的封装性,不加控制地访问类中的数据增加了模块间的耦合度,使得可读性和可维护性都大大降低。
        通过类的方法访问类中数据就安全得多。比如我们可以在方法中添加对写入数据的合法性检查,在数据越界时报错等。
        这样也有利于调试。比如我们需要跟踪某个类的数据的变化,如果数据是公有的,程序运行时就无办法预知它是在那里被改变的。若数据是私有的,我们就可以确定它只在类中设置它的 VI 中被改变。只要在这个VI上加个断点,就可以在调试时,令程序在数据被改变之前暂停运行。
        LabVIEW 相当一部分用户是非计算机专业的人员。对于他们来说,概念越简单越好。类的数据强制为私有类型,可以避免他们接触更多的程序设计概念,而直接引导他们使用最佳的程序设计方法。 

        这样的设计方法唯一不足之处是:即便是的确需要被类之外的 VI 直接访问的数据,也必须给他们创建一个公用的方法,通过这个方法间接访问这个数据。幸好,类的右键菜单中有一项专门为数据创建访问 VI 的选项(VI for Data Member Access...)。通过它,可以便捷地创建出数据访问 VI 以供使用。 

        现在,回到我的 Animal 类:它有两个属性,分别是动物的年龄和颜色。于是我在 Cluster 中放了两个分别表示年龄和颜色的控件。 

      
    2:添加类的数据(类的属性) 

    三、类的方法

        鼠标右键点击在类上,就可以为类创建 VI,也就是类的方法。 

     
    3:创建新方法 

        在上图新建这一栏下可以看到很多条目:
        VI,就是指创建一个普通的 VI
        Virtual Folder,是文件夹。如果类中的方法很多,可以把它们归类到不同的文件夹中,便于管理。
        VI from Dynamic Dispatch Template,所创建出来的VI类似于 语言中的虚函数。应用程序再调用这个 VI 的时候,可能实际执行的是某个子类中的同名方法。
        VI from Static Dispatch Template,所创建的 VI 比普通 VI 多了类方法最常用的代码框架。程序员可以省去一些自己画错误处理选择框的时间。它与 VI from Dynamic Dispatch Template 唯一的区别在于:类输入输出接线端子(这个例子中是“Animal in/out”)不是动态调度的。(参见图4:动态调度的接线端子)
        VI for Data Member Access...,因为类的数据全部是私有的,所以需要借助公有VI来访问他们。这个选项可以帮你快速建立读写类中数据的VI
        VI for Override...,这个选项是专门给子类用的。用来创建覆盖父类方法的VI
        Control,创建用户自定义控件,这一条与类的概念不相关,仅为了方便用户。 


    4:动态调度的接线端子 

        在类的类的属性面板中可以设置类中每个 VI 是公有的还是私有的。这与工程库中 VI 的设置是类似的。 

        可能你已经发现了,与其它语言不同,LabVIEW 中的类没有构造和析构函数。构造函数在一个类的实例(数据为这个类的一个变量)生成时被自动调用,析构函数在它被销毁时自动调用。
        在 语言中,你可以明确地知道一个变量的生存周期。全局变量在程序启动时被创建,程序结束时被销毁;函数的局部变量在函数被调用时创建,退出函数时销毁,等等。这些都是程序在运行时的行为。但是在 LabVIEW 中,变量的生存周期不一定是在运行过程中。LabVIEW 的变量通常对应有一个前面板上的控件,控件包含的数据在编辑状态下就已存在了,程序运行结束也不会被销毁。这就使得构造函数和析构函数失去了原有的意义。比如,构造函数和析构函数一个最常见的用法是在构造函数内预留某一资源,以供类中的方法使用,在析构函数内释放这个资源。LabVIEW 若有类似功能,则VI被打开时,资源就被霸占住了,这在逻辑上是错误的。
        没有构造函数和析构函数,我们可以把预留释放资源一类的工作放在普通的类的方法中实现。只是在使用这个类的实例的时候,需要程序员自己调用这些方法。 

    四、类的继承

        为了让演示程序更有意义,再分别为狗和鸡创建两个类。这两个类应为动物类的子类。进入类的属性对话框,在 Inheritance 一栏中选择animal.lvclass作为它的父类,这两个类便成了animal的子类。可以注意到,LabVIEW 中所有的类都有一个共同的父类“LabVIEW Objet”。 

       
    5:设置类的继承关系 

        在这个设置面板上可以看到,LabVIEW 所有的类都有一个共同的祖先类 LabVIEW ObjectLabVIEW Object 是个空类,既没有方法也没有属性。那么它存在的意义是什么呢?
        这要先介绍一下泛型编程的概念。理论上,设计程序模块时,越抽象越好。这样同一段代码可以被应用到更多的具体问题中去。本着这个原则,程序中算法和数据类型应该是独立的。比如,一段排序算法的代码被完成后,应当可以被应用在各种数据类型上,既可以用来给一组整数排序,也可以给一组字符串排序。这就是泛型编程。
        LabVIEW 暂时支持泛型编程,一个算法 VI 写好,它作为传递参数的控件的数据类型也就定死了。不能够直接使用在其它数据类型上。但是类的实例作为一个数据在 LabVIEW 不同节点间传递时,它的数据类型可以在它本身的数据类型,以及它的任意一个祖先类之间进行切换。比如在处理一只狗小狗的时候,可以把它当作是狗,也可把它当作是动物,还可以把它当作是 LabVIEW Object
        我们再实现一个算法的时候,使用 LabVIEW Object 作为它的参数的数据类型。这样这个算法就可以被应用到人和一种的数据上。Java,就是采用了类似的机制来实现泛型编程的。但是 LabVIEW 并没有因此获得泛型编程的能力。与 Java 不同,LabVIEW 不能直接把一个普通数据类型(比如整数,字符串等)转换成某种。所以,LabVIEW 编写的算法还是不能支持任何数据类型。 

    五、其它辅助性设置

        设置好继承关系,再为子类创建几个属性和方法,我们的演示类就搭建完成了。为了让应用程序美观易读,我们可以修改这几个类的数据线外观。否则,所有的类的数据线千篇一律,很容易就混淆了。数据线的外观也是在类的属性对话框中配置的。 


    6:配置类数据线的外观 

    六、演示程序

        我们再简要介绍一下类的多态:在动物类中先用虚函数方法(VI from Dynamic Dispatch Template)创建一个叫唤方法:Make Sound.vi。因为狗和鸡的叫声不一样。因此,在两个子类中,我们用 VI for Override... 重新实现这个方法,使其覆盖父类中的叫唤。应用程序中有几个不同动物的实例,程序的任务就是让它们每个实例叫一声。借助类的多态特性,应用程序不需要判断实例数据所属的子类,再根据不同子类编写不同代码的。它可以把所有实例用他们共同的父类的类型来传递,代码中也只是用父类的方法。而程序执行到父类的方法时,会自动执行已经覆盖了它的相应的子类的方法。从而让不同的动物发出不同的叫声。 


    7:动态调用的示例 

     

    转载于:https://www.cnblogs.com/lvdongjie/p/4904322.html

    展开全文
  • 每个LabVIEW类都包含了数据和方法两部分。...使用LabVIEW类的应用程序开发人员(即LabVIEW类用户)可在LabVIEW类之外创建一个Ⅵ,在这个Ⅵ的程序框图中,将LabVIEW类中“公共”型的成员Ⅵ当作子Ⅵ来调用。通过调
  • LabVIEW的属性-创建及读写

    千次阅读 2016-09-21 21:38:11
    通过属性节点来访问LabVIEW的数据成员。
  • LabVIEW图形数据,根据输入比例对图像进行缩放,
  •  与其他面向对象语言(如C++和Java)一样,LabVIEW也实现面向对象的编程,包含结构、封装、继承等概念,可创建更易维护的代码,令代码的修改不影响应用程序中的其他代码。LabVIEW面向对象编程
  • 目标对象分类是机器视觉领域非常活跃的研究方向,在工业领域有极其广泛的应用,例如对生产线上的零件按形状、颜色等特征分拣,统计具有某种特征的零件,或通过辨别目标的类别进行质量检测等。
  • 81.LabVIEW 中的.doc
  • LabVIEW自定义布尔控件合集(~1000种).rar_labview自定义控件下载,labview自定义布尔图片-其它代码资源-CSDN下载 《Labview案例实战》-可乐自动贩售机 进入自定义控件编辑界面: 右键单击前面板上要自定义的...
  • 项目描述请参见:https://handsome-man.blog.csdn.net/article/details/119490649
  • 每个LabVIEW类都包含了数据和方法两部分。...使用LabVIEW类的应用程序开发人员(即LabVIEW类用户)可在LabVIEW类之外创建一个Ⅵ,在这个Ⅵ的程序框图中,将LabVIEW类中“公共”型的成员Ⅵ当作子Ⅵ来调用。通过调
  • LabVIEW不各份项目(.lvproj)、项目库(.lvlib)、XControls(.xctl)和LabVIEW类(.lvclass)。  如果LabVIEW在非正常关闭或系统故障前保存了文件,下次启用LabVIEW时将出现选择恢复文件窗口。选中要恢复的...
  • labview编写的计算器 与别人的计算器只注重界面不同 该计算器主要注重算法 当你输入一个加减乘除的公式时(暂不支持括号) 会求出运算结果
  • 若创建一个新的LabVIEW类并将它设置为继承另一个类的数据及成员Ⅵ,这个新类将可使用它所继承的类中的“公共”及“保护”型的成员Ⅵ。这个新类还可添加自己的数据和成员Ⅵ以丰富其功能。  LabVIEW项目管理  ...
  • LabVIEW2020版本新推出了接口的概念,本文主要介绍普通与接口的区别和用法。 要理解接口,应该从思想和用法两个层面解释。 思想层面: LabVIEW的接口与其他编程语言里的接口概念是类似的。一个对象...
  • LabVIEW

    千次阅读 2010-02-03 22:23:00
    新公司用主要用C Sharp做程序开发,今后估计LabVIEW用的会比较少了。前一段时间写了一个LabVIEW和StarUML的接口程序,初步的程序已经完成了,估计以后也不会有时间和精力去完善了。现在将程序共享出来,希望对其他人...
  • labview例子

    2017-07-14 15:48:09
    labview例子
  • Labview资料

    2018-04-20 11:50:54
    Labview讲解。虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和仪器的密切结合 是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器, 其典型的例子就是所谓智能化的...
  • LABVIEW在电子实验课程中的应用;内容提要; LABVIEW 美国国家仪器研发有限公司NI;传统仪器 厂商定义功能;虚拟微分积分器的前面板;虚拟微分积分器的程序框图;正弦信号的微分积分效果;三八译码器的程序框图;三八译码...
  • 范例地址:D:\Program Files (x86)\National Instruments\LabVIEW 2015\examples\Object-Oriented Programming\Access Scope范例理解:1.不属于任何一个的VI1.1 可以访问中的Public属性的VI1.2 不可以访问Friend...
  • Labview 属性节点讲解

    万次阅读 2016-07-13 19:14:10
    通过属性节点对本地或远程应用程序实例、VI或对象获取或设置属性和方法也可通过属性节点发访问LabVIEW类的私有数据。 属性节点可自动调整为用户所引用的对象的类。LabVIEW的属性节点可访问XML属性、VISA属性、.NET...
  • labview控件

    2016-12-18 20:56:16
    实际开发项目中用到的Labview图形显示控件,功能强大,效率高,注册后即可使用。
  • LabVIEW不各份项目(.lvproj)、项目库(.lvlib)、XControls(.xctl)和LabVIEW类(.lvclass)。  如果LabVIEW在非正常关闭或系统故障前保存了文件,下次启用LabVIEW时将出现选择恢复文件窗口。选中要恢复的...
  • labview入门

    2021-01-16 18:10:57
    labview的核心是数据流,直接面向工程的。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,493
精华内容 1,397
关键字:

labview类