1. 如何创建类、属性和方法 LabVIEW类包括数据、属性和方法。其中数据是私有的,只能通过属性或方法来访问。
    属性和方法的区别:属性强调的是静态的,而方法强调的是动态的,有很多时候完成的功能相同,具体用属性还是方法,因人而异。
    下面以《LabVIEW宝典》第10章中的一个例子来说明类的创建和使用方法(本人初学,先照葫芦画瓢吧):
    该例子实现的功能是一个定时器,当设置的时间到时,输出时间到脉冲,并可以对该定时器复位。
  2. 创建类LabVIEW中的类是通过项目浏览器创建的。首先新建一个项目,如下图所示:

右键单击"我的电脑"——新建——类,在类名称下输入"定时器-2":

lua创建类 创建类的方法_右键

在创建完类后,自动创建一个ctl型控件,该控件用于保存类内部的数据,该数据是私有类型的,需要通过属性或方法来访问。

lua创建类 创建类的方法_数据_02

修改改数据簇如下图所示:

lua创建类 创建类的方法_LabVIEW-GOOP_03

该数据簇中各个数据的功能如下所示:

  • 开始时间:定时器的开始时间;
  • 设定时间:定时器设定的时间长度;
  • 经历时间:定时器从"开始时间"到现在经历的时间;
  • 定时到:如果"现在时间"-"开始时间"大于设定时间,则定时到。
  1. 创建属性新建一个虚拟文件夹用于保存属性。右键单击"定时器-2.lvclass"——新建——用于数据成员访问的vi,该类的数据成员全部显示出来:

在该界面中可以创建2中访问器:动态访问器和静态访问器。动态访问器创建的属性可以被继承的类重写,静态访问器创建的属性不能被重写。

为"开始时间"创建动态访问器,权限选择"读取",创建后的程序如下图所示,该程序类似于簇的解捆绑操作。

lua创建类 创建类的方法_右键_04

创建完"读取开始时间-2"的属性后的项目视图如下图所示:

lua创建类 创建类的方法_LabVIEW_05

  1. 创建方法 下面为该类创建3个方法,分别是读取定时器、复位定时器和设置定时器。先创建一个虚拟文件夹用于保存方法。
  2. 创建读取定时器方法创建类的方法也是通过右键单击"定时器-2.lvclass"实现的,可以新建"基于动态模板分配的vi"或"基于静态模板分配的vi"。"基于动态模板分配的vi"可以在继承中重写,以实现vi的多态。"基于静态模板分配的vi"只能继承,不能改写。
    选择"基于动态模板分配的vi",创建读取定时器方法的程序框图如下:

该程序实现的功能:当前时间与开始时间的差大于设定时间,输出时间到和定时到脉冲。

  1. 创建复位定时器的方法创建复位定时器的方法和创建读取定时器的方法类似,其程序框图如下:

该程序将开始时间设置为当前时间、经历时间为0,定时到为F。

  1. 设定定时器方法设定定时器的程序如下图所示,设定时间后,复位定时器。

属性、方法设置完后的项目如下图所示:

lua创建类 创建类的方法_LabVIEW-GOOP_06

  1. 测试新建一个名称为"测试.vi"的程序用于测试运行效果,程序框图如下图所示:

程序首先创建了5个对象,并设置定时器;然后在后面的循环中读取定时器,如果时间到则复位定时器。

测试程序的前面板如下图所示:

lua创建类 创建类的方法_LabVIEW-GOOP_07