新聞中心

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

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

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

在主循環(huán)中使用事件驅(qū)動(dòng)機(jī)制處理用戶在前面板的操作。打開(kāi)設(shè)備的程序框圖如圖2.13所示。在圖中調(diào)用VCI_OpenDevice函數(shù)打開(kāi)設(shè)備,如果打開(kāi)成功,則調(diào)用VCI_InitCAN函數(shù)初始化設(shè)備,成功的話就處理一下前面板控件的狀態(tài)。


圖2.13打開(kāi)設(shè)備框圖

圖2.14所示是接收數(shù)據(jù)的程序框圖。接收數(shù)據(jù)的過(guò)程是在一個(gè)while循環(huán)中,這個(gè)循環(huán)在程序已開(kāi)始時(shí)就一直運(yùn)行,直到前面板上的stop按鈕被按下并在其ValueChange事件中使stop2的值變?yōu)镕alse時(shí)才停止。在循環(huán)當(dāng)中,只有設(shè)備已經(jīng)啟動(dòng)時(shí)才會(huì)進(jìn)行讀操作。在Demo中VCI_Reveive函數(shù)一次只讀取一幀,輸出的數(shù)據(jù)保存到VCI_CAN_OBJ_R結(jié)構(gòu)中,如果VCI_Reveive函數(shù)執(zhí)行成功的話,就把接收到的數(shù)據(jù)通過(guò)事件傳遞給主循環(huán)處理。


圖2.14接收數(shù)據(jù)

發(fā)送數(shù)據(jù)的過(guò)程與接收數(shù)據(jù)的過(guò)程相似。當(dāng)前面板上的Transmit按鈕被按下時(shí),才會(huì)把VCI_CAN_OBJ_T結(jié)構(gòu)中的數(shù)據(jù)通過(guò)VCI_Transmit函數(shù)發(fā)送到CAN總線上。發(fā)送成功后,生成一個(gè)TREvent事件,并通過(guò)這個(gè)事件把VCI_CAN_OBJ_T結(jié)構(gòu)的內(nèi)容傳遞給主循環(huán)顯示。


圖2.15發(fā)送數(shù)據(jù)

3、VCI函數(shù)調(diào)用參考

中使用CallingLibraryFunctionNode調(diào)用VCI庫(kù)函數(shù)的配置如下各表所示。

3.1VCI_OpenDevice

3.2VCI_CloseDevice

3.3VCI_InitCan

3.4VCI_ReadBoardInfo

3.5VCI_ReadErrInfo

3.6VCI_ReadCanStatus



關(guān)鍵詞: LabVIEW

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉