Ben

Picture


        数据类型定义是一个非常棒的,但是往往被低估的
LabVIEW特性之一。它可以允许我们将你的应用程序中所有的数据类型都一手掌握!

Picture

        数据类型定义可以在大型开发程序中节约你大段的时间!我经历过一次没有用任何类型定义的大型程序开发,并由衷地发现,数据定义对节约时间与精力方面来说是多么的重要。如果你的应用程序大于
1个子VI,那么数据类型定义会让你真正达到事半功倍。

        类型定义在LabVIEW 中是以自定义控件的方式来实现的,它让你定义你在应用程序中会用到的任何数据类型。一旦某个类型被定义好后,并且在前面板或者程序框图中使 用,LabVIEW都会确保所有实例都与类型定义吻合。这也就意味着,一旦你编辑一个类型定义,并保存修改后,该类型定义的所有实例都会自动更新和改变。 这个在我们实现LabVIEW状态机时经常收益,用枚举型设定状态。

        同样,通过使用簇,你也可以建立一个合适的数据等级。如上图中可以看到,等级VI对话框中有一个专门的按钮让你可以看到应用程序中类型的定义情况。通过在一个应用中不断使用类型定义,一个开发者可以很方便地确认哪个VI会被某个定义改变影响。
Picture

        如
Demo 展示的那样(上图),我们可以看到最上层VI“Demo”需要知道所有子VI“Caller”所发生的动作造成的任何改变。我们也可以看到,“Chan Name”(通道名)的改动也会影响“Chan Info”(通道信息)的类型定义,但是他们不会影响到“Demo”这个最高层。我们不去了解代码的任何细节就可以确认这些关系,只需要从这个层次图中就 能看出。

         我们可以从打开一个控件编辑器开始说起:

Picture

         在选择“
Type Def.”之前请将该控件保存成另一个名字。

Picture
 
       你可以打开缺省的图标,选择大部分的内容,见下图。

Picture

         选择已存的图片,并将它放在左下角,如下图所示:

Picture
Picture

         由于该图标还保存着原始
LabVIEW的样子,从而可以很方便地在层次图中辨认出类型定义类。

Picture
Picture