自學LabVIEW的Actor FrameWork的消息與抽象消息的時候肯定會覺得非常模糊。小編將給大家帶來一個有關抽象消息的教程,分為上下兩期,本期將帶領大家創建Actor中的方法并為方法創建對應的消息。
下面請跟隨小編一起來學習一下吧!
本文教程:
LabVIEW抽象消息
一、步驟: 1、初始項目解釋
初始項目中包含一個”對話場景.vi”以及兩個Actor(操作者)分別是:人物A、人物B。
對話場景.vi:該VI的前面板設有一個“關閉 Actor”按鈕,用于關閉已啟動的 Actor。
在對話場景.vi的程序框圖中,編寫了啟動和停止人物A的邏輯,包括關閉前面板和停止按鈕的響應。
人物A擁有一個私有屬性,內容為Actor Enqueuer(操作者隊列)。
同時人物A還繼承了Actor類的Actor Core,其中含有調用嵌套Actor的邏輯與將嵌套Actor隊列寫入私有屬性的邏輯。
2、創建一個方法并使用
創建方法
首先,我們需為人物 B 創建一個方法并使用該方法。具體步驟如下: 打開項目中的 人物B.lvib。右擊人物B.lvclass,選擇New(新建)。在彈出的菜單中選擇 VI from Static Dispatch Template(創建靜態調用)。
此時,LabVIEW會自動彈出一個VI。按Ctrl+S保存該VI。
將保存路徑選擇為“人物B”下的Method文件夾,并將文件命名為“關燈”。
至此,我們已成功為“人物B”創建了一個“關燈”方法。為了使該方法更加直觀,我們可以在程序框圖中創建一個對話框,并在對話框上添加“人物B把燈關了”的文本。
在前面板中,按 Ctrl+E 進入程序框圖,創建一個對話框函數,保存后關閉該方法。
接下來,我們需要為“人物 B”重寫一個 Actor Core,并將其保存在“人物 B” 的 Override 文件夾下。具體步驟與創建靜態調用類似,但選擇的是 VI for Override(重寫 VI)。
在彈出的對話框中選擇“Actor Core”并單擊”OK”。
此時同樣會跳出一個VI,請直接保存在Override文件夾下。由于 Actor Core 是重寫父類(Actor)的方法,因此不要更改名稱。
現在,所有準備工作已經完成,讓我們調用這個方法。
進入”人物B”的Actor Core程序框圖,將剛剛創建的”關燈.vi”拖入Actor Core,并連接。
完成后,運行 對話場景.vi 以查看效果。我們的對話框應能順利彈出。
PS:當我們的Actor被Launch的時候會去執行Actor Core,因此我們先將方法放在人物B的Actor Core中,當人物B被人物A Launch的時“關燈”Method就會被執行。
3、對方法創建消息并使用
在理解了方法的創建與使用之后,我們接下來學習如何為 Actor 的方法創建消息以及如何使用這些消息。
首先,我們先為”關燈.vi”創建一個消息,右擊“關燈Msg.lvclass”,選擇Actor Framework,然后選擇Create Message(創建消息)。
LabVIEW腳本自動執行完畢后,我們會發現”人物B”下多了一個”關燈Msg.lvclass”(關燈消息類)。該類包含兩個VI“Send關燈.vi”以及“Do.vi”。
其中”Do.vi”調用了”關燈.vi”,還在外層加了一些查找子類的邏輯。當我們的Method擁有一些輸入接線柱的時候,OBJ還會解綁一些數據連接至”關燈.vi”(這里沒有,后面會有)。
而”Send關燈.vi”則是將“關燈Msg.lvclass”入隊,并在Actor Core中出隊(紅圈的部分)并調用”Do.vi”。
打開“人物B”的 Actor Core。刪除之前在程序框圖上放置的“關燈.vi”。通過 Read Self Enqueuer 獲取“人物B”自己的消息隊列并進行連接。
完成后,運行“對話場景.vi”以查看效果。
我們的對話框應能成功彈出。與上一節相同,我們將發送消息的邏輯放在 Actor Core 后面,以觀察現象和運行結果。
4、直接使用方法與通過消息使用方法的區別
直接調用方法就和LabVIEW使用Class的方法是一致的,輸入的是類。
通過消息使用方法:通過將消息傳入Actor的隊列,然后通過Actor Core將“消息類”出隊列并執行對應的“Do.vi”達到調用方法的目的,輸入的是Actor的隊列。
以上就是LabVIEW抽象消息教程(上)的所有內容啦,下一期將繼續介紹普通消息的調用和抽象消息。歡迎大家留言討論,交流分享!
以上內容就是本期的全部內容,更多關于測試系統中的實際軟硬件應用知識,可關注本公眾號/下方合集,敬請期待!
對LabVIEW編程技巧和相關內容感興趣的工程師們,歡迎持續關注、留言和點贊,也可以私信小編各位的技術困惑和技術需求,以獲取參加免費線下培訓和技術交流的機會哦。
-
LabVIEW
+關注
關注
1990文章
3668瀏覽量
331476 -
編程
+關注
關注
88文章
3671瀏覽量
94682
原文標題:教程 | LabVIEW抽象消息使用教程(上)
文章出處:【微信號:華穗科技,微信公眾號:華穗科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
看LabVIEW之父談論未來LabVIEW的軟件架構
抽象工廠模式的創建
抽象接口不是通過底層模塊的來實現嗎
JAVA語言的抽象封裝與類
基于平臺抽象層的進程虛擬機設計與實現
通過抽象程序證明復雜具體程序

評論