色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(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ì)象什么是類嗎?還沒(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://m.1cnz.cn/tags/耦合/" target="_blank">耦合性,那么基于類的操作者也需要考慮如何降低耦合性。當(dāng)Nest Actor給Root Actor發(fā)送消息時(shí),需要調(diào)用Root Actor的消息類的Send ***.vi,這就導(dǎo)致了Nest Actor依賴于Root Actor。為了解除這種依賴關(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,輸入消息名稱為New Data,放置一個(gè)字符串控件,命名為String Data,點(diǎn)擊Create Message。這時(shí)Nest Actor.lvclass的屬性中將新增一個(gè)New Data Msg類,用來(lái)指定由哪個(gè)消息來(lái)執(zhí)行。為這個(gè)New Data Msg類創(chuàng)建寫入的方法。

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消息類。

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

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

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

5. 重寫Root的Actor Core

為Root Actor重寫Actor Core.vi。在Actor Core.vi中將Root Actor的Update Data Msg.lvclass寫入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類型的抽象消息傳送給調(diào)用方。

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

7.重寫Nest Actor的Actor Core

重寫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,并重寫New Data.vi。

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

5. 重寫接口方法

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

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

6. 重寫Root Actor的Actor Core

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

7. 重寫NestActor的Actor Core

為Nest Actor創(chuàng)建一個(gè)靜態(tài)方法Write New String Data.vi發(fā)送String Data,并重寫 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的重寫方法就可以了,而不是像抽象消息那樣需要把消息刪除后重新創(chuàng)建消息。

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

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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

    文章

    8691

    瀏覽量

    151707
  • LabVIEW
    +關(guān)注

    關(guān)注

    1976

    文章

    3657

    瀏覽量

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

    關(guān)注

    1

    文章

    12

    瀏覽量

    118

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    YOLOv6LabVIEW的推理部署(含源碼)

    相關(guān)介紹文章,所以筆者實(shí)現(xiàn)YOLOv6 ONNX LabVIEW的部署推理后,決定和各位讀者分享一下如何使用LabVIEW實(shí)現(xiàn)YOLO
    的頭像 發(fā)表于 11-06 16:07 ?372次閱讀
    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 ?785次閱讀

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-Linux C接口編程入門之文件I/O

    了操作系統(tǒng)的設(shè)計(jì)和管理,提供了一種統(tǒng)一的抽象模型,使得應(yīng)用程序可以使用相同的方法和工具來(lái)處理各種文件和資源。Linux,不僅普通文件(如文本文件、圖像文件等)被視為文件,還有其他類型的實(shí)體也被當(dāng)作
    發(fā)表于 10-10 09:11

    飛凌嵌入式ElfBoard ELF 1板卡-Linux C接口編程入門之文件I/O

    了操作系統(tǒng)的設(shè)計(jì)和管理,提供了一種統(tǒng)一的抽象模型,使得應(yīng)用程序可以使用相同的方法和工具來(lái)處理各種文件和資源。Linux,不僅普通文件(如文本文件、圖像文件等)被視為文件,還有其他類型的實(shí)體也被當(dāng)作
    發(fā)表于 10-09 15:38

    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 ?567次閱讀

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

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

    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 ?1060次閱讀

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

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

    如何在Draftsman創(chuàng)建PCB制造圖紙

    制作PCB的過(guò)程,繪制面板制造圖紙是不可或缺的一步。單個(gè)PCB的制造圖紙只顯示單個(gè)PCB的鉆孔和板特征,但這些需要合并到整個(gè)面板的一張圖紙。根據(jù)不同公司或制造商的具體需求,一些設(shè)計(jì)團(tuán)隊(duì)需要接手
    的頭像 發(fā)表于 07-16 09:30 ?622次閱讀
    如何在Draftsman<b class='flag-5'>中</b><b class='flag-5'>創(chuàng)建</b>PCB制造圖紙

    Framework獲1800萬(wàn)美元融資,將拓展電子產(chǎn)品領(lǐng)域

    自種子輪起,框架已累計(jì)獲得900萬(wàn)美元(約合人民幣6525萬(wàn)元)投資,主要用于FrameWork 13的研發(fā)。2022年,該公司再次獲得1800萬(wàn)美元(約合人民幣1.3億元)A輪融資,用于推進(jìn)FrameWork 16項(xiàng)目。
    的頭像 發(fā)表于 04-24 15:28 ?385次閱讀

    鴻蒙原生應(yīng)用開(kāi)發(fā)-ArkTS語(yǔ)言基礎(chǔ)類庫(kù)多線程TaskPool和Worker的對(duì)比(二)

    TaskPool運(yùn)作機(jī)制 圖1 TaskPool運(yùn)作機(jī)制示意圖 TaskPool支持開(kāi)發(fā)者主線程封裝任務(wù)拋給任務(wù)隊(duì)列,系統(tǒng)選擇合適的工作線程,進(jìn)行任務(wù)的分發(fā)及執(zhí)行,再將結(jié)果返回給主線程。接口直觀
    發(fā)表于 03-26 15:25

    labview 創(chuàng)建mysql 表時(shí) 設(shè)置時(shí)間 怎么mysql是格式是date 而不是datetime?

    選擇 時(shí)間日期 但是mysql是date而不是datetime類型 ,除了sql語(yǔ)句創(chuàng)建表 ,怎么能實(shí)現(xiàn)創(chuàng)建數(shù)據(jù)為datetime類
    發(fā)表于 02-04 09:46
    主站蜘蛛池模板: 97精品国产高清在线看入口 | 日韩亚洲不卡在线视频 | 大学生第一次破女在线观看 | 国产精品 日韩精品 欧美 | 蜜桃臀无码内射一区二区三区 | 艳鉧动漫1~6全集观看在线 | 久久影院中文字幕 | 青青app| 青青草原在线新免费 | 国产亚洲精品久久综合阿香 | 亚洲免费网站观看视频 | 一起洗澡的老师免费播放 | 妈妈的朋友6未删减版完整在线 | 国产亚洲一区在线 | 97综合久久| 99久酒店在线精品2019 | 久久www免费人成_看片高清 | A级毛片无码久久精品免费 a级毛片黄免费a级毛片 | 亚洲伊人网站 | caoporon超碰在线视频 | 国产全部视频列表支持手机 | 欧美日韩午夜群交多人轮换 | 6080yy 久久 亚洲 日本 | 日本动漫henta videos | 亚洲国产日韩欧美高清片a 亚洲国产日韩a精品乱码 | 午夜向日葵视频在线观看 | 公交车轮C关老师 | 久久婷婷丁香五月色综合啪免费 | 亚洲乱码高清午夜理论电影 | 久久操韩国自偷拍 | 日日摸夜添夜夜夜添高潮 | 2224x最新网站| 97精品少妇偷拍蜜桃AV | 国产成人免费网站在线观看 | 午夜国产在线观看 | 九九久久国产精品免费热6 九九久久国产精品大片 | 亚洲中文字幕永久在线全国 | a毛片基地免费全部视频 | 国产免费福利在线视频 | 在教室伦流澡到高潮H女攻视频 | 人妻系列合集 |