标定设备自动化-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>提出,“基于信息物理系统的智能装备.智能工厂等智能制造正在引领制造方式变革”,要围绕控制系统.工业软件.工业网络.工业云服务和工业大数据平台等,加强信息物理系统的研发与 ...
随机推荐
- 动态调整线程数的python爬虫代码分享
这几天在忙一个爬虫程序,一直在改进他,从一开始的单线程,好几秒一张图片(网络不好),,,到现在每秒钟十几张图片,,, 四个小时586万条数据,,,简直不要太爽 先上图 最终写出来的程序,线程数已经可以 ...
- Atcoder Beginner Contest 147D(按位处理)
把每个数字每一位上二进制数字取出,求答案时直接用N个数里这一位是0的个数乘上这一位是1的个数然后乘上二的这一位次方,注意所有可能溢出的地方都要对mod取模. #define HAVE_STRUCT_T ...
- idea选中文件时左侧菜单自动定位到文件所在位置
一:设置成自动定位,如图: 二:点击项目工程目录上的阻击按钮,自动定位
- Spring Boot 框架 - 快速创建Spring Boot应用
使用Spring的项目创建向导创建一个Spring Boot项目 创建完成目录 目录文件说明: 主启动程序已生成 resources文件夹中目录结构 static:保存所有的静态资源,例如js,css ...
- Apache Thrift Learning Notes
简介 Apache Thrift软件框架(用于可扩展的跨语言服务开发)将软件堆栈与代码生成引擎结合在一起,以构建可在C ++,Java,Python,PHP,Ruby,Erlang,Perl,Hask ...
- JavaScript 对象的深复制
对象的深复制 源对象的属性更改,不会引起复制后的对象个属性的更改 源对象的任何属性与子属性与新对象的之间没有任何引用关系 Coding: /* 对象的深复制: 1 初始化目标对象 如果没有指定目标对象 ...
- leetcode929 Unique Email Addresses
Every email consists of a local name and a domain name, separated by the @ sign. For example, in ali ...
- Go之NSQ
文章引用自 NSQ NSQ是目前比较流行的一个分布式的消息队列,本文主要介绍了NSQ及Go语言如何操作NSQ. NSQ介绍 NSQ是Go语言编写的一个开源的实时分布式内存消息队列,其性能十分优异. N ...
- Android9 http网络请求的问题
Google表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的 ...
- Laravel Vuejs 实战:开发知乎 (3)本地化和自定义消息
1.本地化 由于所有blade默认采用的是 _('')方式输出标签文本,所以可以安装一个语言包,直接指定本地语言为zh_CN即可: 安装 https://github.com/caouecs/Lara ...