您的位置 首页 应用

Function Global 与Action Engine

ActionEngine的概念在LV的书籍中是看不到,国外一些LV高手创造了这个概念暂时翻译成动作器吧任何语言编程,都有数据封装的问题在面向对

Action Engine的概念在LV的书本中是看不到,国外一些LV高手发明了这个概念.暂时翻译成动作器吧.

任何言语编程,都有数据封装的问题.在面向对象的编程言语中处处可见.LABVIEW8.X增加了一部分类的概念,对数据封装天然就简略多了.这是别的一个论题.

一个Action Engine,我的了解是一个黑匣子操作,它能够承受外部指令并主动自行相应的操作,指令的详细履行进程外部是看不到了,类似于类中的特点和办法的概念.

比方开车,作为一个司机,只需求用方向盘操控方向,用油门和档位来操控速度,详细是怎么完成的,司机是并不关怀的,所以详细完成进程对司机来说是不透明的,这便是动作器的意义.

就实质来说,是根据音讯发送的机制.

windows便是典型的选用音讯来发送指令的.

LRESULT SendMessage(
HWND hWnd, // 方针窗口句柄
UINT Msg, // 被发送的音讯
WPARAM wParam, // 第一个音讯参数
LPARAM lParam // 第二个音讯参数
);

hWnd—是承受音讯的窗口句柄 Msg—-音讯(指令), wParam 和lParam是要传递的数据.

实践所谓Action Engine也是根据这个原理的.

举一个实践运用问题来进一步阐明.为了简略,音讯只选用指令办法,不传递任何数据.

一般的数据采集卡都有一个8位的数字量输出,每一位对应一个外部的输出点,操控电机,方向阀等.

咱们别离命名为:bit 0—>Relay 0,1—>Relay1 …..7—Relay 7,咱们需求对其间每一位都有置0和置1的功用.

可编制如下的指令组:

Relay0 On

Relay0 Off

Port On (悉数On)

Port Off(悉数Off)

Keep(能够改动,但不输出)

明显咱们需求一个Enum类型的数据来描绘上述指令,强烈建议运用自定义控件中的strict tyep def,这样假如需求修正,程序中任何地方都能够主动更新.

咱们需求用Function Global办法保存一个U8数据来做代表这个8位输出口.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/211650.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部