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的同步消息

華穗科技 ? 來源:華穗科技 ? 作者:華穗科技 ? 2022-11-04 10:33 ? 次閱讀

ActorFrame系列教程的第三期來啦,如果還沒有看過前面兩期或者遺忘往期知識(shí)點(diǎn),請(qǐng)點(diǎn)擊以下超鏈接查看往期教程。

本文教程:

LabVIEW中創(chuàng)建Actor Framework的同步消息

一、為什么要用到同步回復(fù)消息?

從前兩期對(duì)操作者框架的了解,可以發(fā)現(xiàn),消息都是單向的,沒有回復(fù)。發(fā)送方不知道這個(gè)消息發(fā)送后,實(shí)際會(huì)產(chǎn)生怎么樣的結(jié)果。

但是有些情況下,發(fā)送方希望消息發(fā)送后,能獲得一定的反饋。

舉個(gè)例子:

A:B,請(qǐng)你告訴我寄存器16的值是多少?

B:A,22。

要實(shí)現(xiàn)這個(gè)對(duì)話過程,使用普通的消息就必須創(chuàng)建兩個(gè)消息。首先A通過消息1詢問B,接著B通過消息2回答A。增加了程序的復(fù)雜度。而使用Reply Msg就可以實(shí)現(xiàn)帶回復(fù)的消息。 二、 如何創(chuàng)建Reply Msg? 首先,第一次使用Reply Msg時(shí),繼承關(guān)系中是沒有Reply Msg的,因?yàn)槟J(rèn)Reply Msg不包含在Actor Framework.lvlib中的,需要手動(dòng)添加。 于依賴關(guān)系的vi.lib庫中右鍵添加文件。

3d43ad5e-5be7-11ed-a3b6-dac502259ad0.png

選擇添加ActorFramework中的Reply Msg的vi庫。 Reply Msg的vi庫的位置為:LabVIEW安裝位置>vi.lib>ActorFramework>ReplyMsg

3d5de264-5be7-11ed-a3b6-dac502259ad0.png

3d822ef8-5be7-11ed-a3b6-dac502259ad0.png

1. 創(chuàng)建Actor

創(chuàng)建一個(gè)Actor,并創(chuàng)建一個(gè)靜態(tài)方法,命名為Read Register Value.vi;

添加該方法的內(nèi)容為:輸出一個(gè)寄存器值Register Value。

3da00ca2-5be7-11ed-a3b6-dac502259ad0.png

2. 創(chuàng)建消息

為Read Register Value.vi創(chuàng)建消息。

3. 修改消息的繼承關(guān)系

修改Read Register Value.vi的消息類的繼承關(guān)系為Reply Msg.lvclass;

3db234b8-5be7-11ed-a3b6-dac502259ad0.png

4. 修改發(fā)生消息

?打開Send Read Register Value.vi,修改程序框圖中Enqueuer.vi為Send Message and Wait forResponse.vi;創(chuàng)建輸入控件timeout in ms(-1),顯示控件Reply 和timedout?,并配置好接線板;

位置:程序框圖 → Data Communication → ActorFramework → Advanced → Send Message and Wait for Response.vi。

程序框圖如下圖所示:?

3dd11a4a-5be7-11ed-a3b6-dac502259ad0.png

5. 重寫DOCore

重寫并修改Read Register Value Msg.lvclass的Do Core.vi方法。調(diào)用Read Register Value.vi并將其Register Value的輸出端連接至Reply。

3e1ad072-5be7-11ed-a3b6-dac502259ad0.png

6. 刪除原本消息中的Do.vi

刪除原本消息中Read Register Value Msg.lvclass的Do.vi方法。

7. 驗(yàn)證同步回復(fù)消息

創(chuàng)建Laucher.vi,調(diào)用Send Read RegisterValue.vi消息,并將Reply連接于彈窗上。

3e52dd3c-5be7-11ed-a3b6-dac502259ad0.png

可以看到,調(diào)用消息時(shí)彈出彈窗并顯示返回值。讀取寄存器的消息vi中Send Message And Wait For Response函數(shù)發(fā)揮了作用,將Register Value以Reply的形式返回給了調(diào)用處。

以同步回復(fù)消息的方式可以便捷地將被調(diào)用方的參數(shù)或結(jié)果值以返回值的方式發(fā)送給調(diào)用方,就不用通過兩個(gè)消息來進(jìn)行一發(fā)一收啦。

以上就是如何在LabVIEW中為ActorFramework創(chuàng)建同步回復(fù)消息的方法,如果想要進(jìn)一步了解抽象的類和對(duì)象是如何通過ActorFramework來實(shí)現(xiàn)的話,敬請(qǐng)期待接下來關(guān)于ActorFramework的一系列技術(shù)分享。 下一期我們將分享基于Actor Framework的MVC設(shè)計(jì)實(shí)現(xiàn)。 對(duì)Actor Framework感興趣的工程師們,歡迎持續(xù)關(guān)注、留言和點(diǎn)贊,也可以私信小編各位的技術(shù)困惑和技術(shù)需求,以獲取參加免費(fèi)線下培訓(xùn)和技術(shù)交流的機(jī)會(huì)哦。

審核編輯 :李倩

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

    關(guān)注

    31

    文章

    5276

    瀏覽量

    119699
  • LabVIEW
    +關(guān)注

    關(guān)注

    1959

    文章

    3651

    瀏覽量

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

    關(guān)注

    1

    文章

    11

    瀏覽量

    72

原文標(biāo)題:教程 | ActorFramework的同步消息

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用同步降壓穩(wěn)壓器創(chuàng)建反相電源

    電子發(fā)燒友網(wǎng)站提供《使用同步降壓穩(wěn)壓器創(chuàng)建反相電源.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 10:27 ?0次下載
    使用<b class='flag-5'>同步</b>降壓穩(wěn)壓器<b class='flag-5'>創(chuàng)建</b>反相電源

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

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

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

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

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

    選擇 時(shí)間日期 但是mysql是date而不是datetime類型 ,除了sql語句創(chuàng)建表 ,怎么能實(shí)現(xiàn)創(chuàng)建數(shù)據(jù)為datetime類
    發(fā)表于 02-04 09:46

    labview怎么獲取圖像數(shù)據(jù)

    LabVIEW獲取圖像數(shù)據(jù)主要有兩種方法:采集實(shí)時(shí)圖像和加載靜態(tài)圖像。 一、采集實(shí)時(shí)圖像: 首先,需要安裝合適的圖像采集設(shè)備,如相機(jī)或者視頻采集卡??梢酝ㄟ^USB、GigE或其他接口連接設(shè)備到
    的頭像 發(fā)表于 01-04 09:48 ?1930次閱讀

    labview mdi怎么實(shí)現(xiàn)

    、調(diào)整大小和關(guān)閉。 創(chuàng)建主窗口:首先,您需要創(chuàng)建一個(gè)主窗口來容納多個(gè)文檔窗口。LabVIEW,您可以使用一個(gè)Front Panel來作為
    的頭像 發(fā)表于 01-02 16:12 ?1033次閱讀

    labview運(yùn)行后如何初始化

    LabVIEW是一款強(qiáng)大的圖形化編程軟件,在運(yùn)行之前通常需要進(jìn)行一些初始化操作。本文將詳細(xì)介紹LabVIEW運(yùn)行前的初始化過程,并提供了一些常用的初始化方法。 創(chuàng)建新項(xiàng)目:
    的頭像 發(fā)表于 12-28 17:24 ?2334次閱讀

    labview怎么查數(shù)組相同元素的個(gè)數(shù)

    要查找LabVIEW數(shù)組相同元素的個(gè)數(shù),可以使用以下步驟: 創(chuàng)建一個(gè)包含要查找的數(shù)值的數(shù)組。這可以通過手動(dòng)輸入數(shù)組元素或從文件/其他數(shù)據(jù)源導(dǎo)入數(shù)組實(shí)現(xiàn)。 使用“For Loop”結(jié)
    的頭像 發(fā)表于 12-28 16:42 ?2944次閱讀

    labview采樣點(diǎn)數(shù)怎么設(shè)置

    LabVIEW。 “項(xiàng)目”面板,選擇“新建VI”。這將創(chuàng)建一個(gè)新的虛擬儀器(VI)。 “工具欄”
    的頭像 發(fā)表于 12-28 11:06 ?2213次閱讀

    LabVIEW SMO 的原理、用法和實(shí)際應(yīng)用

    ) 實(shí)例同步運(yùn)行并共享數(shù)據(jù),從而能夠?qū)崿F(xiàn)高效的并行計(jì)算和更好的系統(tǒng)性能。本文中,我們將詳細(xì)介紹 LabVIEW SMO 的原理、用法和實(shí)際應(yīng)用。 首先,我們需要了解 LabVIEW
    的頭像 發(fā)表于 12-27 16:47 ?2013次閱讀

    labview怎么用鍵盤操控事件結(jié)構(gòu)

    可以方便地通過鍵盤進(jìn)行交互操作。本文中,我們將詳細(xì)介紹LabVIEW中鍵盤操控事件結(jié)構(gòu)的使用方法和注意事項(xiàng),以幫助讀者更好地應(yīng)用這一功能。 首先,LabVIEW
    的頭像 發(fā)表于 12-27 10:14 ?2436次閱讀

    基于Actor Framework仿真線性編碼器

    在學(xué)習(xí)LabView面向?qū)ο缶幊踢^程,相信大家也都接觸到了Actor Framework。該框架于2010年NI Week首次公布,經(jīng)過多年不斷迭代更新,逐漸成為
    的頭像 發(fā)表于 12-22 10:15 ?677次閱讀
    基于<b class='flag-5'>Actor</b> <b class='flag-5'>Framework</b>仿真線性編碼器

    Actor Frame Work 學(xué)習(xí)筆記分享

    的幾個(gè)項(xiàng)目中,體會(huì)到了兩個(gè)架構(gòu)的好處,和靈活性。編程水平得到了一點(diǎn)點(diǎn)質(zhì)的提升。 將學(xué)習(xí)筆記無私分享,希望labview的學(xué)習(xí)環(huán)境越來越好。有一起學(xué)習(xí)的伙伴也可留言討論。 文章的最后部分,本人根據(jù)
    發(fā)表于 11-10 13:03

    linux創(chuàng)建group的命令

    Linux,創(chuàng)建用戶組的命令是 groupadd 。 以下是一個(gè)例子: groupadd groupName 這個(gè)命令將創(chuàng)建一個(gè)新的用戶組,名稱為groupName。
    的頭像 發(fā)表于 11-08 11:35 ?1342次閱讀

    framework框架流程 模塊綁定

    framework初始化流程圖如下: module對(duì)外接口 scp代碼,所有的功能都由一個(gè)個(gè)模塊提供。每個(gè)模塊以api枚舉及其結(jié)構(gòu)體的方式對(duì)外提供該模塊的功能,并在模塊通用結(jié)構(gòu)體fwk_module中提
    的頭像 發(fā)表于 11-02 17:24 ?586次閱讀
    <b class='flag-5'>framework</b>框架流程 模塊綁定