在LabVIEW下使用ZLGCAN接口函數(shù)庫
在主循環(huán)中使用事件驅動機制處理用戶在前面板的操作。打開設備的程序框圖如圖2.13所示。在圖中調用VCI_OpenDevice函數(shù)打開設備,如果打開成功,則調用VCI_InitCAN函數(shù)初始化設備,成功的話就處理一下前面板控件的狀態(tài)。
圖2.13打開設備框圖
圖2.14所示是接收數(shù)據(jù)的程序框圖。接收數(shù)據(jù)的過程是在一個while循環(huán)中,這個循環(huán)在程序已開始時就一直運行,直到前面板上的stop按鈕被按下并在其ValueChange事件中使stop2的值變?yōu)镕alse時才停止。在循環(huán)當中,只有設備已經啟動時才會進行讀操作。在Demo中VCI_Reveive函數(shù)一次只讀取一幀,輸出的數(shù)據(jù)保存到VCI_CAN_OBJ_R結構中,如果VCI_Reveive函數(shù)執(zhí)行成功的話,就把接收到的數(shù)據(jù)通過事件傳遞給主循環(huán)處理。
圖2.14接收數(shù)據(jù)
發(fā)送數(shù)據(jù)的過程與接收數(shù)據(jù)的過程相似。當前面板上的Transmit按鈕被按下時,才會把VCI_CAN_OBJ_T結構中的數(shù)據(jù)通過VCI_Transmit函數(shù)發(fā)送到CAN總線上。發(fā)送成功后,生成一個TREvent事件,并通過這個事件把VCI_CAN_OBJ_T結構的內容傳遞給主循環(huán)顯示。
圖2.15發(fā)送數(shù)據(jù)
3、VCI函數(shù)調用參考
在LabVIEW中使用CallingLibraryFunctionNode調用VCI庫函數(shù)的配置如下各表所示。
3.1VCI_OpenDevice
3.2VCI_CloseDevice
3.3VCI_InitCan
3.4VCI_ReadBoardInfo
3.5VCI_ReadErrInfo
3.6VCI_ReadCanStatus
評論