标定设备自动化-ASAP3

欢迎关注《汽车软件技术》公众号,回复关键字获取资料。
1.ASAP3定义
下图选自INCA文档《INCA_IF_ASAM-ASAP3_EN.pdf》说明了ASAP3的用途:标定软件和设备之间(如INCA和发动机台架),通过ASAP3传输数据,实现自动化控制。常见的案例有:INCA作为服务器端,PUMA通过ASAP3读取INCA变量,修改INCA标定量。(回复“ASAP3文档“获取)

2.通讯协议
本文介绍以太网通信方式。传输的报文有以下内容组成:
|
字节 |
0 |
1 |
2 |
3 |
… |
2*n-1 |
2*n |
2*n+1 |
|
内容 |
报文总长度,含checksum |
指令 |
数据 |
check sum |
||||
有几点要注意:
a)数字转成字节后,顺序是从高到低。比如513,转成2个字节=0x2 0x1,和编程软件默认的排序方式不同;
b)如果数据中有字符串,则需要是字符串实际长度+字符串内容,如果字符串实际长度是奇数,则后面补一个空格;
c)checksum是把之前的所有内容,每2个字节算出一个整数(高位在前,低位在后),再把所有整数相加得到。
常用的指令,以PUMA和INCA为例,时序如下

1)INIT
初始化
2) IDENTIFY
身份识别
3)SELECT DESCRIPTION-FILE AND BINARY FILE
选择A2L和数据文件
4)PARAMETER FOR VALUE ACQUISITION
设置变量
5)GET ONLINE VALUE
读取变量
6)GET PARAMETER FROM AP-S
读取标定量
7)SET PARAMETER ON AP-S
修改标定量
8)GET LOOKUP TABLE FROM AP-S
读取MAP
9)EXIT
退出
3.软件实现
1)INCA设置
在INCA实验环境内,打开ASAP3,

建立以太网连接

2)开发基于上述通信协议的软件(回复“ASAP3例子”获取)
INCA界面

程序界面

标定设备自动化-ASAP3的更多相关文章
- Appium自动化—浅谈iOS自动化测试环境搭建
在日常的测试工作中,我们会发现有些测试工作重复率极高,测试人员需要花费大量的时间进行这些重复性的测试,浪费了大量的人力与时间.若能够将常用的测试场景进行自动化,那必定能节省许多的人力与时间.作为一个初 ...
- Camera Calibration 相机标定:原理简介(四)
4 基于3D标定物的标定方法 使用基于3D标定物进行相机标定,是一种传统且常见的相机标定法.3D标定物在不同应用场景下不尽相同,摄影测量学中,使用的3D标定物种类最为繁杂,如图-1的室内控制场,由多条 ...
- Camera Calibration 相机标定:原理简介(一)
1 相机标定常见方法 广义来说,相机标定不单包括成像过程的几何关系标定,还包括辐射关系的标定,本文只探讨几何关系.相机标定是3D计算机视觉(Computer Vision)里从2D图像中提取量测信息的 ...
- appium自动化的工作原理(1)
用appium开发移动端自动化测试脚本这么长时间,还没有认证的了解下它的原理是什么,到底是如何实现的呢? 1.先看一个Appium加载的过程图解(来自:了解appium自动化的工作原理--https: ...
- 研华运动控制卡 SoftMotion 技术简介
SoftMotion为研华在设备自动化中的一项重要核心技术,相较于过去市面上ASIC 运动控制解决方案,研华自动化团队自主技术开发软件运动控制技术,并且透过现场可程序逻辑门阵列 (FPGA, Fiel ...
- !!!全球最流行开源硬件平台!不知道就OUT了!
全球最流行的几个开源硬件平台!不知道就OUT了! 随着物联网的推广和普及,五年内全球会有200亿台智能设备的需求,而如今随着创客概念的兴起,开源硬件也越加的火热,让我们来看看现在都有哪些主流的开源硬件 ...
- appium工作原理
Appium原理 面试的时候,被问到appium原理,一点不会,实在尴尬.大家可以直接翻看原作https://blog.csdn.net/jffhy2017/article/details/69220 ...
- 【Appium】Appium工作原理(2)
Appium原理 面试的时候,被问到appium原理,一点不会,实在尴尬. 大家可以直接翻看原作https://blog.csdn.net/jffhy2017/article/details/6922 ...
- CPS(Cyber-Physical Systems)白皮书-摘选
<中国制造2025>提出,“基于信息物理系统的智能装备.智能工厂等智能制造正在引领制造方式变革”,要围绕控制系统.工业软件.工业网络.工业云服务和工业大数据平台等,加强信息物理系统的研发与 ...
随机推荐
- Elasticsearch系列---shard内部原理
概要 本篇我们来看看shard内部的一些操作原理,了解一下人家是怎么玩的. 倒排索引 倒排索引的结构,是非常适合用来做搜索的,Elasticsearch会为索引的每个index为analyzed的字段 ...
- MyBatis(5)——解决属性名与列名不一致的问题
解决属性名与列名不一致的问题 问题描述: 当实体类的属性与数据库的列名不对应时取不到该列数据 说明:MyBatis会根据查询的列名设值(列名的setter方法),然后以此列名为做查询等操作,在此过程中 ...
- C语言随笔3:指针定义、数据在地址中的大小端排列
指针变量:用于存放另一个变量的地址 (指针变量所占空间大小由操作系统决定32/64位 4/8字节 // 声明且定义:int *p=&a: 声明.定义:int *p: p= &a: ...
- 2019新生赛 %%%xxh
笔记.md ...
- 【音乐欣赏】《Running Away》 - Taska Black / DROELOE
曲名:Runing Away 作者:Taska Black .DROELOE [00:00.000] Running with the speed of light [00:03.081] Illum ...
- 五种网络IO模型以及多路复用IO中select/epoll对比
下面都是以网络读数据为例 [2阶段网络IO] 第一阶段:等待数据 wait for data 第二阶段:从内核复制数据到用户 copy data from kernel to user 下面是5种网络 ...
- java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory解决方法
解决方法 第一种方法:导入commons-logging.jar包 第二种方法,如果用的是maven项目,则直接在pom.xml中加入commons-logging依赖包,如下: <depend ...
- 在linux环境下python与C++混合编程
参考:在linux环境下编译C++ 程序 linux下python3调用c代码或者python3调用c++代码 https://blog.csdn.net/u013179327/article/det ...
- Java将数据进行分组处理
将传人的数据进行分组,使用map保存每组的数据. /** * 将取出的数据进行分组 * @param list * @return */ public Map<Integer,Object> ...
- Move-to-front(MTF) and Run-lenght encoding(RLE) algorithms
mtf算法(关于该算法:https://www2.cs.duke.edu/csed/algoprobs/beta/bw1.html): #include <stdio.h> #includ ...