版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
测试软件与接口函数使用 使用手 使用手CANTest通用测试软件、CAN接口函数摘CAN总线测试的必备软件。CAN接口函数修订历增加CANWIFICANtest新功增加新PCIe目测试软件使用说 启动 DBC与按ID分类显 帧ID显示方 帧ID显示格 滚 接口函数库说明及其使 接口库函数使用方 VC调用动态库的方 VB调用动态库的方 USBCAN-I/II/I+/II+驱动的安 PCI-9820驱动的安 参考资 免责.................................................................................................................CAN-bus通用测试软件是一个专门用来对所有的ZLGCAN系列板卡进试的软件设备类型选在这个框中您可以选择您要打开的设备索引号和CAN通道,以及设置CAN的初按钮打开设备操作窗口并自动打开设备和启动CAN通道。滤波设:在其中先选择滤波模式,然后通过设定滤波器来设置需要过滤的CAN帧获取设备信发送数送”按钮就可以发送数据了(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状态结表格式帧过滤结构CAN发送CAN复位读某一路CAN初始化某一路CANET通讯结构避免无数据时线程死等。避免客户来操作中断,导致CAN卡丢帧、PC死机或者蓝屏。PC资源。发送返回实际成功的帧数。并且可以设置发送重试阻塞超时。默认是1.5秒-4秒。卡和CAN总线的状态。分析后,制定正确的通讯策灵活的接口移植性。所有的致远电子CAN接口卡均使用同一套动态库,客户可错误码定2.2值CAN错误CAN控制器内部CAN控制器CAN控制器消极错CAN控制器仲裁丢CAN控制器总线错CAN控制器总线关WCANET错误 GetReferencesocket的连接时失败,只发送了部分的帧数据发得太快,描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错误码定义)无无无无无无无无无无无无无无表示为执行命令失败错误无无无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状态的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个字节,存储连接到本机服务(当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技术支持工程 或者发送邮件到:,计算出合适的波值(注意:CAN网络最大通讯波特率不应该必须在调用VCI_InitCAN之前调用本函数 : : : : : : : : : :1VCIFILTERRECORD填充CAN滤波器的滤波表格(每添加一条的帧接收过滤。应该在调VCI_InitCAN置详操作见光盘2NULL,可忽3NULL,可忽4指向DWORD类型的指针,该DWORD变量的值为发送的超时时间,单位为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通道的接收缓冲区中,接收到但尚未被的帧数量。主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,以此类要发送的帧结构体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调用动态库的方在扩展名为.CPP的文件中包含ControlCAN.h头文件。如:#include“ControlCAN.h”在工程的连接器设置中连接到ControlCAN.lib添加ControlCAN.libVB调用动态库的方[Public|Private]D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全员消防安全培训活动课件
- 《税法》第3章:消费税法
- 全员参加安全培训课件
- 零零后视角下的医患关系
- 现代物流职业发展指南
- 药学专科生就业前景分析
- 光阳安全驾驶培训教程课件
- 安全生产管理红线讲解
- 消防安全与健康意识培训
- 2025-2026学年人教新课标七年级英语上册Unit 3 My School单元检测卷(含答案)
- 信息分类分级管理制度
- DB32T 5124.3-2025 临床护理技术规范 第3部分:成人危重症患者有创动脉血压监测
- 英文电影鉴赏知到智慧树期末考试答案题库2025年北华大学
- 某温室工程施工资料
- 外墙铝板维修合同协议
- CNAS-CC01:2015 管理体系认证机构要求
- 皮尔逊Ⅲ型曲线的离均系数Φ值表完整版
- 2025年湖南铁道职业技术学院单招职业技能测试题库带答案
- 2023冷库地面工程技术规程
- DB32 T538-2002 江苏省住宅物业管理服务标准
- 湖南师范大学课程毛概题库
评论
0/150
提交评论