用户自定义属性表结构设计_DBC文件属性学习(2)

紧接上文:DBC文件属性学习(1)

4.6注解部分

注释部分包含对象注释。对于每个有注释的对象,在此部分中都定义了一个带有对象类型标识的条目。

关键字:CM_

格式:CM_ Object Signal_Name/MessageId/NodeName “Comment”

571c6e6e7e2d082a4070b282e0a6f0a6.png

  • CM_为关键字,表示注解信息;

  • Object表示进行注解的对象类型,可以是节点“BU_”、报文“BO_”、消息”SG_”;

  • MessageId/NodeName 表示进行注解的对象,若前面的对象类型是信号或者报文,则这里的值应为报文的ID(10进制数表示);若前面的对象类型为节点,则这里的值应为节点的名字;

  • Comment表示进行注解的文本信息;

如示例中的:

CM_ SG_ 291 EngineSpeed "The signal of EngineSpeed";

表示对ID为291(0x123)这条报文下的名为“EngineSpeed”的信号进行注解说明,说明的内容为"The signal of EngineSpeed"。

CM_ BO_ 291 "The message of control EngineState";

表示对ID为0x123的这个报文进行注解说明,说明的内容为"The message of control EngineState"。

94444be1447efb3da43caaeaa906cfb3.png

4.7属性定义部分

关键字:BA_DEF_

格式:BA_DEF_ Object AttributeName ValueType Min Max;

  • BA_DEF_为关键字,表示属性定义;

  • Object表示属性定义的对象类型,可以是节点“BU_”、报文“BO_”、消息“SG_”、网络节点” ”(用空格表示)等;

  • AttributeName表示进行定义的属性名字;

  • ValueType表示属性值的类型,可以是整型、字符串、浮点型、枚举类型等;

  • Min/Max表示属性值的上下最值,即指定了取值范围(字符串类型没有此项)。

关键字:BA_DEF_DEF_

格式如下:BA_DEF_DEF_ AttributeName DefaultValue;

  • BA_DEF_DEF_为关键字,表示定义属性的初始值;

  • DefaultValue表示该属性的初始值。

如示例中的:

BA_DEF_ SG_ "GenSigStartValue" FLOAT 0 100000000000;

BA_DEF_DEF_ "GenSigStartValue" 0;

表示对定义了一个针对信号类型的属性,属性名为“GenSigStartValue”,属性值是浮点数据,取值范围在0到100000000000之间,初始值为0。

6c2bdf92b0a8b6d7b84199999ff21168.png

关键字:BA_

格式:BA_ AttributeName Object /Signal_Name MessageId DefaultValue;

  • AttributeName:自定义属性名称,命名规则和C语言变量相同。

  • Object表示属性定义的对象类型,可以是节点“BU_”、报文“BO_”、消息“SG_”、网络节点” ”(用空格表示)等;

  • Signal_Name:信号名称,命名规则和C语言变量相同。

  • MessageId:报文标识符,十进制表示。

  • DefaultValue:默认值。

如示例中的:

BA_ "GenSigSendType" SG_ 1793 FallbackMessage_Byte_06_10 7;代表自定义报文ID为0x701的报文中的FallbackMessage_Byte_06_10信号GenSigSendType属性值为7,表示NoSigSendType。

6c5a2385058fec2f77cba7c2730ea7f6.png

4.8数值表部分

关键字:VAL_

格式:VAL_ MessageId SignalName N “DefineN” …… 0 “Define0”;

  • VAL_为关键字,表示数值表定义;

  • MessageId表示该信号所属的报文ID(10进制数表示);

  • SignalName表示信号名;

  • N “DefineN”…… 0“Define0”表示定义的数值表内容,即该信号的有效值分别用什么符号表示 。

如示例中的:VAL_ 291 OnOff 1 "On" 0 "Off" ;

表示对ID为291(0x123)的这条报文下的,一个命名为”OnOff”的信号,进行其数值表的定义;用”On”取代1;用”Off”取代0。

4358382ac8f628cd56412564bc67713d.png

5.属性定义部分

bae8dd3052f71801b19096c3f1bb94c6.png本文档介绍了Vector CAN工具中使用的CANdb属性(仅用户定义的属性),属性的文档根据属性的应用领域进行排序。这些应用程序域是:

  • 一般

常规属性,不能将其排序到任何应用程序域。

  • 互动层

描述消息和信号的发送和接收行为的属性。

  • 传输协议和诊断

属性用于CAN的ISO/DIS传输协议的配置和行为以及ECU的诊断。

  • 网络管理

属性用于CAN网络的OSEK网络管理的配置和行为。

  • 特定工具

用于配置Vector工具(例如CANoe)的属性。

由于用户可以向数据库添加任意属性,因此该集合并未涵盖CAN数据库中可能使用的所有属性。

5.1 通用属性

d4028c9c9091ff349f8eb1258ffdf23c.png

  • Manufacturer

指定的制造商(OEM),默认值为""。

  • VersionYear,VersionMonth,VersionWeek,VersionDay

指定网络发布的日期,数字必须以BCD编码给出。

21dee8e3d620b4ec01e1d876e4bd4d69.png

  • VersionNumber

指定网络版本的版本号,数字必须以BCD编码给出;有效值≥0,默认值为0。

5.2 交互层属性

956d6055837ae64c99be123fe29837ac.png

  • ILUsed(1.No;2.Yes)

如果节点使用交互层,则设置为Yes,默认值为No。

  • GenMsgILSupport(1.No;2.Yes)

如果消息由交互层处理,则设置为Yes,默认值为No。

  • GenMsgSendType

定义与消息相关的发送类型。此属性与放置在消息上的信号的发送类型一起定义了消息的总体传输行为;默认值取决于所使用的交互层的类型。

  • GenSigSendType

定义与信号相关的发送类型。此属性以及与消息相关的发送类型以及放置在消息上的其他信号的发送类型一起定义了消息的总体传输行为;默认值取决于所使用的交互层的类型。

  • GenMsgDelayTime[ms]

定义两次消息传输之间的最小时间,有效值≥0,默认值为0。

  • GenMsgCycleTime[ms]

定义循环消息传输的固定周期,有效值≥0,默认值为0。

  • GenMsgCycleTimeFast[ms]

定义快速消息传输的周期性。如果放置在消息上的信号之一处于活动状态,则消息将快速传输。有效值≥0,默认值为0。

  • GenMsgCycleTimeActive[ms]

与CAPL Generators交互层的GenMsgCycleTimeFast相同。有效值≥0,默认值为0。

  • GenMsgStartDelayTime[ms]

定义系统启动后的延迟,该消息是第一次发送。有效值≥0,默认值为0。

  • GenMsgNrOfRepetition(GenMsgNrOfRepetitions)

如果必须重复发送消息,则此属性定义重复消息的频率。是否重复发送消息取决于消息上放置的信号的GenSigSendType值。有效值≥0,默认值为0。

  • GenSigInactiveValue

定义信号的无效值,此值仅用于信号发送类型IfActive,如果信号值不等于GenSigInactiveValue,则将以GenMsgCycleTimeFast的周期性定期发送放置信号的消息。在此属性中,信号无效值作为信号原始值给出。

  • GenSigStartValue

定义信号的起始值或初始值,默认值为0。该值在系统启动后发送,直到应用程序第一次设置信号值为止。在此属性中,信号起始值作为信号原始值给出。

  • GenSigTimeoutTime(GenSigTimeoutTime<_ecu>)[ms]

定义信号接收超时的时间,如果在此时间间隔内未收到信号消息,则会发生接收超时。超时后执行的操作取决于所使用的交互层。如果为信号而不是Node-mapped Tx-Signal(节点映射的Tx信号)关系定义了属性,则后缀<_ecu>给出接收ECU的名称。有效值≥0,默认值为0。

  • GenSigTimeoutMsg(GenSigTimeoutMsg<_ecu>)

定义监视信号的消息的ID,有效值为0x00~0x7FF,默认值为0。如果接收方节点接收到具有给定ID的消息,则不会发生信号超时。超时本身在属性GenSigTimeoutTime<_ecu>中定义。如果为信号而不是Node-mapped Tx-Signal(节点映射的Tx信号)关系定义了属性,则后缀<_ecu>给出接收ECU的名称。

  • GenMsgFastOnStart[ms]

定义以毫秒为单位的持续时间,以在IL启动后以更快的循环时间(GenMsgCycleTimeFast)发送循环消息。仅当正常值和快速循环时间定义为值>0时,此方法才有效。有效值≥0,默认值为0。

未完待续...... 如有疑问,可 添加我个人微信,希望能与同行前辈多多交流,共同进步! 2a007fcb2ff21fc895b60e18d17b12c1.png
  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值