CANoe之CAPL编程(CANoe系列其三)
1、CAPL概述
1.1、CAPL语言特性
1.2、CAPL的程序结构
1.3、CAPL的数据类型
1.4、CAPL事件类型概述
2、CAPL事件类型
2.1、系统事件
2.2、CAN控制器事件
2.3、CAN消息事件
2.4、键盘事件
2.5、时间事件
2.6、错误帧事件
2.7、环境变量事件
2.8、系统变量事件
1、CAPL概述
与Vspy的"C Code Interface"一样;在CANoe的使用中,一样提供了我们进行二次编程开发的工具——”CAPL Browser”。通过CAPL的编程,我们可以在节点上完成更为复杂的功能需求。操作如下:在CANoe工程的”Simulation Setup”界面下的左侧的网络节点中,点击铅笔形状的图标,进入CAPL编辑界面(若当前节点还没有创建对应的CAPL程序,则此时会先提示输入CAPL程序名,并保存为.can后缀的文件)
1.1、CAPL语言特性
CAPL(Communication Access Programming Laguage)语言是类C语言,语法其实与C语言很相似,但同时又包含了一些C++的特性,如this指针、事件等;
应用于Vector CAN工具节点的编程,是基于事件建模的语言;
可以使用write()函数进行调试,用于将调试信息输出到CANoe的write窗口上;
通过output()函数进行指定报文的发送;
通常是通过环境变量事件与CANoe面板进行关联,实现交互;
提供调用dll文件的方法(操作见"关于CAPL中对dll的调用操作"一文);这样保证了对由其他语言封装好的程序模块的调用;
1.2、CAPL的程序结构
如下,一个完整的CAPL程序的结构包含了头文件、全局变量、事件函数、自定义函数;当然不是每个因素都要有,视具体程序功能确定。
1.3、CAPL的数据类型
1.4、CAPL事件类型概