LVOOP(一)、如何创建类、属性和方法

  1. 如何创建类、属性和方法

    LabVIEW类包括数据、属性和方法。其中数据是私有的,只能通过属性或方法来访问。

    属性和方法的区别:属性强调的是静态的,而方法强调的是动态的,有很多时候完成的功能相同,具体用属性还是方法,因人而异。

    下面以《LabVIEW宝典》第10章中的一个例子来说明类的创建和使用方法(本人初学,先照葫芦画瓢吧):

    该例子实现的功能是一个定时器,当设置的时间到时,输出时间到脉冲,并可以对该定时器复位。

  2. 创建类

    LabVIEW中的类是通过项目浏览器创建的。首先新建一个项目,如下图所示:

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

    LVOOP(一)、如何创建类、属性和方法_第1张图片

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

    LVOOP(一)、如何创建类、属性和方法_第2张图片

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

    LVOOP(一)、如何创建类、属性和方法_第3张图片

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

  • 开始时间:定时器的开始时间;
  • 设定时间:定时器设定的时间长度;
  • 经历时间:定时器从"开始时间"到现在经历的时间;
  • 定时到:如果"现在时间"-"开始时间"大于设定时间,则定时到。
  1. 创建属性

    新建一个虚拟文件夹用于保存属性。右键单击"定时器-2.lvclass"——新建——用于数据成员访问的vi,该类的数据成员全部显示出来:

    LVOOP(一)、如何创建类、属性和方法_第4张图片

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

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

    LVOOP(一)、如何创建类、属性和方法_第5张图片

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

    LVOOP(一)、如何创建类、属性和方法_第6张图片

  2. 创建方法

    下面为该类创建3个方法,分别是读取定时器、复位定时器和设置定时器。先创建一个虚拟文件夹用于保存方法。

  3. 创建读取定时器方法

    创建类的方法也是通过右键单击"定时器-2.lvclass"实现的,可以新建"基于动态模板分配的vi"或"基于静态模板分配的vi"。"基于动态模板分配的vi"可以在继承中重写,以实现vi的多态。"基于静态模板分配的vi"只能继承,不能改写。

    选择"基于动态模板分配的vi",创建读取定时器方法的程序框图如下:

    LVOOP(一)、如何创建类、属性和方法_第7张图片

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

  4. 创建复位定时器的方法

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

    LVOOP(一)、如何创建类、属性和方法_第8张图片

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

  5. 设定定时器方法

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

    LVOOP(一)、如何创建类、属性和方法_第9张图片

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

    LVOOP(一)、如何创建类、属性和方法_第10张图片

  6. 测试

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

    LVOOP(一)、如何创建类、属性和方法_第11张图片

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

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

    LVOOP(一)、如何创建类、属性和方法_第12张图片

你可能感兴趣的:(LabVIEW-GOOP)