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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在LabVIEW中創建Actor Framework的抽象消息及接口

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

掃碼添加小助手

加入工程師交流群

ActorFrameWork系列教程來到了第二期,大家還記得什么是對象什么是類嗎?還沒有學習過第一期或者忘記了的同學們,請看往期教程回顧學習一下吧!

本文教程:

LabVIEW中創建Actor Framework的抽象消息及接口

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

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

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

上一期我們學會了在同一個操作者中進行消息的傳輸和接收,但在嵌套操作者之間是怎么互相傳消息的呢?對于一個嵌套于跟操作者之下的嵌套操作者,要如何傳消息給根操作者呢?用俗話說,就是小兵要怎么一層層地把前線戰報傳給將軍呢? 接下來本文以NestActor表示嵌套操作者,是被調用的關系。以Root Actor為根操作者,是調用的關系。 由于面向對象需要降低耦合性,那么基于類的操作者也需要考慮如何降低耦合性。當Nest Actor給Root Actor發送消息時,需要調用Root Actor的消息類的Send ***.vi,這就導致了Nest Actor依賴于Root Actor。為了解除這種依賴關系,我們需要對Root Actor和NestActor解耦。這時候我們就需要用到抽象消息或者接口來進行Nest Actor對Root Actor的消息傳輸。

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

1. 創建Actor

創建兩個Actor,分別命名為Root Actor和Nest Actor。

2. 創建抽象消息

在項目資源管理器中右鍵Nest Actor.lvclass → ActorFramework → Create Abstract Message for Caller,輸入消息名稱為New Data,放置一個字符串控件,命名為String Data,點擊Create Message。這時Nest Actor.lvclass的屬性中將新增一個New Data Msg類,用來指定由哪個消息來執行。為這個New Data Msg類創建寫入的方法。

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

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

3. 為Root Actor創建一個靜態方法

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

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

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

4. 繼承抽象消息

在項目資源管理器中右鍵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的屬性中,并通過Launch Nested Actor.vi啟用為Root Actor的嵌套操作者。

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

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

6. 發送抽象消息

為Nest Actor創建一個靜態方法Write New String Data.vi發送String Data,如下圖所示,將Hello以New Data類型的抽象消息傳送給調用方。

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

7.重寫Nest Actor的Actor Core

重寫Nest Actor的 Actor Core.vi調用Write New String Data.vi。

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

8. Launch根操作者

創建一個Launch.vi啟用Root Actor。

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

啟動Launch后,可以看見彈窗“Hello”。此時一個包含著信息“Hello”的抽象消息就從Nest Actor傳送給了它的調用方Root Actor。

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

三、如何創建接口

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

1. 創建Actor

創建兩個Actor,分別命名為Root Actor和Nest Actor。

2. 創建接口

在Nest Actor創建一個接口,命名為Nest Msg Interface.lvclass。

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

3. 為接口創建動態方法

為Nest Msg Interface.lvclass創建一個動態方法New Data.vi,前面板添加字符串控件String Data,并為該方法創建一個消息。

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

4.繼承接口

設置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中通過Launch Nested Actor.vi啟用Nest Actor為Root Actor的嵌套操作者。

7. 重寫NestActor的Actor Core

為Nest Actor創建一個靜態方法Write New String Data.vi發送String Data,并重寫 Actor Core.vi調用Write New String Data.vi。

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

8.Launch 根操作者

創建一個Launch.vi啟用Root Actor。

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

我們可以看到Hello的彈窗也出現了,通過接口也可以實現嵌套操作者向調用方傳送消息。

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

以上就是如何在LabVIEW中為ActorFramework創建抽象消息和接口的方法,如果想要進一步了解抽象的類和對象是如何通過ActorFramework來實現的話,敬請期待接下來關于ActorFramework的一系列技術分享。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8980

    瀏覽量

    153559
  • LabVIEW
    +關注

    關注

    1998

    文章

    3670

    瀏覽量

    334974
  • 華穗科技
    +關注

    關注

    1

    文章

    13

    瀏覽量

    155

原文標題:教程 | ActorFramework的抽象消息和接口

文章出處:【微信號:華穗科技,微信公眾號:華穗科技】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    [Actor] 通過actor創建控制中心與數據采集工作站來看操作者架構

    。///) 2)創建方法后,利用actor框架自帶的“創建消息”功能,右擊方法VI,選擇創建消息,labview會自動生成一個針對該方法的消
    發表于 05-14 18:44

    [Actor]程序框圖編程時,如何操作消息和方法對應的VI

    actor應用的關鍵: 當在程序框圖編程時,核心是針對“消息”vi 進行操作,并不操作消息對應的方法vi(具體要實現的功能)。 調用的消息vi時,后臺自動調用對應方法vi。 相當于隊列狀態機,隊列元素的進、出操作 與 該元素
    發表于 05-13 18:10

    為什么SDK 1.3.5創建的配置文件是SDK 1.3.4創建的 打不開?

    為什么 SDK 1.3.5 創建的配置文件是 SDK 1.3.4 創建的 打不開?
    發表于 05-13 07:22

    Framework召開第二代產品發布會,新品搶先看!

    2025年2月25日,Framework美國舊金山召開了盛大的第二代產品發布會。Framework發布了有史以來最大規模的一系列新品,包括Framework臺式機
    的頭像 發表于 03-19 17:55 ?691次閱讀
    <b class='flag-5'>Framework</b>召開第二代產品發布會,新品搶先看!

    RCA接口音頻設備的應用

    RCA接口音頻設備的應用非常廣泛,其歷史可以追溯到近一個世紀以前,最初是由美國無線電公司(RCA)開發并命名的。以下是對RCA接口音頻
    的頭像 發表于 02-17 15:42 ?1960次閱讀

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

    自學LabVIEWActor FrameWork的消息與抽象消息的時候肯定會覺得非常模糊。小編將給大家帶來一個有關抽象消息的教程,分為上下
    的頭像 發表于 01-03 14:22 ?1159次閱讀
    <b class='flag-5'>LabVIEW</b><b class='flag-5'>抽象</b>消息使用教程(上)

    labview創建DIAdem報表的具體方法

    求一份用labview創建DIAdem報表的具體方法
    發表于 11-27 14:31

    VGA接口現代設備的應用

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

    YOLOv6LabVIEW的推理部署(含源碼)

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

    微機io接口位于什么之間

    I/O接口(輸入/輸出接口)是計算機硬件系統的重要組成部分,它連接了計算機的內部組件和外部設備。微機(微型計算機),I/O
    的頭像 發表于 10-14 14:03 ?2175次閱讀

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

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

    labview生成應用程序怎么包括userlist

    1. 準備工作 開始之前,確保你已經安裝了LabVIEW,并且熟悉基本的LabVIEW編程概念。 2. 創建用戶界面 2.1 設計界面 打開Lab
    的頭像 發表于 09-04 17:28 ?906次閱讀

    labview如何實現字符串換行

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

    labview如何實現字符串選擇輸出

    LabVIEW實現字符串選擇輸出是一項常見的任務,它涉及到字符串處理、條件判斷和用戶界面設計等多個方面。由于LabVIEW是一種圖形化編程語言,其編程方式與傳統的文本編程語言有所不
    的頭像 發表于 09-04 15:44 ?2153次閱讀

    labview實現DBC界面加載配置

    labview實現DBC界面加載配置
    發表于 08-19 14:27 ?39次下載
    主站蜘蛛池模板: 日日射夜夜干夜夜插在线播放 | 国产在线精彩亚洲 | 中文字幕精品在线视频 | 最新高清无码专区在线视频 | 久久久久国产精品嫩草影院 | 撕开美女的衣服2 | 亚洲 欧美 制服 视频二区 | 美国色情三级欧美三级纸匠情挑 | 亚洲 无码 制服 日韩 | jealousvue成熟40岁 | 久久九九亚洲精品 | 久久青草热热在线精品 | 国产精品人妻一区免费看8C0M | 国产精品无码AV天天爽人妻蜜桃 | 超碰在线视频97 | yellow高清免费观看日本 | 污文乖不疼的 | 欲插爽乱浪伦骨 | 91传媒蜜桃香蕉在线观看 | 伊人第一路线 | 理论片午午伦夜理片2021 | 草比比过程图 | 日本不卡不码高清免费 | 女人18毛片 | 亚洲乱码日产精品BD在线下载 | 欧美激情精品久久久久 | 内射后入在线观看一区 | 毛片在线全部免费观看 | 亚洲最大成人 | 国产久久精品热99看 | 大乳牛奶女在线观看 | 涩涩视频下载 | 好湿好紧水多AAAAA片秀人网 | 亚洲国产综合久久精品 | 9477小游戏| 国产亚洲精品久久无亚洲 | 新香蕉少妇视频网站 | 久久不射电影网 | 久草在线草a免费线看 | 国产欧美一区二区三区在线看 | 2021精品国产综合久久 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品