一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在LabVIEW中創(chuàng)建Actor Framework的抽象消息及接口

倩倩 ? 來(lái)源:華穗科技 ? 作者:華穗科技 ? 2022-09-23 10:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ActorFrameWork系列教程來(lái)到了第二期,大家還記得什么是對(duì)象什么是類(lèi)嗎?還沒(méi)有學(xué)習(xí)過(guò)第一期或者忘記了的同學(xué)們,請(qǐng)看往期教程回顧學(xué)習(xí)一下吧!

本文教程:

LabVIEW中創(chuàng)建Actor Framework的抽象消息及接口

一、為什么要用到抽象消息和接口?

一般情況下,我們?cè)趩?dòng)界面使用“啟動(dòng)根操作者”啟動(dòng)根操作者,然后在根操作者和其他操作者的適當(dāng)位置用“啟動(dòng)嵌套操作者”來(lái)啟動(dòng)其他操作者。就好比一個(gè)用戶登錄程序,其根操作者即為Controller,用以控制整體程序的邏輯,它的嵌套操作者可分為:用戶操作界面的VIEW;登錄判斷模塊、用戶管理模塊等Model。這就是所謂的MVC框架,MVC框架的更多內(nèi)容在后續(xù)給大家詳細(xì)講解。

306390fe-3ae5-11ed-9e49-dac502259ad0.png

上一期我們學(xué)會(huì)了在同一個(gè)操作者中進(jìn)行消息的傳輸和接收,但在嵌套操作者之間是怎么互相傳消息的呢?對(duì)于一個(gè)嵌套于跟操作者之下的嵌套操作者,要如何傳消息給根操作者呢?用俗話說(shuō),就是小兵要怎么一層層地把前線戰(zhàn)報(bào)傳給將軍呢? 接下來(lái)本文以NestActor表示嵌套操作者,是被調(diào)用的關(guān)系。以Root Actor為根操作者,是調(diào)用的關(guān)系。 由于面向?qū)ο笮枰档?a href="http://www.www27dydycom.cn/tags/耦合/" target="_blank">耦合性,那么基于類(lèi)的操作者也需要考慮如何降低耦合性。當(dāng)Nest Actor給Root Actor發(fā)送消息時(shí),需要調(diào)用Root Actor的消息類(lèi)的Send ***.vi,這就導(dǎo)致了Nest Actor依賴(lài)于Root Actor。為了解除這種依賴(lài)關(guān)系,我們需要對(duì)Root Actor和NestActor解耦。這時(shí)候我們就需要用到抽象消息或者接口來(lái)進(jìn)行Nest Actor對(duì)Root Actor的消息傳輸。

二、 如何創(chuàng)建抽象消息前面我們得知了嵌套操作者傳送消息的方式是抽象消息,那么接下來(lái),小編將手把手教你如何在LavVIEW中創(chuàng)建抽象消息。

1. 創(chuàng)建Actor

創(chuàng)建兩個(gè)Actor,分別命名為Root Actor和Nest Actor。

2. 創(chuàng)建抽象消息

在項(xiàng)目資源管理器中右鍵Nest Actor.lvclass → ActorFramework → Create Abstract Message for Caller,輸入消息名稱(chēng)為New Data,放置一個(gè)字符串控件,命名為String Data,點(diǎn)擊Create Message。這時(shí)Nest Actor.lvclass的屬性中將新增一個(gè)New Data Msg類(lèi),用來(lái)指定由哪個(gè)消息來(lái)執(zhí)行。為這個(gè)New Data Msg類(lèi)創(chuàng)建寫(xiě)入的方法。

30c0a55a-3ae5-11ed-9e49-dac502259ad0.png

312c5368-3ae5-11ed-9e49-dac502259ad0.png

3. 為Root Actor創(chuàng)建一個(gè)靜態(tài)方法

為Root Actor創(chuàng)建一個(gè)靜態(tài)方法作為消息執(zhí)行方法,命名為Update Data.vi。并在前面板放置字符串控件,命名為String Data,并配置接線端。在程序框圖中將String Data連接到單按鈕對(duì)話框。

3166eb4a-3ae5-11ed-9e49-dac502259ad0.png

3199b390-3ae5-11ed-9e49-dac502259ad0.png

4. 繼承抽象消息

在項(xiàng)目資源管理器中右鍵Update Data.vi→ Actor Framework→Create Child of Abstract Message,選擇Nest Actor的New Data Msg.lvclassx消息類(lèi)。

31df1606-3ae5-11ed-9e49-dac502259ad0.png

320c8b22-3ae5-11ed-9e49-dac502259ad0.png

32476c88-3ae5-11ed-9e49-dac502259ad0.png

5. 重寫(xiě)Root的Actor Core

為Root Actor重寫(xiě)Actor Core.vi。在Actor Core.vi中將Root Actor的Update Data Msg.lvclass寫(xiě)入Nest Actor.lvclass的屬性中,并通過(guò)Launch Nested Actor.vi啟用為Root Actor的嵌套操作者。

3298df5a-3ae5-11ed-9e49-dac502259ad0.png

32c63234-3ae5-11ed-9e49-dac502259ad0.png

6. 發(fā)送抽象消息

為Nest Actor創(chuàng)建一個(gè)靜態(tài)方法Write New String Data.vi發(fā)送String Data,如下圖所示,將Hello以New Data類(lèi)型的抽象消息傳送給調(diào)用方。

32e35b2a-3ae5-11ed-9e49-dac502259ad0.png

7.重寫(xiě)Nest Actor的Actor Core

重寫(xiě)Nest Actor的 Actor Core.vi調(diào)用Write New String Data.vi。

33006972-3ae5-11ed-9e49-dac502259ad0.png

8. Launch根操作者

創(chuàng)建一個(gè)Launch.vi啟用Root Actor。

33173f44-3ae5-11ed-9e49-dac502259ad0.png

啟動(dòng)Launch后,可以看見(jiàn)彈窗“Hello”。此時(shí)一個(gè)包含著信息“Hello”的抽象消息就從Nest Actor傳送給了它的調(diào)用方Root Actor。

33382b5a-3ae5-11ed-9e49-dac502259ad0.png

三、如何創(chuàng)建接口

LabVIEW2020以上版本支持利用接口在嵌套操作者之間傳送消息,接口的使用方法比抽象消息要簡(jiǎn)單得多。接下來(lái)LabVIEW版本足夠的小伙伴們,我們一起來(lái)嘗試創(chuàng)建接口吧!

1. 創(chuàng)建Actor

創(chuàng)建兩個(gè)Actor,分別命名為Root Actor和Nest Actor。

2. 創(chuàng)建接口

在Nest Actor創(chuàng)建一個(gè)接口,命名為Nest Msg Interface.lvclass。

336c5060-3ae5-11ed-9e49-dac502259ad0.png

3. 為接口創(chuàng)建動(dòng)態(tài)方法

為Nest Msg Interface.lvclass創(chuàng)建一個(gè)動(dòng)態(tài)方法New Data.vi,前面板添加字符串控件String Data,并為該方法創(chuàng)建一個(gè)消息。

339f84f8-3ae5-11ed-9e49-dac502259ad0.png

4.繼承接口

設(shè)置Root Actor.lvclass繼承接口Nest Msg Interface.lvclass,并重寫(xiě)New Data.vi。

33ca1646-3ae5-11ed-9e49-dac502259ad0.png

5. 重寫(xiě)接口方法

Root Actor.lvclass重寫(xiě)Nest Msg Interface.lvclass的New Data.vi方法。

33f09514-3ae5-11ed-9e49-dac502259ad0.png

6. 重寫(xiě)Root Actor的Actor Core

為Root Actor重寫(xiě)Actor Core.vi。在Actor Core.vi中通過(guò)Launch Nested Actor.vi啟用Nest Actor為Root Actor的嵌套操作者。

7. 重寫(xiě)NestActor的Actor Core

為Nest Actor創(chuàng)建一個(gè)靜態(tài)方法Write New String Data.vi發(fā)送String Data,并重寫(xiě) Actor Core.vi調(diào)用Write New String Data.vi。

34458808-3ae5-11ed-9e49-dac502259ad0.png

8.Launch 根操作者

創(chuàng)建一個(gè)Launch.vi啟用Root Actor。

3466d148-3ae5-11ed-9e49-dac502259ad0.png

我們可以看到Hello的彈窗也出現(xiàn)了,通過(guò)接口也可以實(shí)現(xiàn)嵌套操作者向調(diào)用方傳送消息。

怎么樣,接口的使用方法是不是比抽象消息方便呢?而且改變接口的方法只需要修改Root Actor的重寫(xiě)方法就可以了,而不是像抽象消息那樣需要把消息刪除后重新創(chuàng)建消息。

以上就是如何在LabVIEW中為ActorFramework創(chuàng)建抽象消息和接口的方法,如果想要進(jìn)一步了解抽象的類(lèi)和對(duì)象是如何通過(guò)ActorFramework來(lái)實(shí)現(xiàn)的話,敬請(qǐng)期待接下來(lái)關(guān)于ActorFramework的一系列技術(shù)分享。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    9005

    瀏覽量

    153752
  • LabVIEW
    +關(guān)注

    關(guān)注

    2002

    文章

    3670

    瀏覽量

    335942
  • 華穗科技
    +關(guān)注

    關(guān)注

    1

    文章

    13

    瀏覽量

    159

原文標(biāo)題:教程 | ActorFramework的抽象消息和接口

文章出處:【微信號(hào):華穗科技,微信公眾號(hào):華穗科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    打開(kāi)lvpro缺少vi文件,尋求VIPM來(lái)源!!!!

    1.resources:Framework\\\\Providers\\\\AFQ_Helper\\\\ActorRegister\\\\Methods\\\\Unregister?Actor
    發(fā)表于 07-17 13:43

    [Actor] 通過(guò)actor創(chuàng)建控制中心與數(shù)據(jù)采集工作站來(lái)看操作者架構(gòu)

    。///) 2)創(chuàng)建方法后,利用actor框架自帶的“創(chuàng)建消息”功能,右擊方法VI,選擇創(chuàng)建消息,labview會(huì)自動(dòng)生成一個(gè)針對(duì)該方法的消
    發(fā)表于 05-14 18:44

    [Actor]程序框圖編程時(shí),如何操作消息和方法對(duì)應(yīng)的VI

    actor應(yīng)用的關(guān)鍵: 當(dāng)在程序框圖編程時(shí),核心是針對(duì)“消息”vi 進(jìn)行操作,并不操作消息對(duì)應(yīng)的方法vi(具體要實(shí)現(xiàn)的功能)。 調(diào)用的消息vi時(shí),后臺(tái)自動(dòng)調(diào)用對(duì)應(yīng)方法vi。 相當(dāng)于隊(duì)列狀態(tài)機(jī),隊(duì)列元素的進(jìn)、出操作 與 該元素
    發(fā)表于 05-13 18:10

    為什么SDK 1.3.5創(chuàng)建的配置文件是SDK 1.3.4創(chuàng)建的 打不開(kāi)?

    為什么 SDK 1.3.5 創(chuàng)建的配置文件是 SDK 1.3.4 創(chuàng)建的 打不開(kāi)?
    發(fā)表于 05-13 07:22

    Framework召開(kāi)第二代產(chǎn)品發(fā)布會(huì),新品搶先看!

    2025年2月25日,Framework美國(guó)舊金山召開(kāi)了盛大的第二代產(chǎn)品發(fā)布會(huì)。Framework發(fā)布了有史以來(lái)最大規(guī)模的一系列新品,包括Framework臺(tái)式機(jī)
    的頭像 發(fā)表于 03-19 17:55 ?728次閱讀
    <b class='flag-5'>Framework</b>召開(kāi)第二代產(chǎn)品發(fā)布會(huì),新品搶先看!

    RCA接口音頻設(shè)備的應(yīng)用

    RCA接口音頻設(shè)備的應(yīng)用非常廣泛,其歷史可以追溯到近一個(gè)世紀(jì)以前,最初是由美國(guó)無(wú)線電公司(RCA)開(kāi)發(fā)并命名的。以下是對(duì)RCA接口音頻
    的頭像 發(fā)表于 02-17 15:42 ?2045次閱讀

    LabVIEW抽象消息使用教程(上)

    自學(xué)LabVIEWActor FrameWork的消息與抽象消息的時(shí)候肯定會(huì)覺(jué)得非常模糊。小編將給大家?guī)?lái)一個(gè)有關(guān)抽象消息的教程,分為上下
    的頭像 發(fā)表于 01-03 14:22 ?1233次閱讀
    <b class='flag-5'>LabVIEW</b><b class='flag-5'>抽象</b>消息使用教程(上)

    labview創(chuàng)建DIAdem報(bào)表的具體方法

    求一份用labview創(chuàng)建DIAdem報(bào)表的具體方法
    發(fā)表于 11-27 14:31

    VGA接口現(xiàn)代設(shè)備的應(yīng)用

    信號(hào)。這種模擬信號(hào)傳輸方式長(zhǎng)距離傳輸時(shí)容易受到干擾,導(dǎo)致圖像質(zhì)量下降。盡管如此,VGA接口因其簡(jiǎn)單、成本低廉和兼容性好的特點(diǎn),某些場(chǎng)合仍然被廣泛使用。 2. VGA接口
    的頭像 發(fā)表于 11-08 10:31 ?4389次閱讀

    YOLOv6LabVIEW的推理部署(含源碼)

    相關(guān)介紹文章,所以筆者實(shí)現(xiàn)YOLOv6 ONNX LabVIEW的部署推理后,決定和各位讀者分享一下如何使用LabVIEW實(shí)現(xiàn)YOLO
    的頭像 發(fā)表于 11-06 16:07 ?945次閱讀
    YOLOv6<b class='flag-5'>在</b><b class='flag-5'>LabVIEW</b><b class='flag-5'>中</b>的推理部署(含源碼)

    微機(jī)io接口位于什么之間

    I/O接口(輸入/輸出接口)是計(jì)算機(jī)硬件系統(tǒng)的重要組成部分,它連接了計(jì)算機(jī)的內(nèi)部組件和外部設(shè)備。微機(jī)(微型計(jì)算機(jī)),I/O
    的頭像 發(fā)表于 10-14 14:03 ?2281次閱讀

    labview生成應(yīng)用程序怎么包括userlist

    1. 準(zhǔn)備工作 開(kāi)始之前,確保你已經(jīng)安裝了LabVIEW,并且熟悉基本的LabVIEW編程概念。 2. 創(chuàng)建用戶界面 2.1 設(shè)計(jì)界面 打開(kāi)Lab
    的頭像 發(fā)表于 09-04 17:28 ?931次閱讀

    labview如何實(shí)現(xiàn)字符串換行

    1. 字符串換行的基本概念 LabVIEW,字符串換行通常指的是字符串插入換行符,使得字符串
    的頭像 發(fā)表于 09-04 15:47 ?3914次閱讀

    labview如何實(shí)現(xiàn)字符串選擇輸出

    LabVIEW實(shí)現(xiàn)字符串選擇輸出是一項(xiàng)常見(jiàn)的任務(wù),它涉及到字符串處理、條件判斷和用戶界面設(shè)計(jì)等多個(gè)方面。由于LabVIEW是一種圖形化編程語(yǔ)言,其編程方式與傳統(tǒng)的文本編程語(yǔ)言有所不
    的頭像 發(fā)表于 09-04 15:44 ?2208次閱讀

    labview實(shí)現(xiàn)DBC界面加載配置

    labview實(shí)現(xiàn)DBC界面加載配置
    發(fā)表于 08-19 14:27 ?39次下載