新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 在LabVIEW下使用ZLGCAN接口函數庫

        在LabVIEW下使用ZLGCAN接口函數庫

        作者: 時間:2012-07-11 來源:網絡 收藏
        1、概述

        VirtualCANInterface(VCI)函數庫是專門為ZLGCAN設備在PC上使用而提供的應用程序接口。庫里的函數從ControlCAN.dll中導出,在7.0中可以直接使用這些庫函數而無需額外的操作。VCI函數的使用流程如圖1.1所示。


        圖1.1VCI函數使用流程

        2、使用VCI函數

        2.1數據結構

        VCI函數庫中定義了一些數據結構用于數據交換,在使用VCI函數前應該先創建這些數據結構。在中創建這些結構時應該使用簇——Cluster。一個簇就是一個由若干不同的數據類型的成員組成的集合體,類似于C語言中的結構。其成員可以是任意的數據類型,但必須都是控件或都是顯示件。成員的邏輯順序是由它們被放入簇的先后順序決定的。

        2.1.1VCI_BOARD_INFO結構

        VCI_BOARD_INFO結構體包含ZLGCAN系列接口卡的設備信息。結構體將在VCI_ReadBoardInfo函數中被填充。

        typedefstruct_VCI_BOARD_INFO{
        USHORThw_Version;
        USHORTfw_Version;
        USHORTdr_Version;
        USHORTin_Version;
        USHORTirq_Num;
        BYTEcan_Num;
        CHARstr_Serial_Num[20];
        CHARstr_hw_Type[40];
        USHORTReserved[4];
        }VCI_BOARD_INFO,*PVCI_BOARD_INFO;


        圖2.1VCI_BOARD_INFO結構

        2.1.2VCI_CAN_OBJ結構

        VCI_CAN_OBJ結構體在VCI_Transmit和VCI_Receive函數中被用來傳送CAN信息幀。

        typedefstruct_VCI_CAN_OBJ{
        UINTID;
        UINTTimeStamp;
        BYTETimeFlag;
        BYTESendType;
        BYTERemoteFlag;
        BYTEExternFlag;
        BYTEDataLen;
        BYTEData[8];
        BYTEReserved[3];
        }VCI_CAN_OBJ,*PVCI_CAN_OBJ;


        圖2.2VCI_CAN_OBJ結構

        2.1.3VCI_CAN_STATUS結構

        VCI_CAN_STATUS結構體包含CAN控制器狀態信息。結構體將在VCI_ReadCanStatus函數中被填充。

        typedefstruct_VCI_CAN_STATUS{
        UCHARErrInterrupt;
        UCHARregMode;
        UCHARregStatus;
        UCHARregALCapture;
        UCHARregECCapture;
        UCHARregEWLimit;
        UCHARregRECounter;
        UCHARregTECounter;
        DWORDReserved;
        }VCI_CAN_STATUS,*PVCI_CAN_STATUS;


        圖2.3VCI_CAN_STATUS結構

        2.1.4VCI_ERR_INFO結構

        VCI_ERR_INFO結構體用于裝載VCI庫運行時產生的錯誤信息。結構體將在VCI_ReadErrInfo函數中被填充。

        typedefstruct_ERR_INFO{
        UINTErrCode;
        BYTEPassive_ErrData[3];
        BYTEArLost_ErrData;
        }VCI_ERR_INFO,*PVCI_ERR_INFO;


        圖2.4VCI_ERR_INFO結構

        2.1.5VCI_INIT_CONFIG結構

        VCI_INIT_CONFIG結構體定義了初始化CAN的配置。結構體將在VCI_InitCan函數中被填充。

        typedefstruct_INIT_CONFIG{
        DWORDAccCode;
        DWORDAccMask;
        DWORDReserved;
        UCHARFilter;
        UCHARTiming0;
        UCHARTiming1;
        UCHARMode;
        }VCI_INIT_CONFIG,*PVCI_INIT_CONFIG;


        圖2.5VCI_INIT_CONFIG結構

        下面以VCI_CAN_OBJ結構為例,在7.0中創建VCI_CAN_OBJ結構。先在ArrayCluster控件子模板選擇一個簇的空殼放到前面板上,將其命名為VCI_CAN_OBJ,然后根據需要放置的控件多少用定位工具調整簇空殼的大小;按照VCI_CAN_OBJ結構成員的順序,從Numeric控件子模板中取NumericIndicator控件或從前面板上移動控件到簇的空殼中,并按圖2.6將各NumericIndicator控件重命名。


        上一頁 1 2 3 4 下一頁

        關鍵詞: LabVIEW

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 呼图壁县| 山丹县| 彭泽县| 长沙市| 廉江市| 芦溪县| 共和县| 南康市| 洪江市| 抚顺市| 大邑县| 榆社县| 武平县| 都江堰市| 本溪市| 舒兰市| 敦化市| 怀宁县| 卢湾区| 读书| 墨竹工卡县| 大厂| 秦安县| 南部县| 旌德县| 凉山| 东兰县| 余干县| 策勒县| 汝南县| 襄垣县| 台山市| 沙雅县| 濉溪县| 平罗县| 崇文区| 交口县| 新乡县| 南宁市| 铜梁县| 阿鲁科尔沁旗|