CANoe仿真工程Switch控件关联dbc信号出现的问题及解决思路

小白学习CANoe仿真,参考CANoe-第2个仿真工程-XVehicle—1总线数据库设计(思路)_canoe vehicle-CSDN博客

CANoe-第2个仿真工程-XVehicle1总线数据库设计(操作)_canoe factor 参数什么意思-CSDN博客CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_canoe panel教程-CSDN博客CANoe-第2个仿真工程-XVehicle—2 Panel设计(操作)_canoe cardooropenclose.bmp-CSDN博客

CANoe-第2个仿真工程-XVehicle—3 CAPL编程(操作)_不用canoe硬件怎么调试capl-CSDN博客

进行实操。

CANoe仿真过程如下:

1.建立dbc数据库,这一步参考CANoe-第2个仿真工程-XVehicle1总线数据库设计(操作)_canoe factor 参数什么意思-CSDN博客

但是这里需要注意环境变量配置这个问题,我使用的是,已经取消了在dbc中设置环境变量的功能,需要在系统变量中进行设置。

2.进行Panel设计,参考CANoe-第2个仿真工程-XVehicle—2 Panel设计(操作)_canoe cardooropenclose.bmp-CSDN博客

进行操作。

注意:

1.如果这里车门的Switch/Indicator控件按照上面的博客关联了Door_L和Door_R的signal,而Button Behavior属性设置为False的话,后面运行后,点击这个控件将毫无反应。

2.即使将Button Behavior属性设置为True,Door_L和Door_R的signal只在点击瞬间数值发生变化,Display窗口Door那里甚至来不及切换车门状态的图片。

怎么解决上面的问题呢?

这里,我们增加2个D_L和D_R的系统变量,车门的Switch/Indicator控件关联D_L和D_R的系统变量。

3.CAPL编程,参考CANoe-第2个仿真工程-XVehicle—3 CAPL编程(操作)_不用canoe硬件怎么调试capl-CSDN博客

注意,此时Door节点的CAPL编程代码增加以下内容:

On sysvar sysvar::Door::D_L
{
  $DoorState::Door_L = @this;
}

on sysvar sysvar::Door::D_R
{
  $DoorState::Door_R = @this;
}

上述代码将门控件关联的系统变量值赋给报文DoorState的Door_L或Door_R信号发送到总线上。

至此,X-Vehicle工程完成啦,运行下看看吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值