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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

LabVIEW Actor Framwork:邊學邊做server和client

yk74110 ? 來源:yk74110 ? 作者:yk74110 ? 2023-06-01 15:49 ? 次閱讀

LabVIEW Actor Framwork (1)________ 邊學邊做server&client

初始需求:

現在要做一個類似聊天的demo,一個server端,若干個client端;首先是server啟動,通過server可以打開若干個client端,然后每個client可以獨立給server發送數據。server收到數據打印出來帶有client id的信息

必然想到,這里出現了2個Actor,一個server,一個client;

下面,我們來編寫和測試第一個actor——server

一、打開LabVIEW2016,新建一個proj:

pYYBAGQeT9WAWJnhAAcO9MedGJo046.png

并保存到硬盤文件夾。

二、右鍵項目中的My Computer新建Actor:

poYBAGQeUCWAfW6UAALXv0G9eA0869.pngpoYBAGQeUCWABO9zAALZkjB0Clc980.pngpYYBAGQeUCWATzrrAAGnqxHaEGY972.png

最后建立好的文件目錄如上圖,硬盤存儲文件夾的定義如下:

data——存放定義該Actor的私有數據類型;

mothods——方法;

overides——重寫的方法;

server test——用于自測試的vi;

note:當然,你也可以不這么存儲和放置,但最好這么做,清晰不會為后面產生混亂與沖突;

此時項目的如下:

poYBAGQeUE2AQ4zPAAi4DOSKQJw158.png

三、定義私有數據:

一般將私有數據放到一個簇里面進行管理,這樣做是為了方便以后拓展;

poYBAGQeUGOAbqHVAAppDvmq6pk837.png

如上圖:私有數據有分別為:

message:字串類型,用來存儲server收到的信息,注意,這個信息可以是外部發來的,也可以是自己發送給自己的;比如,我們在寫好了這個Acotor server后,可以行單元測試,此時就是自己給自己的actor發送一個消息,看看能否正常收到。

User event top:停止的用戶事件

User event message:發送信息的用戶事件

四、重寫方法:

一般就重寫的vi就是這三個:

pYYBAGQeUG2ABK6IAAD_9pNGYk0175.png

初始化——core核心(也就是你要實現的功能在此處重寫)——stop停止機制

1.Pre Launch Init.vi

pYYBAGQeUHOAdih4AAeaRn6eog0383.png

將對象進行初始化,采用Bundle By Name節點進行捆綁;

pYYBAGQeUIyAep1ZAAHW3nkVlao431.pngpoYBAGQeUL6ANBASAABQXVF23Zg280.png

2. Stop Core.vi

在server out后面采用

poYBAGQeUMqAcYwfAAYEfUNwq40562.png

來解捆綁,得到用戶事件句柄,然后此處產生一個停止事件,這樣,該類中所有有響應這個用戶事件的都能做出自己的處理。

目前這個例子中,此處的stop用戶事件是為了到時候停止Actor Core.vi 中的while循環;

(如果你此處還沒有理解, 不用著急,看到后面再回來就能恍然大悟。)

pYYBAGQeUOCADx4hAAm5y9vCvJw602.png

3. Actor Core.vi

這個便是咱們的actor要實現功能所在的地方。我們需求是要接收到一條消息,然后把它顯示記錄下來。那么我需要建立一個簡單的循環+事件結構,用來響應用戶事件,這里有兩個用戶時間,一個是message,一個是stop;

程序框圖如下:

pYYBAGQeUOCADx4hAAm5y9vCvJw602.pngpoYBAGQeUTWAfXOzAAm5y15CdFo366.pngpYYBAGQeUTWAIEvDAAm5y9GLXNI887.pngpYYBAGQeUTWAXCGuAAm5y_Lm8zI515.pngpoYBAGQeUTWAfBnjAAm5y7X1774657.png

注意的幾點:

2 用戶事件在使用之前請先行注冊,最后程序退出時銷毀事件。

2 所有的Actor對象的使用請連線在Actor Framework.lvlib:Actor.lvclass:Actor Core.vi

之前,因為父類的這個core也在一直運行,數據流驅動的LabVIEW編程決定這樣編寫;

2 用戶事件: User Event ,此處直接可以從事件結構元素message端得到內容的。

那么message是怎么發送的呢?接下來說明如何“創建方法的消息隊列”

五、創建類的消息隊列:

首先在server 類的method虛擬文件夾下,創建動態方法,操作如下圖:

pYYBAGQeUUKAYOomAAccheBjvdo709.png

保存自動生成的vi到硬盤實際文件夾的mothods目錄:

poYBAGQeUU6ATVvKAANJuKOcswA322.png

接下來編輯此方法vi,如下:

pYYBAGQeUV6AFWWbAAodLz_GvVE483.png

保存,然后在project中對此方法點擊右鍵創建消息隊列;

pYYBAGQeUWeAPixkABUK-xIHQN4020.png

創建好了以后,保存到硬盤。一般會在server類同級目錄:

pYYBAGQeUXOAMvHcAAq5s5sNRhw210.png

然后在send message to server Msg.lvclass定義私有數據,此處就一個message,我們用一個string輸入控件即可;至此,創建send message的消息隊列完成。

send message to server Msg.lvclass->Send send message to server.vi便是我們用來給server 這個Actor發送消息的方法。

至此,整個server的actor開發完成。

接下來我們編寫一個測試vi,用來啟動server actor,停止,和發送一個消息測試是否正常?

測試vi取名test launch & send msg to server.vi存放在server類的下面:

poYBAGQeUY2AAU49ABAP3ny2djY689.png

注意,server作為root來啟動,所以采用:

poYBAGQeUZmAFlCYAAnJzn6IUyg936.png

分別測試上述3個功能,這樣便能每個Actor自行保證OK;

pYYBAGQeUaGADcBQAA0lYjSbM_A960.png

至此,Actor server測試完成,如果是多人協同開發的時候,此時就可以將自己編寫的這個actor發布給別人使用。

接下來,我們再來編寫client,這部分內容我們下節再講。

審核編輯:湯梓紅

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

    關注

    1974

    文章

    3656

    瀏覽量

    324356
  • 硬盤
    +關注

    關注

    3

    文章

    1313

    瀏覽量

    57370
  • Server
    +關注

    關注

    0

    文章

    91

    瀏覽量

    24054
收藏 人收藏

    評論

    相關推薦

    sushu---Actor Framework基本介紹

    。修改后的Actor Framework,需要替換掉LabVIEW自帶的(可以做個備份)。只是增加了一個功能。修改后JKI State Machine,需要替換掉,沒有安裝JKI 的直接放在對應目錄即可
    發表于 01-03 20:05

    labview的TCP/IP通信server端怎么知道是哪個client發過來的信息呢,謝謝!

    普通的網絡通信助手都能顯示client發過來的IP,請問在labview下面怎么實現在server端顯示client IP?這些是用網絡助手顯示的【Receive from
    發表于 05-24 19:51

    使用LABVIEW2017打開I/O server,選擇OPC Client時報錯,請問是為什么?如何解決?

    使用LABVIEW2017打開I/O server,選擇OPC Client時,會出現如下報錯:該如何是好啊~!
    發表于 07-06 16:45

    s7-1200和s7-1500和labview,3者之間互為Client /Server,Modbus-tcp通訊,已經過本人實操驗證

    注意:1. 1200和1500可以互為ClientServer用來讀寫數據。2. 1200和Labview進行通訊,Labview是2018版本,
    發表于 08-29 11:17

    labview 中OPC server 自動變化

    labview OPC server配置中選擇的OPC server是OPCDASVR.CT.1,但是打開OPC quick client 后變成National
    發表于 02-24 12:53

    干系列LabVIEW三合一(儀器控制+報表生成+界面本地化)

    `此文件為干系列LabVIEW合計(三合一),包含內容:儀表控制、報表生成及界面本地化。掃描二維碼 加管理員微信免費領取(備注“
    發表于 03-07 19:04

    C語言

    C語言
    發表于 03-10 11:35 ?272次下載

    Client Server模型數據實現技術

    本論文主要討論基于Client/Server 數據完整性約束及其如何實施企業業務規則,并以SQLServer 和PowerBuilder 為例,介紹了數據完整性約束的實現技術。
    發表于 09-18 10:42 ?9次下載

    LabVIEW Actor framework 定時消息Demo

    使用LabVIEW2015編寫,Actor framework框架的Demo。 演示了ActorCore方法在不需要響應前面板事件時的程序寫法(不需要while循環)。 根操作者啟動定時操作者
    發表于 12-15 22:57 ?53次下載

    LabView TCP數據傳輸的7個實例詳細資料概述

    本文檔的主要內容詳細介紹的是LabView TCP數據傳輸的7個實例資料概述包括了:TCP Client 單向通信,TCP Client 1 一對多通訊,TCP Client 全雙工
    發表于 06-12 08:00 ?513次下載
    <b class='flag-5'>LabView</b> TCP數據傳輸的7個實例詳細資料概述

    手把手教你LabVIEW視覺設計

    手把手教你LabVIEW視覺設計手把手教你LabVIEW視覺設計手把手教你LabVIEW
    發表于 03-06 01:41 ?3149次閱讀

    基于LABVIEW的SQL Server數據庫操作教程

    基于LABVIEW的SQL Server數據庫操作教程
    發表于 09-13 14:54 ?92次下載

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

    由于面向對象需要降低耦合性,那么基于類的操作者也需要考慮如何降低耦合性。當Nest Actor給Root Actor發送消息時,需要調用Root Actor的消息類的Send ***.vi,這就導致了Nest
    的頭像 發表于 09-23 10:51 ?7326次閱讀

    AT32講堂023 | AT32 MCU TCP client與TCP server如何與PC端通信

    概述使用TCP執行通訊時,會有ServerClient的差別。Server是經由開啟特定的Port來等待來自Client端的連線需求;而Clien
    的頭像 發表于 08-19 09:52 ?1265次閱讀
    AT32講堂023 | AT32 MCU TCP <b class='flag-5'>client</b>與TCP <b class='flag-5'>server</b>如何與PC端通信

    Eureka Client的創建案例

    在上篇中已經講了 Eureka Server 的配置文件讀取。接下來講講 Eureka Client 的創建。每一個 eureka server 都是一個 eureka client
    的頭像 發表于 10-09 17:03 ?523次閱讀
    Eureka <b class='flag-5'>Client</b>的創建案例
    主站蜘蛛池模板: 麻豆国产96在线日韩麻豆| qovd电影| 欧美成人中文字幕在线视频| 国产AV亚洲国产AV麻豆| 0855福利| 亚洲国产精品一区二区第一页| 年轻的女职工在线观看| 娇妻被朋友玩得呻吟在线电影| 东莞桑拿美女| 99re久久超碰视频精品| 一个人免费观看HD完整版| 乌克兰10一12x video| 欧美午夜理伦三级在线观看| 久久免费视频在线观看6| 国产在线亚洲精品观看不卡| 夫妻日本换H视频| FREE乌克兰嫩交HD| 5g天天奭视频| 在线亚洲黄色| 亚洲精品蜜桃AV久久久| 无码国产成人777爽死| 日本免费一本天堂在线| 免费精品一区二区三区在线观看| 久草色香蕉视频在线| 国产中文字幕乱码免费| 国产精品乱码色情一区二区视频| 成人性生交大片免费看金瓶七仙女 | 久久亚洲人成国产精品| 国产做国产爱免费视频| 国产成人免费在线观看| 草莓视频在线观看完整高清免费 | 一个人的视频在线观看免费观看| 无码AV熟妇素人内射V在线 | 5566精品资源在线播放| 伊人色综合久久天天网| 一本到高清视频在线观看三区| 亚洲毛片网| 亚洲视频在线免费看| 亚洲欧美国产旡码专区| 亚洲三级在线观看| 夜色伊甸园|