CANoe学习笔记3PanelDesigner.pdf
更新时间:2022-09-29 14:33:02 阅读: 评论:0
CANoe学****资料3---PanelDesigner
Xiangwei
2011-3-14
PanelDesigner(面板设计器)是CANoe软件中另一个自带的交互式面板设计工具,与另
一个面板设计工具PanelEditor(面板编辑器)具有相似的功能。
PanelDesigner所设计出的面板,其保存格式是“.xvp”(ExtendedVectorPanel)。
PanelDesigner中包含的基本控件供有16种,其名称、作用等信息参见下表,注意,有
部分控件仅仅能够在CANoe中使用;还有部分控件在作为控制类型控件时,也仅适用于CANoe
软件,在CANazer中则以限制模式使用(也即仅仅能够作为显示控件使用,而且无法绑定环境
变量)。
图标名称描述软件环境
工具制作CANoe、CANalyzer
Pointer
显示一个用户定义的CANoe、CANalyzer
AnalogGauge数值范围
触发动作CANoe
Button
选择或是显示选项CANoe;
在CANoe限制模式或是
CheckBoxCANalyzer中仅能被作为
显示控件使用
从数据库列表中选择CANoe;
或是显示一个符号值在CANoe限制模式或是
ComboBoxCANalyzer中仅能被作为
显示控件使用
将面板控件组或相关CANoe、CANalyzer
GroupBox的选项汇聚在一个区
域
在一定的值的范围之CANoe
NumericUp/Down内设置一个数值
在测试状态下用于调CANoe、CANalyzer
PanelHelpButton出帮助信息
交互式地选择一个文CANoe
件或文件夹。例如通过
PathDialog此控件选择配置文件
等
在涉及面板时用于加CANoe
PictureBox
载一个图片
在一个定义的值的范CANoe、CANalyzer
ProgressBar
围之内显示一个数值
在唯一性选择项目中CANoe;
作为显示或是选择使在CANoe限制模式或是
RadioButton用CANalyzer中仅能被作为
显示控件使用
输入文本信息之用,可CANoe、CANalyzer
StaticText完全应用于面板上的
标签项目,
选择或是显示一个状CANoe;
态在CANoe限制模式或是
Switch/IndicatorCANalyzer中仅能被作为
显示控件使用
输入或显示文本信息CANoe;
在CANoe限制模式或是
TextBoxCANalyzer中仅能被作为
显示控件使用
在一定的值的范围之CANoe;
内设置值的大小在CANoe限制模式或是
TrackBarCANalyzer中仅能被作为
显示控件使用
PanelDesigner与PanelEditor的区别可参见下表所示:
功能项PanelDesignerPanelEditor
创建控制或显示元素
使用拖拽方式直接将控件放置到面板上
在配置控件时在,使用拖拽方式加载信号
或变量
自动生成面板
自动将面板与配置文件关联
测试模式(验证面板是否编写正确)
使用CAPL命令操作控件
(激活面板、定义面板或控件的颜色)
“TrackBar”控件所支持的变量的格式intInt、float
生成的面板文件的后缀名*.xvp*p
窗口随意放置(工具箱、属性窗口、变量
浏览器)
控件直线排列功能
基准线功能(供对齐控件时试用)
在编辑过程中利用组合键控制控件元素
撤销/重做功能
对上表的几点总结:
(1)从表中可以看出,在创建面板上的控制或显示控件时,PanelDesigner可以方便地
使用拖拽功能,直接将控件元素从工具栏拖拽到面板上,从而完成创建工作;在关联环境变量
或是信号时,也可直接将变量拖拽到控件上,以完成自动关联。这种特性在PanelEditor中是
没有的。
(2)在使用PanelEditor编辑面板时,,可以使用工具栏上的运行按钮来随时运行编写的
面板,以检验面板功能是否正确,这种特性被称之为面板的“测试模式“(TestMode),注意该
特性并没有在PanelDesigner中提供。
(3)可以使用CAPL命令来控制PanelEditor制作的面板,如激活/不激活面板、改变面
板上控件的颜色等,而这个功能在PanelDesigner中也未提供。
(4)PanelDesigner中并没有提供撤销/重做功能(这样有可能会给面板的编辑工作带来
不便),该项功能仅仅在PanelEditor中提供。
PanelDesigner中的大多数控件的功能都与PanelEditor相似,下表中提供了更加详细的
对照信息。总体来说,PanelEditor中提供的控件更加丰富,但是PanelDesigner中的控件拥
有“属性”(Properties)窗口,在编辑时更加方便高效。
NumPanelDesignerPanelEditor
1AnalogGaugeAnalogGauge
PushButton
2Button
BitmapPushButton
3CheckBox—
4ComboBoxValueTableBox
5GroupBoxFrame
6NumericUp/DownSpinControl
7PanelHelpButtonPanelHelpButton
8PathDialogFileSelection
Bitmap
9PictureBox
Static_Bitmap
10ProgressBarVectorBar
11RadioButtonRadioButton
12StaticTextText
Switch
BitmapSwitch/Indicator
13Switch/Indicator
Bitmap_Button
Bitmap_Switch
14TextBoxInput/OutputBox
Slider,
15TrackBarBitmapSlider
Slider
16—HexEditor
17—PanelControlbutton
18—MessageDisplay
19—MessageGroupControl
20—Meter
这里列举了一个综合利用各种控件制作面板的实例。图中的面板包含有音量减、静音、音
量加三个按钮,分别绑定了VOLUME_DWN、VCI_MUTE、VOLUME_UP三个环境变量,用
以控制RNEG2010的音量;在“Trame0Xb6switch”区域则包含一个开关控件和一个文本框,
分别绑定了环境变量Trame_switch、Speed2,按下开关时,CANoe开始自动发送信息帧0xB6
(ID_DONNEES_BSI_RAPIDES),在VITV框中输入十进制的速度值后,在右侧的仪表上能
观测到对应的速度值,仪表控件同样绑定了环境变量Speed2。
源程序如下所示:
variables
{
message0xB6mSpeed;//定义信息帧ID_DONNEES_BSI_RAPIDES
message0x21FmRadio;//定义信息帧ID_CDE_RADIO
msTimertSpeed;//为循环发送信息帧0xB6定义一个定时器
}
onenvVarTrame_switch//是否发送信息帧0xB6
{
if(getvalue(this)==0x1)//当开关被按下时
{
tTimer(tSpeed,10);//10ms之后开始发送信息帧0xB6
}
elif(getvalue(this)==0x0)//若开关弹起后
{
cancelTimer(tSpeed);//停止发送
}
}
onenvVarSpeed2//仪表控件接收到VITV文本框中的速度信号后
{
mSpeed.VITV=getvalue(this)*100;//显示出速度值
}
onenvVarVCI_MUTE//静音功能
{
If(getvalue(this)==0x1)//静音激活
{
mRadio.VOLUME_DWN_ET_HDC=0x1;
mRadio.VOLUME_UP_ET_HDC=0x1;
output(mRadio);
}
elif(getvalue(this)==0x0)//静音关闭
{
mRadio.VOLUME_DWN_ET_HDC=0x0;
mRadio.VOLUME_UP_ET_HDC=0x0;
output(mRadio);
}
}
onenvVarVOLUME_UP//音量加
{
if(getvalue(this)==0x1)
{
mRadio.VOLUME_DWN_ET_HDC=0x1;
output(mRadio);
}
}
onenvVarVOLUME_DWN//音量减
{
if(getvalue(this)==0x1)
{
mRadio.VOLUME_DWN_ET_HDC=0x1;
output(mRadio);
}
}
ontimertSpeed//循环发送信息帧0xB6
{
output(mSpeed);
tTimer(tSpeed,200);//每隔200毫秒发送一次
}