从零开始学习CANoe(三)—— 系统变量的创建和使用

相关文章

茫茫人海,相遇是一种缘分,欢迎欢迎!
在这里插入图片描述

从零开始学习CANoe(一)—— 新建工程
从零开始学习CANoe(二)—— CANdb++ 创建 dbc文件


我们创建了一个新的工程之后,只是简单的run了起来,接下来我们一点一点的完善需求,这一节,我们学习怎么创建环境变量,以及怎么简单的使用,,这在后面的章节中我们会用得到。

目录

  • 相关文章
  • 创建系统变量
  • 使用系统变量
  • 总结

创建系统变量

1, 选择菜单栏上的Environment , System Variables
在这里插入图片描述
2,在空白处点击右键选择 new 添加 系统变量。

从零开始学习CANoe(三)—— 系统变量的创建和使用_第1张图片
3,按照上一步全部创建完成之后,再通过export选项导出到一个文件中,这样做的好处是可以可以变量复用

从零开始学习CANoe(三)—— 系统变量的创建和使用_第2张图片

使用系统变量

4,如下图方式创建一个test.can 文件
从零开始学习CANoe(三)—— 系统变量的创建和使用_第3张图片

5,我们添加 以下代码,运行下,然后按下按键 a,
这段代码测试的功能:
1,当 系统变量 EngineStateSwitch 为1 时,打开发动机,也就是将 报文信号EngineState::OnOff 设置为1
2,当 系统变量 EngineSpeedEntry 为设置速度值时,将速度值赋值給EngineState::EngineSpeed

/*@!Encoding:ASCII*/
On key 'a'
{
     
	//设置值
  @Engine::EngineStateSwitch = 0;
  write("close the engine...");
  @Engine::EngineStateSwitch = 1;
  write("open the engine...");
  @Engine::EngineSpeedEntry =1000;
}

on sysvar sysvar::Engine::EngineStateSwitch // 发动机开关
{
     
 $EngineState::OnOff = @this;
  if(@this)   
  {
     
    $EngineState::EngineSpeed = @sysvar::Engine::EngineSpeedEntry;
    write("EngineSpeed is %f...", @this);
  }
  else
    $EngineState::EngineSpeed = 0;  
}

on sysvar sysvar::Engine::EngineSpeedEntry // 速度值输入
{
     
  if(@sysvar::Engine::EngineStateSwitch)  // 如果发动机已经启动,则把输入的速度值赋值给速度信号
  {
     
    $EngineState::EngineSpeed = @this;
    write("EngineSpeed is %f...", @this);
  }
}

6,下图是按下按键a以后的输出

从零开始学习CANoe(三)—— 系统变量的创建和使用_第4张图片

总结


感谢大家的阅读,希望能帮到大家一点点。

在这里插入图片描述

在这里插入图片描述

  • 好记性,不如烂笔头,技术探索路漫漫,携手志同道合之人上下求索是件很快乐的事。
  • 如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。

你可能感兴趣的:(CAPL,CAPL,CANoe)