探讨下 CANoe Enveriment下 Start Values的使用,小刀有大用处

Posted 蚂蚁小兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了探讨下 CANoe Enveriment下 Start Values的使用,小刀有大用处相关的知识,希望对你有一定的参考价值。

系列用的CANoe演示工程我放在了Git上,不定时根据博客更新。

CANoe-Demn


前言

  • 本节内容来讨论下Start Values 这个小功能 这个功能虽然简单,但是在实际工程应用中有大用处
  • 比如,在测试某个ECU,需要仿真总线上其它节点信号,这些信号要被赋有意义的值,不然待测ECU会报DTC,或者无法正常工作,
    就可以用Start Value 同意管理这些需要在测试前需要处理的信号值
  • 再比如,我们设计的panel 会关联 系统变量,我们希望panel中的一些指示灯处于某个具体值状态,那么我们就可以在 Start Value 中去管理这些系统变量。
  • 虽然信号和变量都可以设置默认值,但是太分散,不如Start Values 汇总,还可以导出到文件,十分的方便
  • 测试软硬件环境:
    CANoe 11 SP2
    Win10 X64

文章目录


Start Values 基本介绍

  • 如下图打开Start Values配置界面


  • 新建三个group 表示我们对这三类symbol的操作


Column 选择

  • 下图,想说明两点:在表头右键是可以调出Column 选择的,这里可以吧Raw Value调出来
  • 其二,物理值和Raw 值是自动换算完成的(根据dbc文件定义)


导出到文件

  • 如下图,可以导出到文件


激活和抑制StartValue生效

  • 如下图,StartValue 处于激活状态,运行工程在trace中看出值被修改了
  • 注意,如果一个symbol在被定义的时候被赋初始值,在trace上是不会出现的。


  • 最左边按钮是抑制设置,抑制后,start value 就不会生效。


配置 Start Value的两种便捷方式

  • Set Start Value To Database Values (配置成symbol的默认值)

  • 开始Run 之前 ,start value 是 20 ,然后我们执行 Set Start Value To Database Valuesstart value就变成了dbc文件中定义的初始值,但是New_Signal_1的值并没有被改变

  • 注意,这里只是配置值,并不会真的改变值,只有下次Run ,才会真的改变值


  • Set Start Value To Current Values(配置成当前symbol的值)

  • 上一步 New_Signal_1Start Value 被我们配置成了 50,然后我们执行 Set Start Value To Current ValuesStart Value就变成了当前信号的值 20 (如果这个时候信号值是100,那么会配置成100),但是New_Signal_1的值并没有被改变


设置 信号/变量的两种便捷方式

  • Set Variable/Signal To Database Values(设置成默认值)

  • 改变信号值的方式太多了,CAPL,graphics,data都可以,这里这个小功能也给了改变值得方式,不过只能变成dbc中定义的默认值或者开始Run之前Start Value定义的值。

  • 如下图,当前 信号 New_Signal_1的值 是 20 ,然后我们执行 Set Variable/Signal To Database Values ,New_Signal_1就变成了dbc文件中定义的初始值,但是 Start Value 配置并没有改变

  • 注意,这里是真的求改变变量/信号值,并不会去改变Start Value


  • Set Variable/Signal To Individual Start Values(设置成Run之前 Start Value值)

  • 如下图,当前 信号 New_Signal_1的值 是 50 ,然后我们执行 Set Variable/Signal To Individual Start Values ,New_Signal_1就变成了Run之前Start Value定义的值20


总结

这个功能虽然简单,但是在实际工程应用中有大用处
比如,在测试某个ECU,需要仿真总线上其它节点信号,这些信号要被赋有意义的值,不然待测ECU会报DTC,或者无法正常工作,
就可以用Start Value 同意管理这些需要在测试前需要处理的信号值
再比如,我们设计的panel 会关联 系统变量,我们希望panel中的一些指示灯处于某个具体值状态,那么我们就可以在 Start Value 中去管理这些系统变量。

  • 要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
  • 如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。

以上是关于探讨下 CANoe Enveriment下 Start Values的使用,小刀有大用处的主要内容,如果未能解决你的问题,请参考以下文章

CANoe中XML编程常用标签语法 —— 变量,系统变量的定义和读取

CANoe中XML编程常用标签语法 —— 变量,系统变量的定义和读取

CANoe DLL编程—— 创建CANoe适用的DLL以及调用

从零开始学习CANoe(二十)—— Python和CANoe的数据交互

在 STA 下运行 NUnit 测试的问题

CANoe中创建系统变量,看这一篇就够了