Vector - CAPL - CAPL入门 - 01

news2024/9/23 7:29:13

        前面已经介绍了很多CAPL相关的函数极其应用,今天CAPL能够完成的功能来介绍在车载网络测试中都能够帮助测试工程师完成哪些工作?让我们对它有一个最基础的认识。

CAPL在总线中的应用

        > 分析特定消息或特定数据

        > 分析数据流量

        > 创建和修改工具的测量环境

        > 设计定制模块测试仪

        > 创建一个黑匣子来模拟网络的其余部分

        > 创建模块模拟器

        > 创建自定义模块制造测试仪

        > 创建自定义模块诊断或服务工具

        > 创建程序来执行网络日志(回放)文件的定制分析

        > 创建复杂的日志过滤器

        > 创建用于模块/网络验证的综合消息或数据内容生成测试器。

        > 对两个不同网络之间的功能网关进行编程

        > 通过在仿真中生成CAN错误帧来评估模块网络软件策略,以查看模块是否正常工作    

        > 使用可读的英文指令和值来模拟节点或系统的行为,而不是使用十六进制值

        > 事件消息、周期性消息或有条件重复的消息

        > 人为事件,例如在PC键盘上按下按钮

        > 定时节点或网络事件

        > 多个时间事件,每个事件都具有可编程的行为

        > 正常操作、诊断操作或制造操作

        > 物理参数或符号值的变化(例如,“ON”,“OFF”)

        > 模块和网络故障,以评估有限操作策略

        > 简单或复杂的函数(如sin、cos)

CANoe在测试中的常用模式

1)离线模式(Offline Mode)

        通过CANoe制作多个仿真节点,来模拟我们想要的实际节点和仿真节点进行通信,一次来验证我们的软件逻辑是通的,作为项目预研使用。

 

 2)在线模式(Online Mode)

        这种模式使我们最常见的一个使用模式,我们日常的测试中,使用最多的一种情况,我们通过CANoe中CAPL进行仿真,与实际的物理总线进行通信,并且能够监听仿真和物理总线的通信状态。

 3)在线监听(Online Mode)

        此种情况主要作为监听物理总线的通信情况,并对实际物理总线通信状态进行分析。实际也是上面使用情况的一部分

CAPL简介

        CAPL(即 CAN Access Programming Language)是基于 C 编程语言,是专门在 CANalyzer 、 CANoe 和vTESTstudio基于 PC 的工具环境中使用的编程语言。 CAPL(读作“kapple”)的最初设计意图是满足基于 CAN 的分布式嵌入式系统开发人员的要求,包括:
        > 最大程度地控制所有测试和测量操作
        > 最大程度地控制系统或模块仿真 – CANoe 或 CANalyzer
        > 最大限度地支持一个或多个通信通道
        > 最大程度的事件和消息记录以及回放控制
        > 能够与其他 PC 应用程序互连

        CAPL及其编程环境的创建成为满足这些要求的实现。将 CANalyzer 或 CANoe 与 CAPL 结合使用,可以创建具有用户定义行为的自定义工具应用程序。 潜在应用仅受想象力、可用通信硬件限制(如果适用)和 PC 速度的限制。

CAPL面向事件

1、总线事件 

on message 0x100
{
  write("message 0x100");
}

2、键盘事件

on key 'p'
{
  write("按下‘p’键");
}

3、时间事件

variables
{
  msTimer timers;
  message * canmsg;
}

on timer timers
{
  output(canmsg);
}

CAPL Browser界面

        左侧工具栏主要是Include(包含外部以实现的.cin、.can、.dll等文件);Variables(全局变量存放位置);System(时间事件和按键事件都可以在这里查看到);CAN(总线事件显示位置);Functions(开发的函数可以在这里看到)。

        右侧工具栏主要是CAPL Browser内置的一些函数,我们可以在这里搜索自己需要的函数,直接拖拽到中间的编辑界面即可。当然我们也可以通过打开dbc、MOST、LIN等数据库,也是通过拖拽直接使用,非常的方便使用。

        下方Output是我们通过Compile All编译的所有脚本情况,如果有错误我们可以在这里看到具体的编译情况。

        直接点击右上角或者直接点击F1即可打开CAPL帮助文档,在里面搜索查看需要的函数,里面包含所有内置函数的说明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/690028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧班牌系统源码,相关技术:springboot,elmentui ,Quartz,jpa,jwt

电子班牌系统的主要功能包括:班级管理、学生信息管理、教师管理、课程管理、作业管理、考试管理、公告管理、评价管理、学校消息发布等。在班级管理方面,该系统可以实现教师对班级的整体管理以及学生个人信息的管理,包括个人信息、考试成绩、…

【Java】Java核心 72:XML (上)

文章目录 1 XML概述什么是XMLXML作用 2 编写第1个XML文件需求效果步骤 3 XML的组成:声明和元素XML组成文档声明元素(标签、标记) 4 XML的组成:属性、注释和转义字符属性的语法注释转义字符[实体字符]小结 1 XML概述 什么是XML 英…

rabbitmq设置允许外部访问

rabbitmq默认端口为15672,用户名和密码都为guest,是不允许外部访问的. 允许外部访问设置需要操作两步: 第一步:添加其它用户,guest只能用于本机 第二步:Virtual Host允许添加的用户访问,点击下图红色部分. spring配置 spring:rabbitmq:host: 192.168.101.57port: 5672username…

idea中有个目录不显示,磁盘中是有的

java项目src下有个目录data不显示 通过打开D盘看目录是有的,运行项目的时候报错,找不到目录下的文件。 解决方案: idea -> file -> seetings -> EDitor -> file types 打开页面后右侧显示有ignore files and folders 查看这里面有…

【Visual Studio】关于rc文件预处理器宏

问题 VS工程调试遇到一个问题:明明在 项目\属性,C/C\预处理器 页面定义了宏,为什么rc编译时没有影响? 百度后发现,和下方链接中问题很相似。 https://bbs.csdn.net/topics/50485796https://bbs.csdn.net/topics/50…

【运维】查询数据库每张表的数据及索引占用大小

【SQL】查询数据库每张表的数据及索引占用大小 SELECTa.*,CONCAT( a.总大小 / 1024000000, G ) 总大小G FROM(SELECTTABLE_SCHEMA,TABLE_NAME,sum( DATA_LENGTH ) 数据大小,sum( INDEX_LENGTH ) 索引大小,( sum( DATA_LENGTH ) sum( INDEX_LENGTH ) ) 总大小FROMinformation_s…

C# [unity]求顶点数量不等的两条曲线的中线

好久没写了.最近在尝试重写lgsvl导入地图数据的方式,地图同学提供的opendrive车道线计算不准,所以直接让他们导出经纬度的高精地图json数据,但是这种数据只有车道边界线,没有车道中心线, 基于只是想小改而非大改的前提下,还是要算出车道中心线.搞个小demo传上来,代码写的很拙劣…

宝塔定时任务实现磁盘使用率超阀值后自动发送邮件

服务器磁盘使用空间不足会产生各种不可预知的灾难,服务器上的应用几乎全部不能用,如果没有遇到过磁盘占满的问题,可能很难发现它。 步骤 安装邮件发送工具sendEmail磁盘检测并发送邮件shell脚本宝塔配置计划任务 安装邮件发送工具sendEmail …

【ROS】TF2坐标转换及实战示例

Halo,这里是Ppeua。平时主要更新C,数据结构算法…感兴趣就关注我吧!你定不会失望。 文章目录 0.ROS中的坐标转换消息包0.1 geometry_msgs/TransformStamped0.2 geometry_msgs/PointStamped1.静态坐标转换1.1导入所需功能包1.2发布方实现1.3 …

多元分类预测 | Matlab粒子群算法(PSO)优化极限学习机(ELM)的分类预测,多特征输入模型。PSO-ELM分类预测模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元分类预测 | Matlab粒子群算法(PSO)优化极限学习机(ELM)的分类预测,多特征输入模型。PSO-ELM分类预测模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,…

DALL-E2原理解读——大模型论文阅读笔记五

论文:https://cdn.openai.com/papers/dall-e-2.pdf 项目:https://openai.com/dall-e-2 一. 主要思想 利用CLIP提取的文本特征,级联式的生成图片。第一阶段通过prior将文本特征与图像特征进行对齐,第二阶段用扩散模型将视觉特征转…

简单demo演示Tomcat中Servlet

挺好玩的,有利于初学对容器和servlet接口规范的理解 具体代码 package org.apache;import javax.servlet.Servlet; import java.io.FileReader; import java.io.IOException; import java.util.Properties; import java.util.ResourceBundle; import java.util.Scanner;/*** a…

一文了解HTTP协议

文章目录 前言概念协议传输超文本 HTTP 协议的格式HTTP 请求HTTP 响应 总结 前言 在这之前,可以看看我之前的文章,也是关于协议的。 TCP/IP 协议详解 UDP协议详解 我们在打开一个网页的时候通常都会注意到网址的前面有一个统一的标识http://&#xf…

智慧校园电子班牌系统源码

电子班牌系统的主要功能包括:班级管理、学生信息管理、教师管理、课程管理、作业管理、考试管理、公告管理、评价管理、学校消息发布等。在班级管理方面,该系统可以实现教师对班级的整体管理以及学生个人信息的管理,包括个人信息、考试成绩、…

Long型参数传到前端精度丢失,后两位变为00,导致传值错误,解决方案

问题: 后端id字段为Long型,起初采用自增主键,没有问题;由于业务需要改为雪花id,后端可正常运行,传递到前端精度丢失,后两位变为00。 解决方案: 后端将属性转为字符串传递&#xff0…

Spring学习笔记---上篇

文章目录 1、Spring1.1、简介1.2、优点1.3、Spring的组成1.4、拓展 2、IOC理论推导3、IOC的本质3.1、IOC概念3.2、IoC是Spring框架的核心内容 3、HelloSpring3.1、实现3.2、思考 4、IOC创建对象的方式5、Spring配置5.1、别名(alias)5.2、Bean的配置5.3、…

单图换脸roop源码与环境配置

前言 1.roop是新开源了一个单图就可以进行视频换脸的项目,只需要一张所需面部的图像。不需要数据集,不需要训练。 2.大概的测试了一下,正脸换脸效果还不错,融合也比较自然。但如果人脸比较大,最终换出的效果可能会有…

source-map定位生产问题

source-map 定位源码错误位置 需要安装source-map库webpack配置需要配上devtool: “hidden-source-map”,devtool详细配置看这里devtool配置配置完webpack打包后,可以看到打包出来的.js.map文件 将生产包产生错误的栈赋值给stack即可,即设置…

前端——原生HTML猫猫max桌宠(附源码)

一、前言 看见了max大佬和狗头人大佬做的一个桌宠,于是就像用web简单实现一下 二、代码包 https://wwwf.lanzout.com/iWfER0ze0cqd密码:fg88 三、简单效果 简单用了随机动作(可以进行权重设置) 四、踩坑情况 如果不是主循环loop里&#xff0…

记录--巧用 overflow-scroll 实现丝滑轮播图

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言: 近期我在项目中就接到了一个完成轮播图组件的需求。最开始我也像大家一样,直接选择使用了知名的开源项目 "Swiper",但是后来发现它在移动端项目中某些测试环境…