1、CANdb++软件安装
安装完成后会提示缺少Cdbstat.dll
文件,这里我已经将该文件放到下载文件的主目录文件夹下。需要复制Cdbstat.dll
文件,复制到C:\Windows\SysWOW64
2、DBC文件添加帧CAN_ID和信号CAN_Signal
DBC(Data Base CAN)文件用于描述单个CAN网络的通信,DBC文件格式比较固定、不会产生歧义和理解误差,便于交流。下面在已有的DBC中增加帧Frame ID和信号Signal。
2.1、打开“CANdb++ Editor”,在”Signals”中增加一个信号;
(1)新建项目
(2)右击“Signals”,在上下文中选择“New”,弹出如下对话框
(3)编辑“Signal‘New_Signal_6’”对话框中的信息;
?编辑信号基本信息:
修改前:
修改后:
注:
“Name:”表示该信号的名称;
“Length[Bit]:”表示该信号的长度,以Bit度量;
“Byte Order:”表示数据格式,有“Motorola(大端模式)”,“Intel(小端模式)”可选,根据实际情况选择;
“Value Type:”表示数据是有/无符号类型(若偏移量为0,需要表示负数,则该项选择Signed; 若偏移量为负数,需要表示负数,则该项选择Unsigned。);
“Factor:”表示分辨率;
“Offset:”表示偏移量;
“Minimum:”和“Maximum”表示该信号实际范围;
“Init.Value:”表示该信号的初始值;
“Unit:”表示单位。
解析数据时:实际的信号物理值 = 分辨率 * CAN信号值 + 偏移量
2.2、在“CANdb++ Editor”右侧的”Message”中增加一个ID;
(1)右击“Message”,在上下文中选择“New”,弹出如下对话框;
(2)编辑“Message‘New_Message_4’”对话框中的信息;
?编辑ID基本信息:
修改前:
修改后:
注:
“Name:”表示新增ID的名称;
“ID:”用十六进制表示,如果是标准帧,范围:0~0x7FF;
“DLC:”表示新增ID实际的长度,最大为8.
(3)添加该ID的信号:
修改前:
修改后:
(4)定义该ID发送节点:
修改前:
修改后:
(5)将信号拖动到合适的位置
修改前:
修改后:
(6)定义该ID的周期和发送类型
修改前:
修改后:
(7)给该ID添加备注:
2.3、对ID中的信号添加接收的节点;
(1)双击Message里ID中的信号(最底层文件):
修改前:
修改后:
2.4、对ID中的信号增加“值描述”;
(1)在菜单栏中选择“View”à“Value Tables”
(2)在空白的位置右击,并在上下文中选择“New”;
(3)在弹出的对话框中,编辑相关信息;
(4)对Message中的信号增加“值描述”。
?双击Message里ID中的信号:
?对该信号增加“值描述”
修改前:
修改后:
综上,新增CAN_ID和CAN_Signal已经完成。