使用CANoe进行Panel设计


原文链接: https://blog.csdn.net/weixin_44536482/article/details/94171929

摘要

CANoe为我们提供了制作交互面板的功能——Panel Designer。通过该工具我们可以创建面板,对放置的控件关联上信号变量。当我们对控件进行操作时,则相应改变了关联上该控件的变量值,再通过CAPL编程获取该变量的值,我们便可以进行下一步的程序动作了。面板控件为交互,关联上的信号变量为桥梁,以此完成交互工作。

1. Panel的新建及概述

如下图,点击工具栏Home下的Panel,可以选择Add Panel导入之前保存的Panel文件(.xvp文件),也可以选择New Panel进行面板的新建。
在这里插入图片描述

Panel Designer的操作界面如下,在右侧调出控件列表并进行参数设置,中间是控件的形态显示,左侧是工程中定义的报文信号、环境变量、系统变量等信息的预览窗口。
在这里插入图片描述

如上图,我们放置了一个计量器控件,但此时我们还没有将其用起来,即还没有将该控件与CANoe进行关联。关联操作如下:
(1) 在Symbol Filter属性中选择该信号要进行关联的类型;常用到的有信号、环境变量、系统变量等;
Ps: 注意环境变量是在工程关联的dbc中创建的,而系统变量是在CANoe工程工具栏的Environment下的System Variables中创建的。
(2) 在前面步骤选好要关联的类型后,再在Symbol中选择该类型中具体的变量进行关联。
(3) 通过关联的信号或者环境变量等,我们就将控件的状态与CANoe联系起来了。当我们对控件进行操作时,改变其关联的变量值,通过CAPL编程获取该变量的值,我们便可以进行下一步的程序动作了(如将该值输入到某个报文信号进行发送,或者开始调用某个功能函数等操作)。

2. 控件介绍

2.1 Analog Guage控件

用于将数据的数值以仪表的形式显示(一般用于车速、转速等信号数值的显示)。如下图,需要设置的主要参数有:进行关联的变量变量范围及扇形角度单位等。
在这里插入图片描述

2.2 Button控件

作为开关按钮,通过该按键改变关联的变量值。在CAPL程序中,对关联的变量值进行判断,再对应执行相应的功能代码。如下图,需要设置的主要参数有:按下与松开的按键值关联的变量按键名
在这里插入图片描述

2.3 Check Box控件

其作用与前面的Button按钮相似,只不过Check Box会锁住当前状态,而Button控件的状态只在按住的时候才改变,无法将状态锁住。如下图,需要设置的主要参数有:勾选与没有勾选时的值关联的变量控件指示名
在这里插入图片描述

2.4 Clock Control控件

用于时间显示,可以指示工程的运行时间(需在CAPL中编程去实现,在Source中选择CAPL),或对当前时间进行显示(在Source中选择PCSystem Time)。如下图,需要设置的主要参数有:控件名时间的输入源。该控件不关联变量也可以使用,因为其只是用于指示时间。
在这里插入图片描述

Source选择CAPL时,在CAPL编程中,对该控件时间进行设置的函数是:

setClockControlTime(“当前Panel名字”, “上图中的控件名”, 要设置的数值);

所以,若要指示当前工程的工作时间,则需要定义一个1s的定时器和一个用于指示时间的变量,每1s将变量自加,并通过上面提到的函数进行时间更新显示。
CAPL代码如下:

Variables	 			/*全局变量定义*/
{
  int gTimeDownloadSec = 0;
  timer CountTime;
}

on start      			/*系统事件,工程开始时执行*/
{
   setTimer(CountTime, 1);  
}

on timer CountTime  	/*CountTime为每秒运行一次的时间事件*/
{
  gTimeDownloadSec++;
  setClockControlTime("temp", "Clock Control", gTimeDownloadSec);
  setTimer(CountTime, 1); 
}

2.5 Combo Box控件

作为下拉列表,用于对变量值的设定。如下图,需要设置的主要参数有:选择进行关联的信号选择显示方式设置控件描述
在这里插入图片描述

2.6 File Button控件

用于链接上一个文件,当点击按键时则会打开链接上的文件。如下图,需要设置的主要参数有:选择要链接的文件按键的显示(通过加载的图片来修饰)
在这里插入图片描述

2.7 Group Box控件

用于控件的分组,可以将同一性质的控件放到一个Group Box控件之中。如下图,需要设置对这组控件的描述。
在这里插入图片描述

2.8 Input/Output Box控件

用于对关联变量值的输入与输出显示(当关联上String型变量时,则是做为文本输入输出框)。既可以显示关联变量的当前值;也可以输入值改变关联的变量值。如下图,需要设置的参数主要有:选择要进行关联的变量对控件的描述等。
在这里插入图片描述

2.9 LCD Control控件

其作用是以LCD的形式显示关联的变量值(没有输入改变变量值的功能)。如下图,需要设置的内容主要有:选择要关联的变量根据变量取值范围设置好LCD的整数及小数的位数
在这里插入图片描述

2.10 LED Control控件

常用于关联上某个变量值,以LED亮灭的形式指示当前工程的运行状态。如下图,需要设置的内容主要有:选择要关联的变量亮灭时灯的颜色LED灯的大小亮灭对应的触发值(下图即当关联的变量值置为1时LED灯才会点亮)。
在这里插入图片描述

2.11 Media Player控件

用于对音视频等媒体文件的播放控制。如下图,需要设置的内容主要有:选择要操作的媒体文件选择关联的变量设定对应播放、停止、暂停操作的变量值
在这里插入图片描述

2.12 Numeric Up/Down控件

用于以数值增减箭头的方式对关联变量的值进行改变控制。如下图,需要设置的内容主要有:选择要关联的变量设定每按一次的增减量取值范围
在这里插入图片描述

2.13 Panel Control Button控件

当按下该控件时进行关联面板的跳转。如下图,需要设置的内容主要有:选择要关联的面板控件显示名
在这里插入图片描述

2.14 Path Dialog控件

常用于对指定类型文件的选择,并通过关联的string类型变量存储选择的文件路径,便于在CAPL编程中进行下一步(如打开文件进行读取等)的工作。如下图,需要设置的内容主要有:选择要关联的string类型变量文件过滤类型
在这里插入图片描述

2.15 Picture Box控件

其作用是调取图片显示,用于面板的美化。如下图,需要只需关联上要显示的图片即可。
在这里插入图片描述

2.16 Progress Bar控件

其作用是以进度条的形式对关联变量的值进行显示(没有输入改变的功能)。如下图,需要设置的内容主要有:选择要关联的变量取值范围进度条的显示方向(水平/垂直)信号数值的显示位置显示的小数位数等。
在这里插入图片描述

2.17 Radio Button控件

其作用是以单选按钮的形式对关联变量的状态进行显示(选中或者没选中)。如下图,需要设置的内容主要有:选择要关联的变量对应显示选中时的变量值是否可点击选择、显示文本信息等。
在这里插入图片描述

2.18 Static Text控件

用于界面上文本信息的显示。如下图,需要设置的内容主要有:显示的内容显示字体大小的设置
在这里插入图片描述

2.19 Track Bar控件

其作用是以刻度滑杠的形式对关联变量的状态进行显示及控制。如下图,需要设置的内容主要有:选择要关联的变量设置范围是否可拖动改变变量值选择控件方向等。
在这里插入图片描述

小结

以上,我们介绍了CANoe工程中面板控件的作用及相关的参数设置,这里再对上述的十几种控件进行归类梳理,以便需要时查找对应满足功能的控件。
指示类控件:这一类控件以其控件形态展示其关联信号的当前值,没有对信号进行输入改动的能力,仅仅用于值的输出展示。

  • Clock Control控件:以LCD的形式对当前时间或者工程的运行时间进行显示;
  • LCD Control控件:以LCD的形式显示关联的变量值;
  • LED Control控件:以LED亮灭的形式显示关联的信号值状态(只能有亮或灭对应的状态);
  • Progress Bar控件:以进度条的形式对关联变量的值进行显示;

功能类控件:这一类控件用于调用其他功能块。

  • File Button控件:通过该控件打开链接的文件;
  • Media Player控件:用于播放关联上的音视频媒体文件;
  • Panel Control Button控件:通过该控件调出关联上的Panel面板;
  • Path Dialog控件:通过该控件可对指定文件类型进行过滤选择;
  • Picture Box控件:显示关联上的图片,一般用于面板的美化;

信号值交互类控件:这一类控件用于对信号值的输入改变、输出显示,除信号值大小的显示外,还具备对信号值进行输入改动的能力。

  • Analog Guage控件:用于以仪表盘的形式显示/控制关联上的信号值(如用于车速转速的控制);
  • Button控件:通过关联上某个变量作为开关按钮(仅有按下、松开两种状态);
  • Check Box控件:以勾选框形式去表示状态(仅有勾选、未选两种状态);
  • Combo Box控件:以下拉列表的形式显示/控制关联上的信号值;
  • Input/Output Box控件:输入输出框,用于对关联变量的输入控制及输出显示(数字或文本形式);
  • Numeric Up/Down控件:以数值增减箭头的形式对关联变量的值进行控制和显示;
  • Radio Button控件:以单选按钮的形式对关联变量的状态进行显示(选中或者没选中);
  • Track Bar控件:以刻度滑杠的形式对关联变量的状态进行显示及控制;

其他类控件

  • Group Box控件:用于对其他控件的分组(将同一特性的控件都置于一个Group Box
    控件框内);
  • Static Text控件:用于界面上指示用的静态文本信息的显示;

猜你喜欢

转载自blog.csdn.net/baoli8425/article/details/118075438