CANoe入门系列--用CAPL实现简单的开关灯
Posted 一只楠喃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CANoe入门系列--用CAPL实现简单的开关灯相关的知识,希望对你有一定的参考价值。
CANoe入门系列
简单的开关灯实现
一、创建新的项目
双击选择CANFD500kBaud/4MBaud
新建页面如下
二、通过DBC创建节点
选择dbc的存放位置
右击Network nodes,创建switch和light节点
创建Message,填写Name,ID值越小优先级越高(light不需要过高的优先级,分配为三位数)
创建Signal,刚刚DLC为1,1byte=8bit,这边的length范围为1~8
将Signals拖拽到Messages下
再将message拖拽到switch下 保存
右键database,import Wizard,导入刚刚新建的dbc
选择刚刚的dbc,并将节点移动到 Assigned nodes中
显示如下
搭建画布 Panel
向画布中添加开关及LED图例
保存Panel
配置环境变量
进入Environment下的SystemVariables
新建NameSpace,并建立switch和light环境变量
再次打开Panel,将环境变量设置给图形化,保存
使用CAPL编程使信号传输
双击light节点新建can文件,switch收信号后,light发出信号
on sysvar switch_light_namespace::sl_switch
//先获取到switch变化的msg信息
message switch_light_msg switch_light_msg;
//将变化后的信号值赋给signal
switch_light_msg.switch_light_sig=@this;
//返回msg信息
output(switch_light_msg);
on message switch_light_msg
//让LED的信号值去等于开关变化后的值
@switch_light_namespace::sl_light=this.switch_light_sig;
运行
选择仿真总线
以上是关于CANoe入门系列--用CAPL实现简单的开关灯的主要内容,如果未能解决你的问题,请参考以下文章
CAPL脚本,数组的一些查找操作,包括查找某一个值和某一些值
CAPL脚本中 getSignal和 setSignal 函数的封装,看完本节足够适应所有测试场景