小白学习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工程完成啦,运行下看看吧