
在汽车电子和CAN总线开发领域DBC文件Database Container是定义CAN通信协议的核心文件正确编辑和优化DBC文件对于车辆网络通信的稳定性、数据解析的准确性至关重要。对于刚接触TSMaster的工程师来说如何快速掌握DBC编辑技巧并应用于实际项目开发仍存在一定的学习门槛。本文将从基础功能解析到使用示例演示系统介绍TSMaster DBC编辑器的核心操作。本文关键词TSMasterDBC数据库目录Catalog1. 符号说明2. 功能概要3. DBC 编辑器窗体4. 使用示例1、符号说明本文中所用到的一些样式和符号可以参考以下表格说明。2、功能概要DBC编辑器可以用于CAN DBC数据库的创建、修改以及保存等详细的功能如下▲ 创建CAN DBC数据库▲ 打开CAN DBC文件查看数据库中的节点、报文、信号、属性等信息▲ 编辑CAN数据库内容▲ 导出CAN数据库到DBC文件▲ 检查数据库内容是否符合一致性要求3、DBC 编辑器窗体DBC编辑器主要包含以下五个功能区▲ 菜单栏1▲ 数据库总览区2▲ 属性配置区3▲ 节点总览和报文布局区4▲ 日志区5图1DBC编辑器初始界面3.1 菜单栏菜单栏包括新建、打开、保存、另存为、一致性检查、撤销和重做7个按钮各图标说明如下。3.2 数据库总览区数据库总览区包括数据库节点搜索区和数据库节点区。3.2.1 数据库节点搜索区在搜索框内输入节点名称可以高亮显示如下图图2搜索节点高亮显示窗体图标说明如下3.2.2 数据库节点分类数据库节点包括以下8类图3:数据库总览区节点图3.2.3 数据库节点拖拽功能数据库总览区的部分节点支持拖拽功能支持拖拽功能的节点如下。▲ 信号拖拽到报文如下图所示将信号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环境变量拖拽到ECU3.3 属性配置区属性配置区包括数据库文件信息展示区和属性配置区两个部分。3.3.1 数据库文件信息展示区未导入DBC数据库时该区域会提示导入或创建DBC数据库的信息。当创建或导入DBC数据库后该区域会显示DBC文件的路径。当DBC数据库发生修改时则在DBC文件路径后面额外增加一个“*”。如果修改的内容被完全撤回时或者文件被另存为时“*”将消失。图9:导入DBC数据库后显示文件路径3.3.2 数据库属性可以配置数据库的名称选择数据库类型和配置属性的值。图10数据库属性页3.3.3 节点属性可以配置节点的名称地址和配置属性的值。图11节点属性页3.3.4 报文属性配置报文的属性具体属性字段及其说明如下。图12报文属性页(非J1939)图13报文属性页(J1939)3.3.5 信号属性配置信号的属性具体属性字段及其说明如下。图14: 信号属性页(非信号复用)图15: 信号属性页(信号复用)3.3.6 数值表属性数值表用于对信号或者环境变量进行编码。数值表的属性及其说明如下。图16: 数值表属性页3.3.7 特性属性特性用于对信号报文节点数据库以及环境变量等绑定额外的属性其可编辑的属性字段和说明如下。图17: 特性属性页(未激活最大最小值编辑框)图18: 特性属性页(激活最大最小值编辑框)图19: 特性属性页(激活枚举表)3.3.8 环境变量属性配置环境变量的属性可配置属性字段和说明如下。图20: 环境变量属性页3.4节点总览和报文布局区3.4.1 节点总览点击不同节点会在总览区域显示当前节点下的预览内容。图21报文总览页面3.4.2 报文布局报文布局区可以展示报文中信号在报文中的位置排列和长度当所选节点为报文时布局才能被选择此时布局按钮为激活状态否则为未激活状态。图22: 报文布局页面▲ 复用器: 选择报文的复用器名称none为未使用/无复用器。▲ 复用值: 选择复用器下的复用值none为未使用/无复用值。通过选择不同的复用器和复用值布局中会显示对应的信号排列。3.5 日志区显示当前操作的状态和数据库信息完整度的信息包括以下3种类型。▲ 常规信息用于提示当前操作状态的信息。▲ 警告信息提示当前操作或者数据库有异常但又构成严重错误的信息。▲ 错误信息提示当前操作或数据库有严重错误的信息。图23日志区页面对于一致性检查的日志信息点对应的行时会跳转到该行信息所对应的数据库节点。4使用示例4.1创建DBC数据库该部分示例演示创建CAN数据库包括创建CAN节点、报文、信号以及环境变量将信号绑定到报文为报文添加发送节点为环境变量添加访问节点等。步骤1创建CAN DBC数据库点击菜单栏的【新建】按钮。步骤2选择数据库模板。在弹出的DBC模板选择框中选择需要创建的DBC数据类型支持CANCANFDJ1939然后点击【确认】。图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点击【保存】按钮。4.2编辑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文件。