新聞中心

EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 在LabVIEW下使用ZLGCAN接口函數(shù)庫

在LabVIEW下使用ZLGCAN接口函數(shù)庫

作者: 時(shí)間:2012-07-11 來源:網(wǎng)絡(luò) 收藏


圖2.6在前面板上創(chuàng)建VCI_CAN_OBJ結(jié)構(gòu)的簇

此時(shí),簇殼內(nèi)的成員的數(shù)據(jù)類型都為默認(rèn)的Double類型。在簇殼內(nèi)的邊框上彈出快捷菜單,選擇Representation。在下一級(jí)子菜單中選擇與VCI_CAN_OBJ結(jié)構(gòu)成員類型一致的類型。


圖2.7設(shè)置成員類型

2.2調(diào)用VCI庫函數(shù)

中調(diào)用VCI庫函數(shù)的過程比較簡(jiǎn)單。在Advanced函數(shù)子模板中提供了CallingLibraryFunctionNode,只要知道動(dòng)態(tài)連接庫里被導(dǎo)出的函數(shù)名稱及其參數(shù),就可以通過CallingLibraryFunctionNode調(diào)用。ZLGVCI函數(shù)庫已經(jīng)提供了庫里的函數(shù)聲明,因此,在中使用VCI函數(shù)庫將通過CallingLibraryFunctionNode來實(shí)現(xiàn)。

以調(diào)用VCI_OpenDevice函數(shù)為例。在LabVIEW圖形代碼窗口中放上調(diào)用庫函數(shù)節(jié)點(diǎn),用鼠標(biāo)雙擊節(jié)點(diǎn)或使用快捷菜單命令Configure彈出如圖2.8所示的對(duì)話框。


圖2.8調(diào)用庫函數(shù)1

單擊Browse…按鈕,打開一個(gè)文件對(duì)話框,找到ControlCAN.dll文件?;蛘咧苯虞斎霂煳募窂胶兔Q。

在FunctionName下拉列表框中照到VCI_OpenDevice函數(shù)?;蛑苯虞斎牒瘮?shù)名。


圖2.9調(diào)用庫函數(shù)2

在CallingConventions下拉列表框中選中stdcall(WINAPI),因?yàn)閂CI庫函數(shù)使用的是stdcall調(diào)用約定。

Parameter框中的returntype不變。Type框中選Numeric。DataType框中選Unsigned32-bitInterger。即指定返回32位整形數(shù)。

單擊AddaParameterAfter按鈕,Parameter框中的選項(xiàng)變?yōu)閳D2.10所示。將缺省值agr1改為DevType,因?yàn)樵赩CI_OpenDevice函數(shù)聲明中定義了參數(shù)DevType。


圖2.10調(diào)用庫函數(shù)3

Type框中選Numeric,并在DataType框中選Unsigned32-bitInteger。表示將編程時(shí)指定的LabVIEW數(shù)據(jù)類型為32位無符號(hào)整型。Pass框中選擇Value。

同樣,按以上步驟添加DevIndex、Reserved參數(shù)。

單擊OK按鈕退出這個(gè)對(duì)話框。調(diào)用庫函數(shù)節(jié)點(diǎn)變?yōu)閳D2.11所示中的情況。圖中的參數(shù)端口由上到下分別為returntype、DevType、DevIndex和Reserved。每個(gè)端口均有一個(gè)輸入端和一個(gè)輸出端,左邊的端口為輸入端,右邊的端口位輸出端。因?yàn)榈谝粋€(gè)端口是函數(shù)的返回值,所以沒有輸入端,在圖中可以看到其輸入端為填充的藍(lán)色。其他端口則是函數(shù)的參數(shù),如果參數(shù)的類型是指針的話,可以通過參數(shù)的輸出端輸出數(shù)據(jù)。在其他情況下,不需要使用參數(shù)的輸出端。


圖2.11調(diào)用庫函數(shù)程序框圖

2.3應(yīng)用示例

應(yīng)用示例Demo演示了在LabVIEW7.0下如何使用VCI庫函數(shù)。其界面如圖2.12所示。


圖2.12demo界面

在Demo中實(shí)現(xiàn)了數(shù)據(jù)的收發(fā),并將在CAN總線上收發(fā)的數(shù)據(jù)在列表示圖中顯示。Demo程序當(dāng)中有3個(gè)主要的While循環(huán):主循環(huán)、發(fā)送數(shù)據(jù)循環(huán)和接收數(shù)據(jù)循環(huán)。這三個(gè)循環(huán)是并行運(yùn)行的。其中,主循環(huán)處理與用戶交互的界面,并通過用戶事件TREvent與發(fā)送數(shù)據(jù)循環(huán)和接收數(shù)據(jù)循環(huán)通信。



關(guān)鍵詞: LabVIEW

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉