CANoe-第一个仿真工程:开关与灯(思路)

下文内容主要是梳理这个仿真工程的思路,方便从整体上理解整个过程。

详细的步骤可以查看CANoe-创建第一个仿真工程_CAIC00513的博客-CSDN博客 。

项目描述:仿真一个'开关和灯'的通信过程:开关打开,灯亮;开关关闭,灯灭。

需要实现功能的示意图:当用户操作开关以后,节点Switch将这个动作通过CAN通知给节点Light;节点Light收到这个CAN报文后,根据信号的值将指示灯点亮或熄灭。

CANoe-第一个仿真工程:开关与灯(思路)_第1张图片

 实际上是,模拟两个功能单一的ECU之间的通信,主要任务是:

(1)创建两个节点(Switch模块和Light模块);

(2)创建两个控制面板(开关面板和指示灯面板);

(3)通过CAPL代码实现两个节点间的通信。

如图示可以看到,

  • 节点与控制面板的通信信号分别设置为svSwitch,svLight
  • can总线上传输的是报文Msg1,Msg1包含bsSwitch信号
  • bsSwitch信号是svSwitch信号经过控制面板处理后得到的输出信号
  • Light控制面板则实现了从CAN接收Msg1.bsSwitch信号转换成svLight信号的功能

分解步骤是:

  1. 创建CAN总线——基于CAN模板(CAN总线模型)创建工程,建立工程结构文件夹
  2. 创建仿真节点模板——Tools的Panels(SWITCH, LIGHT)
  3. 创建节点的控制面板——Configuration的Simulation Setup(ECU1-开关的控制器,ECU2-灯的控制器 )
  4. 创建数据库文件——Tools的CANdb++Editor:总线上的报文Msg1、信号bsSwitch,存放在数据库文件中
  5. 创建系统变量——Environment的 Sys variables :设置开关和灯的信号svSwitch,svLight
  6. 在ECU上编写代码,ECU1(Switch处理器:读取当前系统变量svSwitch的值,赋给报文信号,并将报文输出到总线上),ECU2(灯处理器:读取总线的报文信号bsSwitch值,并赋值给系统变量svLight)
  7. 运行工程——Home的start启动
  8. 查看运行输出信息——Trcae的wirite窗口
  9. 查看总线的报文信息——Trace的trace窗口:开合开关时,可查看到不同的报文信号值;可以通过prefilter选择查看哪些信号。

详细步骤可参考,非常详实细致:

CANoe-创建第一个仿真工程_CAIC00513的博客-CSDN博客

 

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