一、CAPL语法
1.数据类型
数据类型 | 名称 | 注释 |
---|---|---|
无符号整型 | byte | 1字节 |
word | 2字节 | |
dword | 4字节 | |
有符号整型 | int | 2字节 |
long | 4字节 | |
浮点型 | float | 8字节 |
double | 8字节 | |
CAN报文 | message | |
定时器 | timer | 秒 |
msTimer | 毫秒 | |
单个字符 | char | 1字节 |
2.事件
事件类型 | 事件名 | 程序执行条件 | 事件过程语法程序 |
---|---|---|---|
系统事件 | PreStart | CANoe初始化时执行 | on preStart{...} |
Start | 测量开始时执行 | on start{...} | |
StopMeasuremet | 测量结束时执行 | on stopMeasurement{...} | |
CAN控制器事件 | BusOff | 硬件检测到BusOff时执行 | on busOff{...} |
ErrorActive | 硬件检测到ErrActiv时执行 | on errorActive{...} | |
ErrorPassive | 硬件检测到ErrorPassive | on errorPassive{...} | |
WarningLimit | 硬件检测到WarningLimit时执行 | on warningLimit{...} | |
CAN消息事件 | 自定义 | 接收到指定的消息时执行 | on message Message{...} |
时间事件 | 自定义 | 定时时间超过时执行 | on timer Timer{...} |
键盘事件 | 自定义键值 | 指定的键按下时执行 | on key Key{...} |
错误帧事件 | ErrorFrame | 硬件每次检测到错误帧时执行 | on errorFrame{...} |
环境变量事件 | 自定义 | 指定的环境变量值改变时执行 | on envVar EnvVar{...} |
3.程序构成
三个部分:变量,各种事件,自定义函数
/* 变量 */
variables
{
... //申明全局变量
}
/* 各种事件 */
on start
{
... //过程指令块
}
on message XXX
{
... //过程指令块
}
on key '1'
{
... //过程指令块
}
/* 自定义函数 */
My_function_1(Para_1 , Para_2 , ...)
{
... //函数体
}
My_function_n(Para_1 , Para_2 , ...)
{
... //函数体
}
二、分析窗口
1.Trace过滤
分析报文
(1)Import/Export : 右击,可以导出或者导入.blf或.asc文件
(2)Detail view : 单条报文详细显示
(3)Staticstic view : 多条报文的均值显示
(4)Difference view : 差分显示,两条报文的不同
(5)Predefined filter : 对一列报文进行过滤,分出一种类型的全部报文
(6)Analysis filter : 分析过滤器,分为阻止和通过两种,激活后,可以将报文直接拖拽,或这上面的类型
2.Graphice展示和分析数据曲线
分析信号和变量
(1)以信号为基础分析,添加信号的方式 :1.Symbol Explorer 中信号拖拽 2. Trace 中的信号拖拽 3. 右键,add
(2)select y-axis view : 可以将信号独立显示在坐标或者一起显示
(3)调整显示曲线的大小:自动按钮(Fit All Signals) 手动设置(Configuration->Signals/Axes->调节Min和Max,y轴范围->Time->调节Start和Length,开始和结束时间) 左侧目录设置(右键添加最小值和最大值)
(4)Activate/deactivate measurement cursor :查询当前坐标的值
(5)Activate/deactivate diffenerce cursor :差分光标,对比两个值显示在左下角
(6)保存记录文件:首先在开始之前,右键->Signal Logging Configuration...新建一个.mdf文件用于保存图像,右键->Start Logging开始保持图像到刚才建的文件,再次点击停止,Import/Export可以导入刚才记录的文件
(7)Highlight Signals : 高亮
(8)Signal as x-axes : 把选中信号作为x轴,显示其他信号随该信号变化的情况
3.State Tracker Window 状态跟踪器
总线数据统计
作用:状态转化的时间顺序和时长,系统故障排除和监视,联合分析数据(ECU通信状态,总线信号,IO输入输出,autosar运行程序的状态)
(1)添加方式类似Graphice,信号,变量等
(2)Drag zoom : 显示当前数据的具体取值
(3)Diff Cursor : 差分光标,显示两个数据的取值,相距的时间
(4)设置数据的显示颜色:Configuration->Measurement Objects->Value Definition 选择条件,触发时的颜色
(5)闪电标志,设置达到某一条件暂停
4.Filter Function Blocks
(1)Program Node
(2)Channel Filter
可以单独分析不同通道数据
(3)Event Filter
(4)Variable Filter
(5)Trigger Filter
具体操作参考Logging Block
(6)break
右击使能或中断
5.Logging Block记录模块
(1)格式 :①面向报文:ASCII(*.asc)和Binary(*.blf)
②面向信号:(*.mdf)
(2)流程
①设置路径,文件名,文件格式
②选择记录模式,配置
③开始运行
(3)设置记录模式
6.Offline Mode本地模式
(1)多个文件回放,配置回放的顺序
(2)选择回放的方式
全部回放,单步回放,周期回放
7.Import and Export
(1)数据格式
面向报文:①(*.asc):可读文本文件,可以通过记事本打开
②(*.blf):推荐使用,支持多种总线和协议,比asc小的多
③(*.mf4):与其他工具进行数据交换使用
面向信号,仅保存信号相关的部分:①(*.csv)②(*.mat)③(*.mdf)
(2)数据使用
①Graphic窗口可以操作面向信号文件
②Trace窗口可以操作面向报文的文件,有数据库时可以操作面向信号文件
(3)Logging File Conversion
文件格式转化工具
三、发送模块
1.CAN IG
发送自定义的报文或者数据库的报文到CAN总线
发送数据库的报文
点击Add Frame from DataBast ->设置触发方式和数据场的内容
可以根据数据实际意义写入数据,Generator Control设置一个信号发生器,可以将数据显示为波形
2.Visual Sequence可视化序列
(1)指定简单的报文传输序列,执行总线相关的基本检查,可以设置多个
(2)设置两条报文轮流发送,如下图
①建立一个可视化序列
②根据command检测命令,控制命令,报文发送指令 ,等待指令,输出指令,编辑需要执行的操作
③检查报文是否正确
④设置自动执行模式,开始后执行为循环执行,自动执行,执行到某一时间
⑤手动执行
四、仿真
1.System Variable添加自定义的系统变量
系统变量:没有在数据库定义的非总线的数据信号,如某些IO信号;工程的全局变量,用于构建内部参数,如,系统变量是仿真的重要数据类型。
系统变量文件格式:(*.vsysvar)
2.Symbol Panel&Node Panel
直接修改信号的值,报文的值。
①Symbol Panel
根据database修改实际意义的物理值, 信号的系统变量
②Node Panel
可以在运行的时候配置CAN,LIN等总线信号,创建新节点在Simulation setup打开,可以显示signal和messages视图,Rx视图可以接收节点显示;可以打开整个网络的Node Panel。
五、功能区窗口
1.File菜单
工程文件相关属性设定
2.Home功能区
测量组件,显示组件,其他组件
3.Analysis功能区
配置组件,总线分析组件,其他分析组件
4.Simulation功能区
仿真组件和激励组件
5.Test功能区
测试单元组件和测试模块组件
6.Diagnostics功能区
诊断相关的配置组件,控制组件和工具组件,Diagnostics/ISO TP Configuration中添加相应的诊断描述文件后才可用,否则灰色。
7.Environment功能区
对象组件和其他组件
8.Hardware功能区
硬件相关的通道组件,VT系统组件,传感器组件和I/O硬件组件。
9.Tools功能区
网络组件和其他组件
10.Layout功能区
设置各个子窗口的显示模式