LabVIEW专栏八、类

该章目的是可以开发仪器类。

一、类的概述

一般来说类有三大特性,封装继承多态

  • 在实际项目中,最主要是继承多态,要搞清楚这两者的概念和在LabVIEW中是怎样应用的。
  • 在LabVIEW中,面向对象编程用到的就是LabVIEW的类,后缀是.lvclass。

以下以设备类的层级来说明,假设现在有三个类,分别是
①device:设备类
②serial_device:串口设备类
③network_device:网口设备类
串口设备类和网口设备类继承设备类,那么设备类是它们两个的父类,相对来说,它们两个是设备类的子类。

二、类的创建

①在创建了项目之后,就可以在项目中创建类:右键"我的电脑"→新建"类"在这里插入图片描述
②此处新建一个device类,默认指定LabVIEW对象为父类
在这里插入图片描述
③点击确定后,完成创建
在这里插入图片描述

三、继承

类的继承表现为子类继承父类相关的数据成员成员方法
父类比较抽象,用于给子类提供成员方法,供子类实现。
子类在父类的基础下,进行扩展,添加新的属性和方法,子类的功能必定比父类更丰富,更具有特殊性。
比如说一个通用的设备,作为设备的父类(以下称为设备类),一般会有四个方法,分别是连接,读,写,断开,在LabVIEW中称之为"动态方法"
网口设备类继承这个设备类,可以具体实现网口的连接,读,写,断开,LabVIEW中称之为"重写"
测试仪器类继承网口设备类,需要实现读取测试仪数据这个VI,这个就是子类独有的方法,这个方法不需要这个类重写的,在LabVIEW中称之为"静态方法"。
子类可以重写父类的"动态方法"和使用父类的"静态方法",也可以使用父类的"数据成员"。

1.1、静态方法

静态方法可供子类直接调用
创建静态方法的步骤是:
右键对应的类,此处是device.class→新建→点击"基于静态分配模板的VI"
在这里插入图片描述
此处新建一个静态方法为"报警.vi"
程序框图如下:
在这里插入图片描述

1.2、动态方法

动态方法可以供子类重写,设备一般会有运行,这个每个子类的实现都不同。
创建动态方法的步骤是:
①右键对应的类,此处是device.class→新建→点击"基于动态分配模板的VI"在这里插入图片描述
②名称改为"运行"
在这里插入图片描述

1.4、新建子类

1.4.1、新建时继承

新建一个串口设备类,名称为"serial_device.vi",指定继承父类"device"
在这里插入图片描述

1.4.2、设置继承

如果在新建一个类后,想重新设置继承关系,可以通过以下步骤:
①新建一个网口设备类"network_device",默认继承父类LabVIEW对象。
在这里插入图片描述
②右键"network_device"→点击"属性",弹窗
在这里插入图片描述
③选中"继承"→点击"修改父类"
在这里插入图片描述
④选中"device"→点击"继承所选类",则重新制定"device"为"network_device"的父类
在这里插入图片描述

1.4.3、子类调用父类的静态方法

新建"test.vi"
在这里插入图片描述
程序框图如下:
在这里插入图片描述
这里体现了子类可以直接使用父类的方法。
这里虽然调用的是"静态方法",但是实际无论是父类的"静态方法"还是"动态方法"都可以供子类调用

四、多态

多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。
重写的VI体现了类的多态。

4.1、子类重写父类动态方法

子类可以使用父类的静态VI和动态VI。
不可以再新建一个与父类静态VI同名的VI,意思就是不能重写父类的静态VI。
可以重写父类的动态VI。
这里重写"运行.vi",以"serial_device"为例。
①右键"serial_device"→点击"新建"→点击"用于重写的VI"
在这里插入图片描述
②弹窗,就会显示所有能重写的VI,也就是所有父类的动态方法
在这里插入图片描述
③新建"运行.vi"后,程序框图修改为:
在这里插入图片描述
④同样步骤,“network_device"重写"运行.vi”,程序框图如下:
在这里插入图片描述
至此,“serial_device"和"network_device"类都有了"运行.vi”

⑤新建一个"test1.vi"
在这里插入图片描述
程序框图如下:
在这里插入图片描述
运行后,两次弹窗,第一次是"串口运行",第二次是"网口运行":

在这里插入图片描述
在这里插入图片描述
多态体现在:

  • "serial_device"和"network_device"可以组成数组,这个数组是"device"数组
  • “device"数组进入for循环后,第一次执行的是"serial_device"的"运行.vi”,第二次执行的是"network_device"的"运行.vi"
  • 18
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LabVIEW是一款高效的图像处理软件,可以应用于缺陷检测分领域。在此领域中,LabVIEW主要有如下缺陷检测分: 1. 显著性缺陷检测:该方法主要通过检测图像中显著性缺陷来实现分。例如,可以通过算法检测图像中的明亮或黑暗斑点来检测缺陷,并利用LabVIEW进行分。 2. 形态缺陷检测:该方法主要通过检测缺陷的形状来实现分。例如,可以通过LabVIEW实现对缺陷形状进行匹配,进而分。 3. 纹理缺陷检测:该方法主要通过检测图像中的纹理缺陷来实现分。例如,可以利用图像纹理分析算法,通过LabVIEW实现纹理缺陷的检测和分。 4. 色彩缺陷检测:该方法主要通过检测图像中的色彩缺陷来实现分。例如,可以通过对图像颜色进行分析,通过LabVIEW实现色彩缺陷的检测和分。 总的来说,LabVIEW在缺陷检测分领域有着广泛的应用,可以通过不同的方法实现检测分,从而提高生产效率和质量。 ### 回答2: LabVIEW缺陷检测是一种常用的自动化检测技术,用于检测电子产品、机械制品、食品、药品等方面的缺陷。在进行缺陷检测时,需要对缺陷进行分,以便更准确地识别缺陷并采取相应的措施。 一般来说,LabVIEW缺陷检测分主要可以分为以下几个方面: 1. 基本的几何缺陷分:这些缺陷通常与制品的几何结构有关,如裂纹、夹杂、变形等。通过检测制品的物理形态,可以确定制品中是否存在这些缺陷,视情况采取相应的修复措施。 2. 表面缺陷分:这些缺陷通常指制品表面上的问题,如划痕、凹凸、氧化等。这些缺陷可能会导致制品的性能下降,因此需要及时修复。 3. 检测精度分:这些缺陷通常与检测仪器或程序本身有关,如测量误差、算法漏洞等。这些缺陷可能会导致检测结果不准确,需要及时修复检测程序或更换仪器。 4. 人为因素分:这些缺陷通常与制造人员或操作人员的错误有关,如装配不当、操作不当等。这些缺陷可能会导致制品的损坏或安全隐患,需要及时纠正操作方式或培训操作人员。 综上所述,LabVIEW缺陷检测分是一个比较复杂的过程,需要综合考虑多方面因素。只有掌握了分方法,并对不同型的缺陷采取相应的措施,才能从根本上提高制品的质量和生产效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值