最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

LabVIEWCompactRIO 開發(fā)指南22 CVT客戶端通信(CCC)

2023-05-18 10:01 作者:bjcyck  | 我要投稿

LabVIEWCompactRIO?開發(fā)指南22

CVT客戶端通信(CCC)

如果使用第3章中討論的CVT進(jìn)行進(jìn)程間通信,請考慮使用CCC。如果已經(jīng)創(chuàng)建了CVT標(biāo)簽,并且想在網(wǎng)絡(luò)上發(fā)布此數(shù)據(jù),CCC不失為一個(gè)簡單而優(yōu)雅的解決方案。它基于TCP/IP,最適合1:1系統(tǒng)配置。如果使用的是1:N或N:1系統(tǒng)配置,請考慮在實(shí)現(xiàn)網(wǎng)絡(luò)通信時(shí)將CVT標(biāo)簽綁定到網(wǎng)絡(luò)發(fā)布的共享變量。

客戶端通信接口的主要功能是在服務(wù)器(CompactRIO)上的CVT實(shí)例和客戶端之間共享信息。通過將CVT的部分從一側(cè)鏡像到另一側(cè),反之亦然。

安裝CCC庫的說明

步驟1:導(dǎo)航至NI開發(fā)人員專區(qū)白皮書《CVTClient?Communication?(CCC)?Reference?Library》。

步驟2:按照“下載”部分下的說明進(jìn)行操作。CCC庫顯示在“User?Libraries”選項(xiàng)板下。

實(shí)現(xiàn)

CCC的基礎(chǔ)實(shí)現(xiàn)是TCP/IP。具體來說,它是STM的改編版,它提供了一種獨(dú)立于平臺(tái)的按名稱發(fā)送消息的方式,同時(shí)保持原始TCP通信的性能和吞吐量。在涉及數(shù)百甚至數(shù)千個(gè)標(biāo)簽的應(yīng)用程序中,高效通信的重要性是顯而易見的。

CCC接口由兩個(gè)單獨(dú)的元素組成。接口的服務(wù)器部分充當(dāng)TCP服務(wù)器,由處理來自客戶端的數(shù)據(jù)請求的命令解析器組成。接口的客戶端部分充當(dāng)TCP客戶端并啟動(dòng)與服務(wù)器的通信。然后,它向服務(wù)器發(fā)送命令來配置和發(fā)送/接收數(shù)據(jù)。

圖4.30.CCC概述

CCC協(xié)議實(shí)現(xiàn)強(qiáng)調(diào)性能優(yōu)化,通過在第一次調(diào)用時(shí)盡可能多地配置,使重復(fù)操作的工作更少。因此,協(xié)議的實(shí)現(xiàn)方式是,客戶端必須首先使用BoundAddress參數(shù)標(biāo)識所有感興趣的標(biāo)記。在第一次執(zhí)行時(shí),服務(wù)器在CVT中按標(biāo)簽的索引查找標(biāo)簽。至此,僅使用CVT索引API來確保盡可能高的性能。

在客戶端和服務(wù)器組件上,所有重復(fù)操作的實(shí)現(xiàn)都考慮到了確定性。它們在每個(gè)函數(shù)的第一次調(diào)用時(shí)分配所有必要的資源,并使用函數(shù)全局變量在迭代之間存儲(chǔ)數(shù)據(jù)塊。這可確保在第一次迭代后不會(huì)發(fā)生內(nèi)存分配。

API和示例

CCC服務(wù)器是一個(gè)VI,旨在與應(yīng)用程序的其余部分并行運(yùn)行。這允許計(jì)算機(jī)控制的其余部分異步執(zhí)行,從而更好地控制應(yīng)用程序定時(shí)。服務(wù)器API具有用于啟動(dòng)和停止CCC服務(wù)器的功能。需要在調(diào)用CCCStart?Server.vi.之前初始化CVT。

在大多數(shù)情況下,可以將接口的服務(wù)器和客戶端元素用作插入式組件。服務(wù)器只需要配置TCP端口(默認(rèn)為54444),客戶端需要服務(wù)器的IP地址和端口號。圖4.31顯示了包含以下步驟的CCC服務(wù)器應(yīng)用程序的示例:

1.初始化服務(wù)端CVT

2.初始化CCC服務(wù)器進(jìn)程,該進(jìn)程從應(yīng)用程序的其余部分異步執(zhí)行

3.使用CVTAPI函數(shù)(標(biāo)簽)在服務(wù)器端CVT中讀寫數(shù)據(jù)

4.停止CCC服務(wù)器進(jìn)程

圖4.31.CCC服務(wù)器示例-靜態(tài)標(biāo)記列表

在相應(yīng)的客戶端應(yīng)用程序中,如圖4.32所示,CCC寫入和讀取操作與其余HMI代碼串聯(lián)實(shí)現(xiàn)。這可確保在每次迭代時(shí)更新讀取和寫入標(biāo)記的值??蛻舳藨?yīng)用程序包括以下步驟:

1.初始化客戶端CVT

2.啟動(dòng)與服務(wù)器的連接

3.使用CVTAPI函數(shù)(標(biāo)簽)在客戶端CVT中讀寫數(shù)據(jù)

4.使用CCC客戶端讀寫VI在客戶端CVT和服務(wù)器端CVT之間傳輸數(shù)據(jù)

5.結(jié)束與服務(wù)器的連接

圖4.32.CCC客戶端示例—靜態(tài)標(biāo)記列表

有關(guān)CCC的更多信息,請參閱NI開發(fā)人員專區(qū)白皮書《CVTClient?Communication?(CCC)?Reference?Library》。

需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復(fù)制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個(gè)問題就不用加微信咨詢了。有關(guān)LabVIEW編程、LabVIEW開發(fā)等相關(guān)項(xiàng)目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網(wǎng)站搜索下載。


LabVIEWCompactRIO 開發(fā)指南22 CVT客戶端通信(CCC)的評論 (共 條)

分享到微博請遵守國家法律
邓州市| 定襄县| 岗巴县| 海安县| 通化县| 定日县| 四子王旗| 岳池县| 齐齐哈尔市| 隆德县| 海城市| 鹤壁市| 宜黄县| 肃北| 祥云县| 山西省| 亳州市| 汤原县| 白城市| 乳山市| 阿克陶县| 柘荣县| 民丰县| 云龙县| 兰西县| 衢州市| 贵定县| 沧源| 阿合奇县| 丹棱县| 响水县| 上高县| 新平| 浏阳市| 连平县| 封丘县| 双流县| 元朗区| 上犹县| 新巴尔虎右旗| 阿拉尔市|