介绍
关于手册
以下表格罗列了手册中使用到的样式和符号。
样式 | 使用场景 |
【】 | 表示点击的界面元素、窗口和对话框的名称。 |
加粗 | 用于文本信息的强调。 |
超链接 | 超链接和引用。 |
<CTRL>+<S> | 快捷方式。 |
符号 | 使用场景 |
![]() |
用于展示警告信息,以提醒用户留意。 |
![]() |
用于提醒静电放电可能造成损坏。 |
![]() |
用于展示补充/额外信息。 |
![]() |
用于提供示例。 |
![]() |
用于提供分步骤的指引。 |
![]() |
用于提供对文件进行编辑操作的说明。 |
功能概要
DBC编辑器可以用于CAN DBC数据库的创建、修改以及保存等,详细的功能如下。
创建CAN DBC数据库
打开CAN DBC文件,查看数据库中的节点、报文、信号、属性等信息
编辑CAN数据库内容
导出CAN数据库到DBC文件
检查数据库内容是否符合一致性要求
DBC编辑器窗体
DBC编辑器主要包含以下五个功能区:
菜单栏(1)
数据库总览区(2)
属性配置区(3)
节点总览和报文布局区(4)
日志区(5)
图1: DBC编辑器初始界面
菜单栏
菜单栏包括新建、打开、保存、另存为、一致性检查、撤销和重做7个按钮,各图标说明如下。
图标 | 描述 |
![]() |
新建按钮,点击按钮创建一个新的DBC数据库,数据库名称为文件名(不包含文件格式后缀)。 |
![]() |
打开按钮,点击按钮会弹出一个DBC文件选择框,选择对应的文件会打开DBC文件,可供查看和编辑DBC数据库的内容。 |
![]() |
保存按钮,点击按钮会保存当前的DBC文件。 |
![]() |
另存为按钮,点击按钮弹出一个文件保存对话框,用于另存当前DBC文件。 |
![]() |
一致性检查按钮,点击此按钮会在日志区显示当前DBC数据的不符合一致性检查的项目。 |
![]() |
撤销按钮。 |
![]() |
重做按钮。 |
数据库总览区
数据库总览区包括数据库节点搜索区和数据库节点区。
数据库节点搜索区
在搜索框内输入节点名称,可以高亮显示,如下图。
图2: 搜索节点高亮显示
窗体图标说明如下。
图标 | 描述 |
![]() |
清空搜索框内容。 |
数据库节点分类
数据库节点包括以下8类:
图3: 数据库总览区节点图
区域名称 | 描述 |
Networks | 显示DBC数据库信息,第一个子节点为数据库的名称。 |
ECUs | 显示DBC数据库所有ECU节点,ECU节点下面可能有Networks节点和环境变量。 |
Environment Variables | 显示环境变量。右击该节点或者其下的子节点可以创建或者删除环境变量。 |
Network Nodes | 显示网络节点,每个节点下面有对应的Tx Messages, Rx Messages,Mapped Tx signals和Mapped Rx signals。右击该节点或者其下的一级子节点可以创建或者删除CAN节点。 |
Messages | 显示所有的报文, 节点名称为Message_name [Message ID],每个报文的子节点为当前报文中包含的signal_name。右击该节点或者其下的子节点,可以创建、删除或者移除报文/信号。
删除: 当右击节点为【Messages】下的报文时,选择删除会删除数据库中的该报文以及报文下所有信号。当右击节点为【Messages】下报文的信号时,选择删除会删除该报文中的信号,且【Signals】下的该信号也会被删除。 移除: 当右击节点为【Messages】下的报文时,选择移除会删除数据库中的该报文,报文下的信号则会转移到【Signals】节点下。当右击节点为【Messages】下报文的信号时,选择删除会删除该报文中的信号,信号会转移到【Signals】节点下。 新建:当右击节点为【Messages】,会新建报文。当右击节点为【Messages】下的报文,或者报文下的信号时,会新建信号,且信号绑定到该报文。 |
Signals | 显示所有的信号, 如果信号绑定到了报文,则节点名称为signal_name [Message_name],否则为信号名。当右击【Signals】节点或者该节点下的信号时,可以创建/删除信号。 |
Value Tables | 显示所有的数据包。当右击【Value Tables】节点或者该节点下的子节点时,可以创建/删除数值表。 |
Attributes | 显示所有的特性。当右击【Attributes】节点或者该节点下的子节点时,可以创建/删除特性。 |
数据库节点拖拽功能
数据库总览区的部分节点支持拖拽功能,支持拖拽功能的节点如下。
信号拖拽到报文,如下图所示,将信号New_Signal_0拖拽到New_Message_0时,会将信号New_Signal_0添加到New_Message_0下。
图4: 信号拖拽到报文(场景1)
如果信号已经绑定了报文,这种情况下拖拽信号到新的报文上,则会复制一个同名的信号。
图5: 信号拖拽到报文(场景2)
报文拖拽到节点,如下图所示,将信号New_Message_0拖拽到New_Network_0或者其下的【Tx Messages】时,会将信号New_Messages_0添加到【Tx Messages】下。
图6: 报文拖拽到节点
信号拖拽到节点,如下图所示,将信号New_Messages_0下的New_Signal_0信号拖拽到New_Network_0或者其下的【Mapped Rx Signals】时,会将信号New_Signal_0添加到【Mapped Rx Signals】下,New_Messages_0添加到【Rx Messages】下。
图7: 信号拖拽到节点
环境变量拖拽到ECU,如下图所示,将环境变量New_Envar_0拖拽到ECUs下的New_Network_0或其下的【Environment Variables】时,会将环境变量New_Envar_0添加到【Environment Variables】下。
图8: 环境变量拖拽到ECU
属性配置区
属性配置区包括数据库文件信息展示区和属性配置区两个部分。
数据库文件信息展示区
未导入DBC数据库时,该区域会提示导入或创建DBC数据库的信息。当创建或导入DBC数据库后,该区域会显示DBC文件的路径。当DBC数据库发生修改时,则在DBC文件路径后面额外增加一个“*”。如果修改的内容被完全撤回时,或者文件被另存为时,“*”将消失。
图9: 导入DBC数据库后显示文件路径
数据库属性
可以配置数据库的名称,选择数据库类型,和配置属性的值。
属性 | 描述 |
数据库类型 | 可选择为CAN/CAN FD。 |
注释 | 数据库的说明文本。 |
图10: 数据库属性页
节点属性
可以配置节点的名称,地址和配置属性的值。
属性 | 描述 |
地址 | 当前仅显示,地址需要在NmStationAddress属性中修改。 |
注释 | 节点的说明文本。 |
图11: 节点属性页
报文属性
配置报文的属性,具体属性字段及其说明如下。
属性 | 描述 |
名称 | 报文的名称,不允许出现重名的报文名称。 |
ID | 报文ID,为16进制数,不允许出现重复的ID。 |
DLC | 报文的字节数,J1939协议的字节数为手动输入,其它为选择。 |
周期 | 报文发送周期,通过GenMsgCycleTime属性更改,如果没有定义该属性,则无法修改。 |
类型 | CAN协议可选CAN Standard和CAN Extended。
CAN FD协议可选CAN FD Standard和CAN FD Extended。 J1939协议可选CAN Standard,CAN Extended和J1939。 |
注释 | 报文注释。 |
发送节点 | 选择发送报文的节点。 |
属性表 | 配置属性的值。 |
附加信息 | 当协议为J1939会显示PGN,Priority, Source,Destination等信息。 |
图12: 报文属性页(非J1939)
图13: 报文属性页(J1939)
信号属性
配置信号的属性,具体属性字段及其说明如下。
属性/按钮 | 描述 |
名称 | 信号名称,【Signals】/同一个报文下面不允许出现同名的信号。 |
单位 | 信号单位,为字符串。 |
放大因子 | 信号缩放因子,用于计算物理值。
物理值=放大因子*信号原始值+偏移量 |
偏移量 | 信号偏移,用于计算物理值。 |
长度 | 信号长度,不大于报文的字节数*8。 |
起始位 | 信号在报文中的起始位,不大于报文的字节数*8。 |
数值类型 | 可选无符号, 有符号, 浮点型, 双精度浮点型。 |
注释 | 信号注释说明。 |
最小值 | 信号最小值。 |
最大值 | 信号最大值。 |
计算最大最小值按钮 | 计算信号的最大最小值。
最大值=放大因子* (2^长度-1)+偏移量 最小值=偏移量 |
数值表 | 选择用于对信号编码的数值表。 |
字节序 | Intel或者Motorola,切换时,起始位和长度会自动计算并改变。 |
复用类型 | 选择信号的复用类型。
信号: 不复用 复用器: 此时信号作为复用器开关 复用信号: 此时会显示信号的复用器开关对应的值或范围 |
复用值 | 信号的复用器开关对应的值或范围。 |
属性表 | 属性展示与编辑。 |
接收节点 | 编辑接收该信号的ECU节点,选中后会在对应的ECU节点的 【Mapped Rx signals】下添加当前信号的树节点。如果该信号的报文没有被添加过,还会在【Rx Messages】下添加对应的报文树节点。 |
图14: 信号属性页(非信号复用)
图15: 信号属性页(信号复用)
数值表属性
数值表用于对信号或者环境变量进行编码。数值表的属性及其说明如下。
属性 | 描述 |
名称 | 数值表名称,具有唯一性,同一个DBC数据库中不允许出现2个同
名的数值表名称。 |
注释 | 备注使用当前数值表的信号及其对应的报文名称,不可修改。 |
数值编码表 | 信号编码,右击可增加和删除编码项,点击对应的单元格可修改内容。 |
图16: 数值表属性页
特性属性
特性用于对信号,报文,节点,数据库以及环境变量等绑定额外的属性,其可编辑的属性字段和说明如下。
属性 | 描述 |
名称 | 特性名称,不允许出现重名的特性名称。 |
目标类型 | 数据库:用于数据库,选择该项,会将该属性绑定到数据库。
节点:用于ECU/节点,选择该项,会将该属性绑定到节点。 报文:用于报文,选择该项,会将该属性绑定到报文。 信号:用于信号,选择该项,会将该属性绑定到信号。 环境变量:用于环境变量,选择该项,会将该属性绑定到环境变量。 ECU-环境变量:用于绑定了ECU/节点的环境变量。 节点-发送报文:用于绑定了发送节点的报文。 节点-接收信号:用于绑定了接收节点的信号。 |
数值类型 | 当选中整型,浮点型,16进制时,会激活最小值和最大值编辑框, 选择枚举会激活枚举表编辑框。 |
最小值 | 属性的最小值。 |
最大值 | 属性的最大值。 |
默认值 | 属性的默认值,选择枚举时为选择框,其它为输入框。 |
枚举表 | 用于显示和编辑枚举项。 |
图17: 特性属性页(未激活最大最小值编辑框)
图18: 特性属性页(激活最大最小值编辑框)
图19: 特性属性页(激活枚举表)
环境变量属性
配置环境变量的属性,可配置属性字段和说明如下。
属性 | 描述 |
名称 | 环境变量名称,不允许出现重名的环境变量名称。 |
数值类型 | 可选整型、浮点型、字符串等数据类型。 |
访问类型 | 环境变量的读写权限:
不限 只读 只写 读写 |
单位 | 环境变量单位。 |
数值表 | 和信号共用。 |
注释 | 环境变量的说明。 |
最小值 | 环境变量最小值。 |
最大值 | 环境变量最大值。 |
初始值 | 环境变量初始值。 |
属性表 | 属性展示与编辑。 |
图20: 环境变量属性页
节点总览和报文布局区
节点总览
点击不同节点,会在总览区域显示当前节点下的预览内容。
图21: 报文总览页面
报文布局
报文布局区可以展示报文中信号在报文中的位置排列和长度,当所选节点为报文时,布局才能被选择,此时布局按钮为激活状态,否则为未激活状态。
图22: 报文布局页面
复用器: 选择报文的复用器名称,<none>为未使用/无复用器。
复用值: 选择复用器下的复用值,<none>为未使用/无复用值。
通过选择不同的复用器和复用值,布局中会显示对应的信号排列。
日志区
显示当前操作的状态和数据库信息完整度的信息,包括以下3种类型。
常规信息 :用于提示当前操作状态的信息
警告信息 :提示当前操作或者数据库有异常但又构成严重错误的信息
错误信息 :提示当前操作或数据库有严重错误的信息。
图23: 日志区页面
对于一致性检查的日志信息,点对应的行时,会跳转到该行信息所对应的数据库节点。
使用示例
创建DBC数据库
该部分示例演示创建CAN数据库,包括创建CAN节点、报文、信号以及环境变量,将信号绑定到报文,为报文添加发送节点,为环境变量添加访问节点等。
步骤1:创建CAN DBC数据库,点击菜单栏的【新建】按钮 。
步骤2:选择数据库模板。在弹出的DBC模板选择框中,选择需要创建的DBC数据类型,支持CAN,CANFD,J1939,然后点击【确认】。
图24: DBC模板选择页面
步骤3:选择/输入DBC文件路径。在未保存DBC数据库之前不会创建新的DBC文件,或覆盖原来的DBC文件。
步骤4:右击【Network Nodes】,创建节点New_Network_0。
图25: 新建CAN网络节点
步骤5:右击【Messages】,创建报文New_Message_0。
图26: 新建CAN报文
步骤6:右击【Signals】,创建New_Signal_0。
图27: 新建CAN信号
步骤7:右击【Environment Variables】,创建New_Envar_0
图28: 新建环境变量信号
步骤8:在左边的树结构中,将New_Signal_0拖拽到New_Message_0,然后将New_Message_0拖拽到New_Network_0。通过将New_Envar_0拖拽到ECUs下的New_Network_0节点或New_Network_0的【Environment Variables】节点,为环境变量New_Envar_0添加访问节点。
图29: 将信号绑定到报文、为报文添加发送节点和为环境变量添加访问节点
步骤9:点击【保存】按钮 。
编辑DBC数据库
该部分示例演示导入CAN数据库并进行编辑,以及如何创建数值表和特性。
步骤1:导入DBC文件。点击菜单栏的【打开】按钮 ,导入4.1章节保存的DBC文件。
步骤2:修改CAN节点,报文、信号以及环境变量名称。
修改CAN节点名称。点击【ECUs】/【Network Nodes】下的New_Network_0,在右侧的属性编辑区中找到【名称】编辑框,输入ecu0并按下回车键。对于该界面其它的属性字段,也可以类似的方式修改。
图30: 修改CAN网络节点名称
修改CAN报文名称。点击【Messages】下的报文节点,在属性编辑区找到【名称】输入框,输入msg0并回车。对于该界面其它的属性字段,也可以类似的方式修改。
图31: 修改CAN报文名称
修改CAN信号名称。点击【Signals】下的信号节点/【Messages】下报文中的信号节点,在属性编辑区找到【名称】输入框,输入sig0并回车。对于该界面其它的属性字段,也可以类似的方式修改。
图32: 修改CAN信号名称
修改环境变量名称。点击【Environment Variables】下的环境变量节点,在属性编辑区找到【名称】输入框,输入env0并回车。对于该界面其它的属性字段,也可以类似的方式修改。
图33: 修改环境变量名称
步骤3:创建数值表。右击【Value Table】点击【新建】,在属性编辑界面的值-描述表格中点击新建,创建2对值-描述字段。
图34: 创建数值表
步骤4:为信号/环境变量添加数值表。点击信号或者环境变量节点,在属性编辑区找到【数值表】下拉框,选择New_Vt_0。
图35:为环境变量和信号添加数值表
步骤5:创建报文特性。右击【Attributes】点击【新建】,创建特性。在属性编辑区修改名称为msgAttr0,目标类型为报文,其它字段为默认。
图36:创建报文特性
此时点击【Messages】下的msg0节点,在属性编辑区可以查看到msgAttr0的值,也可以在该区域对msgAttr0进行编辑。
图37:报文特性查看和编辑界面
其它目标如信号、环境变量、以及绑定节点的信号、报文、环境变量等可以通过选择【目标类型】的下拉框进行绑定。特性也支持不同的数值类型,通过【数值类型】下拉框进行选择。
步骤6:编辑完成后,保存该DBC数据库到DBC文件。
联系方式
上海同星智能科技有限公司
总部:上海市嘉定区嘉松北路1288号9号楼
上海研究院:曹安公路4849弄14-17栋
网站: www.tosunai.com
联系电话:021-59560506
Email: support@tosunai.cn
666
我直接反手一个赞👍
6666