在LabVIEW下使用ZLGCAN接口函數庫
在主循環中使用事件驅動機制處理用戶在前面板的操作。打開設備的程序框圖如圖2.13所示。在圖中調用VCI_OpenDevice函數打開設備,如果打開成功,則調用VCI_InitCAN函數初始化設備,成功的話就處理一下前面板控件的狀態。

圖2.13打開設備框圖
圖2.14所示是接收數據的程序框圖。接收數據的過程是在一個while循環中,這個循環在程序已開始時就一直運行,直到前面板上的stop按鈕被按下并在其ValueChange事件中使stop2的值變為False時才停止。在循環當中,只有設備已經啟動時才會進行讀操作。在Demo中VCI_Reveive函數一次只讀取一幀,輸出的數據保存到VCI_CAN_OBJ_R結構中,如果VCI_Reveive函數執行成功的話,就把接收到的數據通過事件傳遞給主循環處理。

圖2.14接收數據
發送數據的過程與接收數據的過程相似。當前面板上的Transmit按鈕被按下時,才會把VCI_CAN_OBJ_T結構中的數據通過VCI_Transmit函數發送到CAN總線上。發送成功后,生成一個TREvent事件,并通過這個事件把VCI_CAN_OBJ_T結構的內容傳遞給主循環顯示。

圖2.15發送數據
3、VCI函數調用參考
在LabVIEW中使用CallingLibraryFunctionNode調用VCI庫函數的配置如下各表所示。
3.1VCI_OpenDevice

3.2VCI_CloseDevice

3.3VCI_InitCan

3.4VCI_ReadBoardInfo

3.5VCI_ReadErrInfo

3.6VCI_ReadCanStatus
評論