版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
測試軟件與接口函數使用 使用手 使用手CANTest通用測試軟件、CAN接口函數摘CAN總線測試的必備軟件。CAN接口函數修訂歷增加CANWIFICANtest新功增加新PCIe目測試軟件使用說 啟動 DBC與按ID分類顯 幀ID顯示方 幀ID顯示格 滾 接口函數庫說明及其使 接口庫函數使用方 VC調用動態(tài)庫的方 VB調用動態(tài)庫的方 USBCAN-I/II/I+/II+驅動的安 PCI-9820驅動的安 參考資 免責.................................................................................................................CAN-bus通用測試軟件是一個專門用來對所有的ZLGCAN系列板卡進試的軟件設備類型選在這個框中您可以選擇您要打開的設備索引號和CAN通道,以及設置CAN的初按鈕打開設備操作窗口并自動打開設備和啟動CAN通道。濾波設:在其中先選擇濾波模式,然后通過設定濾波器來設置需要過濾的CAN幀獲取設備信發(fā)送數送”按鈕就可以發(fā)送數據了(CAN:不同的CAN幀(最多可設置100幀,和每幀之間間隔、每批之間間隔:接收時間標有智能CAN卡才有時間標識;sDBC與按ID分類顯用戶點擊后,打開DBC界面,用戶可以導入需要的DBC文件進行幀(的顯示,即“ID固定,數據變化”。有變化的數據段會標紅。實時保存與停止保啟動之前使能此功能,注意保存位置不能指C盤,可能無法保存。點擊停止保存時,總線利用錯誤信息顯ID顯示方ID顯示格滾顯示幀接口卡設的函數庫說明,如果需要查看已經停產型號函數說明,請參見V2.92版本。2.1PCI-5121(已經停產1PCI-2USBCAN-3USBCAN-4PCI-5CAN232(已經停產6PCI-5110(已經停產7CANmini(已經停產8ISA-9620(已經停產9ISA-5420(已經停產PC104-CAN(已經停產PC104-CANET-100T/200T、CANET-UDPDN-PCI9810(已經停產PCI-PC104-PC104-PCI-CANET-100T/200T的TCP工作PEC-9920(已經停產PEC-PCIe-9220(已經停產PCIE-PCI-5010-PCI-5010-USBCAN-E-USBCAN-E-USBCAN-2E-USBCAN-2E-PCI-5020-PCI-5020-EG20T-CAN(已經停產PCIe-PCIE-CANWiFi-200TUDP工作方PCIe-PCIe-PCIe-PCIe-PCIe-PCIe-接口庫函CANCANCAN狀態(tài)結表格式幀過濾結構CAN發(fā)送CAN復位讀某一路CAN初始化某一路CANET通訊結構避免無數據時線程死等。避免客戶來操作中斷,導致CAN卡丟幀、PC死機或者藍屏。PC資源。發(fā)送返回實際成功的幀數。并且可以設置發(fā)送重試阻塞超時。默認是1.5秒-4秒??ê虲AN總線的狀態(tài)。分析后,制定正確的通訊策靈活的接口移植性。所有的致遠電子CAN接口卡均使用同一套動態(tài)庫,客戶可錯誤碼定2.2值CAN錯誤CAN控制器內部CAN控制器CAN控制器消極錯CAN控制器仲裁丟CAN控制器總線錯CAN控制器總線關WCANET錯誤 GetReferencesocket的連接時失敗,只發(fā)送了部分的幀數據發(fā)得太快,描VCI_BOARD_INFO結構體包含ZLGCAN系列接口卡的設備信息。結構體將在typedefstructtypedefstruct{USHORThw_Version;USHORTfw_Version;USHORTdr_Version;USHORTin_Version;USHORTirq_Num; }VCI_BOARD_INFO,成V1.00(描typedefstruct{UINT typedefstruct{UINT }VCI_CAN_OBJ,成設備接收到某一幀的時間標識。只有智能卡才有時間標示,如USBCAN系列與ID,=1受DataLen約束。如DataLen定義為3,即Data[0]、Data[1]、Data[2]是有效的。描typedefstruct{UCHARErrInterrupt; typedefstruct{UCHARErrInterrupt; }VCI_CAN_STATUS,成描VCI_ERR_INFO結構體用于裝載VCI庫運行時產生的錯誤信息。結構體將在typedefstructtypedefstruct{UINTBYTEArLost_ErrData;}VCI_ERR_INFO,成描typedefstruct{DWORDAccCode;DWORDAccMask; typedefstruct{DWORDAccCode;DWORDAccMask; }VCI_INIT_CONFIG,成碼。SJA1000的幀過濾碼。對接收的CAN幀ID進行過濾,對應位為0的是0(BTR01(BTR1,=1備CAN波特注意:當設備類型為PCI-5010-U、PCI-5020-U、USBCAN-E-U、USBCAN-2E-U特率和幀過濾不在這里設置,具體操作見VCI_SetReference說明描typedefstruct{charszpwd[10];charszdesip[20];intdesport;BYTEblisten;}typedefstruct{charszpwd[10];charszdesip[20];intdesport;BYTEblisten;}成 12.18.0描當設備類型為PCI-5010-U、PCI-5020-U、USBCAN-E-U、USBCAN-2E-U時,定義typedef_VCI_FILTER_RECORD{DWORDtypedef_VCI_FILTER_RECORD{DWORDStart;DWORDEnd;成接口庫函數說描 stdcallVCI_OpenDevice(DWORDDevType,DWORDDevIndex,參那么后面插入的這個設備索引號就是1,以此類推。示#include#includeintnDeviceType= /*PCIe-9221intnDeviceInd=0; /*索引號0*/intn =0;DWORDdwRel=VCI_OpenDevice(nDeviceType,nDeviceInd,if(dwRel!={return}描DWORDDWORDstdcallVCI_CloseDevice(DWORDDevType,DWORD參#includeintnDeviceType=24; #includeintnDeviceType=24; intnDeviceInd=0; //索引號0BOOLbRel;bRel=VCI_CloseDevice(nDeviceType,描此函數用以初始化指定的CANCAN通道時,需要多次調用(當設備類DWORDstdcallVCI_InitCAN(DWORDDWORDstdcallVCI_InitCAN(DWORDDevType,DWORDDevIndex,DWORDCANIndex,PVCI_INIT_CONFIGpInitConfig);參那么后面插入的這個設備索引號就是1,以此類推。第幾路CAN。即對應卡的CAN通道號,CAN0為0,CAN1為1,以此類初始化參數結構,為一個VCI_INIT_CONFIG結構體變量。(PCI-5010-U、PCI-5020-U、USBCAN-E-U、USBCAN-2E-U時,對濾波和波特率的2.3ACR0ACR1ACR2,對應SJA1000中的四個寄存器AMR0AMR1AMR2AMR3,d0,詳見1,詳見AccCode與AccMask配置值請使用測試軟件CANtest中“濾波設置”來計算驗收碼0x 即為AccCode值,碼0x 即為AccMask值。VCI_InitCAN的返回#includeintnDeviceType=24; #includeintnDeviceType=24; intnDeviceInd=0; //索引號0intnCANInd=0;VCI_INIT_CONFIGDWORDdwRel=VCI_InitCAN(nDeviceType,nDeviceInd,nCANInd,&vic);if(dwRel==STATUS_ERR){VCI_CloseDevice(nDeviceType,returnFALSE;}描DWORDDWORDstdcallVCI_ReadBoardInfo(DWORDDevType,DWORDDevIndex,PVCI_BOARD_INFO參那么后面插入的這個設備索引號就是1,以此類推。示#include#includeintnDeviceType=24; intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道VCI_BOARD_INFOvbi;DWORDdwRel=VCI_ReadBoardInfo(nDeviceType,nDeviceInd,nCANInd,描DWORDstdcallDWORDstdcallVCI_ReadErrInfo(DWORDDevType,DWORDDevIndex,DWORDCANIndex,PVCI_ERR_INFOpErrInfo);參那么后面插入的這個設備索引號就是1,以此類推。VCI_OpenDevice,VCI_CloseDeviceVCI_ReadBoardInfo這些與特定的第幾路錯誤碼的多種組合之一:(CANET相關錯誤代碼,見2.3錯誤碼定義)無無無無無無無無無無無無無無表示為執(zhí)行命令失敗錯誤無無無CAN控制器內部FIFO出無無CAN控制器無CAN控制器消極錯無CAN控制器仲裁丟無無CAN控制器總線錯備當(PErrInfo->ErrCode&0x0004)==0x0004時,存在CAN控制器消極錯位位00011011bit5=0bitbitbitbit0001100010ID.28-00110ID.20-0010000101IDE00111ID.17-01111ID.12-01110ID.4-011000110101001010110101001000CRC1100011001110111101010010100011011010011差1011111100]]當(PErrInfo->ErrCode&0x0008)==0x0008時,存在CAN控制器仲裁丟失——————位43210000000000011000102000113001004001015001106001117010008010019仲裁丟失在識別碼的01010仲裁丟失在識別碼的010110110001101仲裁丟失在識別碼的01110仲裁丟失在識別碼的01111仲裁丟失在識別碼的10000仲裁丟失在識別碼的10001仲裁丟失在識別碼的10010仲裁丟失在識別碼的10011仲裁丟失在識別碼的10100仲裁丟失在識別碼的10101仲裁丟失在識別碼的10110仲裁丟失在識別碼的10111仲裁丟失在識別碼的11000仲裁丟失在識別碼的11001仲裁丟失在識別碼的11010仲裁丟失在識別碼的11011仲裁丟失在識別碼的11100仲裁丟失在識別碼的11101仲裁丟失在識別碼的11110仲裁丟失在識別碼的11111示#include#includeintnDeviceType=24; intnDeviceType=24; intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道VCI_ERR_INFOvei;DWORDdwRel=VCI_ReadErrInfo(nDeviceType,nDeviceInd,nCANInd,描DWORDstdcallDWORDstdcallVCI_ReadCANStatus(DWORDDevType,DWORDDevIndex,DWORDCANIndex,PVCI_CAN_STATUSpCANStatus);參那么后面插入的這個設備索引號就是1,以此類推。第幾路CAN。即對應卡的CAN通道號,CAN0為0,CAN1為1,以此類用來CAN狀態(tài)的VCI_CAN_STATUS結構體指針。取錯誤碼ERR_CMDFAILED)示#include#includeintnDeviceType=24; intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道VCI_INIT_CONFIGvic;VCI_CAN_STATUSDWORDdwRel=VCI_ReadCANStatus(nDeviceType,nDeviceInd,nCANInd,描DWORDstdcallVCI_GetReference(DWORDDevType,DWORDstdcallVCI_GetReference(DWORDDevType,DWORDDevIndex,DWORDCANIndex,DWORDRefType,PVOIDpData);參那么后面插入的這個設備索引號就是1,以此類推。第幾路CAN。即對應卡的CAN通道號,CAN0為0,CAN1為1,以此類備當設備類型為CANET-UDP時0字符串首指針,用來存儲所讀取出來的CANET-UDP的IP地址CANET-UDPIP地址。例charszip[20];如果此函數調用成功,則在szip中返回CANET-UDP的地址1CANET-UDP的工作端口。例如:CANET-UDP的工作端DWORDport;如果此函數調用成功,則在port中返回CANET-UDP的工作端口當設備類型為CANET-TCP時們的CANtestCANtest0所出來的CANET-TCPIP地(CANET工作在服務器模式時使用已經連接上的CANET-TCPIP地址。例如:charszip[20];如果此函數調用成功,szip1儲讀取出來的工作在服務器模式CANET-TCP的工作端口。例如DWORDport;如果此函數調用成功,portCANET-2儲本機上的TCP工作端口(CANET在服務器和客戶端模DWORDport;如果此函數調用成功,則在port中返回本機上的工作4TCP工作戶端方式,1為服務器方式。例如:DWORDiType;54個字節(jié),存儲連接到本機服務(當CANET工作連接到本機上客戶端CANET-TCP數量。DWORDVCI_GetReference(6結構,獲取接工作在客戶端模式cli.iIndex typedeftypedefstruct{intiIndex;HANDLEHANDLE; 示#include#includeintnDeviceType=12; intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道charszip[20];DWORDdwRel=VCI_GetReference(nDeviceType,nDeviceInd,描此函數用以設置CANET與PCI-5010-U/PCI-5020-U/USBCAN-E-U/USBCAN-2E-U等DWORDDWORDstdcallVCI_SetReference(DWORDDevType,DWORDDevIndex,DWORDCANIndex,DWORDRefType,PVOIDpData);參那么后面插入的這個設備索引號就是1,以此類推。第幾路CAN。即對應卡的CAN通道號,CAN0為0,CAN1為1,以此類備 這個函數是用來針對各個不同設備的一些特定操作的。函數中PVOID型參數pData隨不同設備的不同操作而具有不同的當設備類型為PCI-5010-U、PCI-5020-U、USBCAN-E-U、USBCAN-2E-U時0指向DWORDDWORD變量的值為寫入波特率寄存器BTR的值。戶應咨詢致遠電子CAN-bus技術支持工程 或者發(fā)送郵件到:,計算出合適的波值(注意:CAN網絡最大通訊波特率不應該必須在調用VCI_InitCAN之前調用本函數 : : : : : : : : : :1VCIFILTERRECORD填充CAN濾波器的濾波表格(每添加一條的幀接收過濾。應該在調VCI_InitCAN置詳操作見光盤2NULL,可忽3NULL,可忽4指向DWORD類型的指針,該DWORD變量的值為發(fā)送的超時時間,單位為ms應小于1500ms當設備類型為CANET-UDP時0儲所指定操作的CANETE-UDPIPcharszip[20];1長度為4所指定操作的CANET-UDP的工作端設置所要操作的CANET-UDP的工作端口DWORDport=5000;當設備類型為CANET-TCP時0字符串首指0字符串首指針,用來設置所要操作的CANET-TCP的IP地址。例如所指定操作CANET-TCPIP(當CANET工作在服務charszip[20];1DWORD工作在服務器模式時使2機上的TCP設置本機TCPDWORDport;4機的TCP工作模式。服務器模式則本機工作在客戶端模式,如果CANET-TCP工作在客戶端模式則本機工作在服務器模式。0為客戶端方式,1為服務器方式。DWORDiType=0;7結構,刪除接(當CANET工作在客戶端模cli.iIndex typedeftypedefstruct{intiIndex;HANDLE charszip[32];IP 示#include#includeintnDeviceType=12; intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道DWORDport=4001; DWORDdwRel;dwRel=VCI_SetReference(nDeviceType,nDeviceInd,描DWORDstdcallVCI_StartCAN(DWORDDevType,DWORDDWORDstdcallVCI_StartCAN(DWORDDevType,DWORDDevIndex,DWORD參那么后面插入的這個設備索引號就是1,以此類推。CAN。即對應卡的CAN通道號,CAN00,CAN11,以此類推。#includeintnDeviceType=#includeintnDeviceType= //PCIe-intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道DWORDdwRel;VCI_INIT_CONFIGdwRel=VCI_OpenDevice(nDeviceType,nDeviceInd,nif(dwRel!=STATUS_OK){return}dwRel=VCI_InitCAN(nDeviceType,nDeviceInd,nCANInd,&vic);if(dwRel==STATUS_ERR){VCI_CloseDevice(nDeviceType,returnFALSE;}dwRel=VCI_StartCAN(nDeviceType,nDeviceInd,nCANInd);if(dwRel==STATUS_ERR){VCI_CloseDevice(nDeviceType,returnFALSE;}描DWORDstdcallVCI_ResetCAN(DWORDDWORDstdcallVCI_ResetCAN(DWORDDevType,DWORDDevIndex,DWORD參那么后面插入的這個設備索引號就是1,以此類推。CAN。即對應卡的CAN通道號,CAN00,CAN11,以此類推。新VCI_StartCAN才能使用)示#include#includeintnDeviceType=24; intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道DWORDdwRel;dwRel=VCI_ResetCAN(nDeviceType,nDeviceInd,描此函數用以獲取指定CAN通道的接收緩沖區(qū)中,接收到但尚未被的幀數量。主ULONGstdcallVCI_GetReceiveNum(DWORDDevType,ULONGstdcallVCI_GetReceiveNum(DWORDDevType,DWORDDevIndex,DWORD參那么后面插入的這個設備索引號就是1,以此類推。CAN。即對應卡的CAN通道號,CAN00,CAN11,以此類推。#includeintnDeviceType=24; #includeintnDeviceType=24; intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道DWORDdwRel;dwRel=VCI_GetReceiveNum(nDeviceType,nDeviceInd,描DWORDstdcallDWORDstdcallVCI_ClearBuffer(DWORDDevType,DWORDDevIndex,DWORD參那么后面插入的這個設備索引號就是1,以此類推。CAN。即對應卡的CAN通道號,CAN00,CAN11,以此類推。#includeintnDeviceType=24; #includeintnDeviceType=24; intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道DWORDdwRel;dwRel=VCI_ClearBuffer(nDeviceType,nDeviceInd,描ULONGULONGstdcallVCI_Transmit(DWORDDevType,DWORDDevIndex,DWORDCANIndex,PVCI_CAN_OBJpSend,ULONGLen);參那么后面插入的這個設備索引號就是1,以此類推。第幾路CAN。即對應卡的CAN通道號,CAN0為0,CAN1為1,以此類要發(fā)送的幀結構體VCI_CAN_OBJ數組的首指針#include#include#include#includeintnDeviceType=intnDeviceInd=0;intnCANInd=0;DWORDdwRel;//PCIe-CAN0vco[0].ID= vco[0].SendType=vco[0].RemoteFlag=vco[0].ExternFlag=vco[0].DataLen=1;vco[0].Data[0]=0x66;vco[1].ID= vco[1].SendType=vco[1].RemoteFlag=vco[1].ExternFlag=vco[1].DataLen=1;vco[1].Data[0]=0x55;0為0為dwRelVCI_Transmit(nDeviceType,nDeviceIndnCANInd,vco,2);描ULONGstdcallVCI_Receive(DWORDDevType,DWORDDevIndex,DWORDCANIndex,PVCI_CAN_OBJpReceive,ULONGLen,INTWaitTime=-1);ULONGstdcallVCI_Receive(DWORDDevType,DWORDDevIndex,DWORDCANIndex,PVCI_CAN_OBJpReceive,ULONGLen,INTWaitTime=-1);參那么后面插入的這個設備索引號就是1,以此類推。第幾路CAN。即對應卡的CAN通道號,CAN0為0,CAN1為1,以此類生,請調用VCI_ReadErrInfo函數來獲取錯誤碼。示#include<string.h>intnDeviceType=24; intnDeviceInd=0; //索引號0intnCANInd=0; //CAN0通道DWORDdwRel;VCI_CAN_OBJdwRel=VCI_Receive(nDeviceType,nDeviceInd,nCANInd,vco,100, 下。庫函數文件總共有三個文件:ControlCAN.hVC調用動態(tài)庫的方在擴展名為.CPP的文件中包含ControlCAN.h頭文件。如:#include“ControlCAN.h”在工程的連接器設置中連接到ControlCAN.lib添加ControlCAN.libVB調用動態(tài)庫的方[Public|Private]D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深入解析技術服務合同范本模板
- 保安服務提供商合同
- 延期還款協(xié)議
- 物資招標文件寫作技巧
- 水利建設合同協(xié)議
- 貨品購買合同格式
- 專業(yè)合同協(xié)議合規(guī)管理方法服務
- 聯營共營合同范例
- 心理輔導與咨詢服務
- 節(jié)能改造合同能源
- 供應商質量問題處理流程范文
- 班組長管理能力提升培訓
- 裝飾裝修施工方案
- 中班語言《新房子》3--完整版PPT課件(24頁PPT)
- 高電壓技術:5-2絕緣電阻、吸收比、泄漏電流的測量
- 王守仁英國文學選讀課后答案
- (完整版)20以內帶括號加減法口算練習
- 奧星-計算機化系統(tǒng)驗證要點分析與校準管理
- 北京九強生物技術股份有限公司新建研發(fā)中心及參考試驗室項目環(huán)境影響評價報告書簡本
- 中國國際商會入會申請表
- 心臟彩超電子病例檢查模塊
評論
0/150
提交評論