干货分享 | TSMaster DBC编辑器操作指南:功能详解+实战示例

在汽车电子和CAN总线开发领域,DBC文件(Database Container)是定义CAN通信协议的核心文件,正确编辑和优化DBC文件,对于车辆网络通信的稳定性、数据解析的准确性至关重要。对于刚接触TSMaster的工程师来说,如何快速掌握DBC编辑技巧,并应用于实际项目开发,仍存在一定的学习门槛。本文将从基础功能解析到使用示例演示,系统介绍TSMaster DBC编辑器的核心操作。

本文关键词:TSMaster,DBC,数据库

目录

Catalog

  1. 符号说明

  2. 功能概要

  3. DBC 编辑器窗体

  4. 使用示例

1、符号说明

本文中所用到的一些样式和符号,可以参考以下表格说明。

2、功能概要

DBC编辑器可以用于CAN DBC数据库的创建、修改以及保存等,详细的功能如下:

▲ 创建CAN DBC数据库

▲ 打开CAN DBC文件,查看数据库中的节点、报文、信号、属性等信息

▲ 编辑CAN数据库内容

▲ 导出CAN数据库到DBC文件

▲ 检查数据库内容是否符合一致性要求

3、DBC 编辑器窗体

DBC编辑器主要包含以下五个功能区:

▲ 菜单栏(1)

▲ 数据库总览区(2)

▲ 属性配置区(3)

▲ 节点总览和报文布局区(4)

▲ 日志区(5)

图1:DBC编辑器初始界面

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:环境变量拖拽到ECU

3.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数据类型,支持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:**点击【保存】按钮。

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文件。

相关推荐
数据知道29 分钟前
claw-code 源码详细分析:compat-harness——对接编辑器生态时,兼容层该吞掉哪些「历史包袱」?
ai·编辑器·claude code·claw code
小陈工3 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
科技小花8 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸8 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain8 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希9 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神9 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员9 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java9 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿9 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb