CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)

目录

工程描述

前情回顾

 Why—面板设计

What——面板设计

How——设计/配置Panel控件

Xvehicle工程中Panel的设计过程

Result——Panel设计


工程描述

仿真工程X-Vehicle:

该工程包含三个 ECU:Engine、Door和Display。

通过Control面板来仿真引擎状态切换、车速调整和车门 开关的操作,同时在Display面板上显示相关的状态。

前情回顾

在上篇操作(CANoe-第2个仿真工程-XVehicle—1总线数据库设计(思路)_lamanchas的博客-CSDN博客)中,我们通过定义数据库中的数据,创建了了XVehicle项目的各个ECU(门,引擎,显示器)、CAN总线、通信需要的信号、报文、变量,以及通信信号和通信节点间的相关关系。如下图所示:

 通信节点——ECU CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第1张图片
通信消息——环境变量
通信消息——报文 CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第2张图片
通信消息——信号 CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第3张图片
通信网络——结构 CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第4张图片

通信网络——通信节点

CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第5张图片

通信网络——

各个通信节点的

信号收发情况

CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第6张图片CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第7张图片CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第8张图片

Why—面板设计

至此ECU通信定义完成,本节要做的是:实现仿真Control和Display面板。

完成了通信网络的定义,接下来就需要在网络上进行通信。

通信的过程就涉及到信号发送,接收信号展示状态变化。那么如何使各个ECU发出信号,以及由如何使ECU展示信号下发后自己的状态变化,就是今天的主要工作——面板设计。

面板主要是用可视化控件的形式,仿真零部件。这样针对零部件的操作,零部件的状态显示都会更加直观。

比如,开关这个部件(在panel中称为控件),在panel中如下图,通过配置它的属性,通过鼠标点击就可以完成‘开’信号和‘关’信号的发送。通过拖拽Speed控件的滑钮,更改引擎速度。

又比如,仪表盘这个控件,在引擎接收到对应信号之后,可以直观展示当前速度。

CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第9张图片CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第10张图片

 What——面板设计

通过上面的举例,我们可以发现,开关和仪表盘,一个是发出信号的,一个是展示信号的。这也是面板中控件分类标准之一。

控件按控制和显示可划分2种:控制控件、显示控件。

其中,控制控件,用于关联信号、系统变量、环境变量。

显示控件,用于实时显示 信号、变量、诊断参数的值。

主要的控件有:

 CANoe-第2个仿真工程-XVehicle—2Panel设计(原理,思路)_第11张图片

详细的控件功能解释可以通过下文了解: CANoe之Panel Designer的使用(CANoe系列其二)_第55号小白鸭的博客-CSDN博客_canoe panel面板

How——设计/配置Panel控件

Panel控件配置有两个重要的部分:

一是,配置控件的自身属性,比如显示样式,字体,信号的格式(取值范围,步长);如果是控制控件,那么 还有控制方式(比如开关控件使用哪种鼠标操作,代表开、关);如果是显示控件,那么还要配置显示图片(比如车门状态,收到左车门开的信号时,使用图片展示)

另外一个是选择控件要关联的Symbol。Panel控件与这些Symbol相连,意味着Panel控件接入了之前定义的通信网络:Panel控件会从这些Symbol获取到自己需要的信息,或者向这些Symbol写入自己要发送的信息。具体的发送和接收的实现则通过ECU上的CAPL编程实现,会在下一节展开描述(写好了放链接在这里)。

其中Symbol有两种类型:一种是Signal,一种是Variable。选好要关联的类型后,再在Symbol中选择该类型中具体的变量进行关联。

PS:Variable又包括环境变量、系统变量。环境变量是在工程关联的dbc中创建的,而系统变量是在CANoe工程工具栏的Environment下的System Variables中创建的。(两者的功能区别也是一个点,先占坑,写好了链接放这里)

Xvehicle工程中Panel的设计过程

步骤概括如下:

  1. 添加系统变量——SystemEnvironment——NameSpace:Engine(EngineStateSwitch,EnginSpeedDspMeter,EngineSpeedEntry)
  2. 添加Control面板——Panel中添加负责控制的控件(车门控制,引擎控制)
  3. 添加Display面板——Panel中添加负责显示的控件(车门显示,引擎显示)
  4. 创建Desktop——新建一个DeskTop Tab ,把control面板窗口,Display面板窗口,write窗口,Trace窗口放在一起,便于测试和观察。 

 具体的操作步骤请移步(https://blog.csdn.net/lamanchas/article/details/122168798)

Result——Panel设计

在上述步骤完成后,控制和显示面板就完成了定义,并且接入了通信网络。

之后我们就可以使用图像化界面,很方便的改变改变信号或变量的值,并直观查看到系统的输出状态。

END

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