INCA二次开发-MIP
1.INCA介绍
INCA是常用的汽车ECU测试和标定的,广泛应用于动力总成等领域。INCA提供了丰富的接口,供用户自动化、定制化。本公众号通过几篇文章,介绍下一些二次开发的方法,本篇介绍MIP。
2.MIP
MIP(MATLAB Integration Package))是INCA提供的MATLAB接口。如下图所示:INCA是服务器端,MATLAB是客户端。
1)安装
需要专用安装包和license,建议安装到MATLAB路径下。安装完成后,需要“更新工具路径缓存”。
2)文档
INCA的安装目下ETAS\INCA7.2\Manuals有MIP手册《INCA_MIP_R16_EN.pdf》。
(回复“MIP文档”获取)
3)Ring Buffer(循环缓冲区)
INCA提供了一个缓冲区,可以存储30s的变量值,保证了数据的连续性和实时性。
3.常用MIP函数
接下来按照执行的先后顺序介绍
1)打开
%% Open
% Establish the connection from MATLAB to INCA
IncaOpen;
% Connects to the currently opened experiment
IncaOpenExperiment;
MATLAB先连接INCA,再连接到当前已打开的实验环境,输出结果:
2)变量操作
%% Measure element
% Add measure element in current group
IncaAddMeasureElement('WorkbaseDevice1',[],'B_GREEN');
IncaAddMeasureElement('WorkbaseDevice1',[],'B_RED');
IncaAddMeasureElement('WorkbaseDevice1',[],'B_YELLOW');
% Start measure
data=[];
time=[];
IncaShowMessages(0);
IncaSetMeasureReadMode(0)
IncaStartMeasurement;
deltaT=0;
% Measure for 20 seconds
while(deltaT<20)
pause(0.1)
[t,d]=IncaGetRecords( 'WorkbaseDevice1','TimeC',500);
data = [data; d];
time = [time; t];
if( length(time))
% Calculate time measured
deltaT = time( length(time)) - time(1);
end
end
IncaStopMeasurement;
IncaShowMessages(1);
% Plot the results
plot(time, data);
此段代码参考了MIP手册中的示例代码,首先添加3个变量,然后采集20s的数据,绘制曲线,输出结果:
3)标定量操作
%% Calibration element
% Add calibration element
IncaAddCalibrationElement('WorkbaseDevice1','DEMO_CONSTANT_1');
% Get calibration value
value=IncaGetCalibrationValue('WorkbaseDevice1','DEMO_CONSTANT_1');
% Set calibration value
DEMO_CONSTANT_1=10;
result=IncaSetCalibrationValue('WorkbaseDevice1','DEMO_CONSTANT_1',DEMO_CONSTANT_1);
首先添加标定量,其次获取值,修改值,输出结果:
4)关闭
%% Close
IncaClose;
退出INCA,输出结果:
(回复“MIP例子”获取示例代码)
4.INCA-COM vs MIP
本公众号介绍了INCA的2种二次开发方式,对比如下:
方案 |
优点 |
缺点 |
INCA-COM |
免license,可以完全控制INCA; |
数据实时性和完整性差,无ring buffer; |
MIP |
数据实时性和完整性好,有ring buffer; |
需要单独license; |
INCA二次开发-MIP的更多相关文章
- INCA二次开发-INCACOM
1.INCA介绍 INCA是常用的汽车ECU测试和标定的,广泛应用于动力总成等领域.INCA提供了丰富的接口,供用户自动化.定制化.本公众号通过几篇文章,介绍下一些二次开发的方法,本篇介绍INCA-C ...
- Navisworks API 简单二次开发 (自定义工具条)
在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用
目 录 第十二章 二次开发及应用... 2 12.1 项目配制... 3 12.2 引用相关组件... 4 12.3 构建主程序... 5 ...
- OBS-Studio二次开发记录
OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...
- 小猪cms微信二次开发之怎样分页
$db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...
- 承接 AutoCAD 二次开发 项目
本人有多年的CAD开发经验,独立完成多个CAD二次开发项目.熟悉.net及Asp.net开发技术,和Lisp开发技术. 现在成立了工作室,独立承接CAD二次开发项目.结项后提供源码及开发文档,有需要的 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】七.二次开发服务驱动
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 服务接口的作用 围绕着设备驱动模块采集的数据,根据需求提供多种应用服务,例如:数据上传服务.数 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】三.二次开发流程
1.1 二次开发流程图 1.2 引用相关组件 找到“开发包”,引用里边的相关组件.如下图: 1.3 开发设备驱动模块 1.3.1 开发发送协议驱动 继承SuperIO.Devi ...
- Civil 3D API二次开发学习指南
Civil 3D构建于AutoCAD 和 Map 3D之上,在学习Civil 3D API二次开发之前,您至少需要了解AutoCAD API的二次开发,你可以参考AutoCAD .NET API二次开 ...
随机推荐
- 如何正确的理解和解决 ORA-01843:not a valid month
今天码代码的时候遇到了这个问题,因为oracle用的比较少,所在查询了一下. 顿时傻眼,有很多的贴子说是因为nls_date_language的问题,还要改会话级的NLS_DATE_LANGUAGE设 ...
- oracle 选取出现次数最多的前5条数据
SELECT * FROM ( SELECT PROJECT_LISTING.MATERIAL, COUNT (*) AS "出现次数" FROM PROJECT_LISTING ...
- Opencv2.4.9、VS2010配置及grabcut代码实例
最近opencv库更新到了2.4.9,作为小码农的我紧跟时代的步伐,装了2.4.9这个库.以下是我的配置步骤: 1.从http://opencv.org/上下载opencv2.4.9文件,由于我用的是 ...
- Cell自适应高度及自定义cell混合使…
第一部分:UItableViewCellAdaptionForHeight : cell的自适应高度 第二部分:CustomTableViewCell:自定义cell的混合使用(以简单通讯录为例) = ...
- Android进程通信之一:两种序列化方式
2月下旬辞职了,去海南度假到现在,领略了一把三亚风情也算任性和 然而这样任性带来的后果就是..不行了我必须吐槽一句.. 没毕业的找工作就这么难嘛!投了57家一家面试机会都没有,好歹给个面试机会啊!!本 ...
- 【一天一道LeetCode】#47. Permutations II
一天一道LeetCode系列 (一)题目 Given a collection of numbers that might contain duplicates, return all possibl ...
- Android4.2.2源码目录结构分析
撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details/40897277#t17 导读: 关于的Android目录分析,网上有很多资料,在此不 ...
- android资源库
原文地址:http://blog.csdn.net/xiechengfa/article/details/38830751 在摸索过程中,GitHub上搜集了很多很棒的Android第三方库,推荐给在 ...
- 网站论坛同步用户,整合api,实现…
在网上参考了很多资料后,终于完美实现了网站和discuz!nt论坛的双向整合,整合后网站和论坛之间可以同步注册.登录.退出和修改登录密码操作. 本系统的实现形式是新云CMS网站(ASP)和Discuz ...
- C++中不能被重载的运算符介绍
C/C++ 里大多数运算符都可以在 C++ 中被重载. C 的运算符中只有 . 和 ?:(以及 sizeof,技术上可以看作一个运算符)不可以被重载.C++ 增加了一些自己的运算符,除了 :: 和 . ...