该工具和函数从v3.0 MDF (.dat或.mdf)文件导入数据到MATLAB®工作空间或mat文件。每个信号都是一个单独的变量。还生成了相关的时间向量。
调用不带参数的“mdfimport”会弹出一个交互式GUI。调用带参数的'mdfimport'直接读取信号。
说明:解压附件文件,并放在您的路径或当前目录中。输入mdfimport来运行。从GUI的工具帮助菜单访问帮助以获取更多信息,或者直接读取包含的两个HTML文件。
在R13到R2006A版本中测试。用ETAS INCA生成的MDF文件进行了更多测试。确实工作与一些文件矢量CANtech CANape。
Stuart McGarrity(2020)。MDF导入工具和功能(//www.tianjin-qmedu.com/matlabcentral/fileexchange/9622-mdf-import-tool-and-function), MATLAB中央文件交换。检索.
1.7.0.1 | 更新许可证 |
|
1.7.0.0 | 更新到R2014b |
|
1.6.0.0 | 添加版权 |
|
1.4.0.0 | N/A |
|
1.3.0.0 | 版权作品。 |
|
1.1.0.0 | 添加商标。 |
|
1.0.0.0 | 改变了截图 |
|
*增加了对字符串万博1manbetx数据类型的支持 |
||
修改后的摘要 |
||
删除版本号 |
||
*现在可作为命令调用。 |
||
*确保变量使用较长的信号名称。以前,超过32个字符的信号名会被截断 更改“删除设备名称”复选框文本为“隐藏设备名称” |
||
添加缺失的“创建信号选择文件”菜单项。将版本号从。2更改为1.0 |
启发:MDF导入工具和函数从INCA 7.1.9更新为MDF文件格式,ExportMDF,MDF导入工具和功能-重采样/插值,XDA ->信号列表,MDF_Reader.zip,MDF导入工具和功能-重采样/插值
斯图尔特McGarrity(查看配置文件)
我只知道这个相关的提交://www.tianjin-qmedu.com/matlabcentral/fileexchange/56617-exportmdf
作为Sc(查看配置文件)
是否有反向函数将MAT.file转换为DAT.file?
安吉洛胶木(查看配置文件)
你好,斯图尔特,
我使用mdf导入与mdf文件生成的ETAS INCA,但字符串变量作为数字向量导入。是否可以将它们作为字符串矢量导入?
谢谢你的帮助。
克劳迪奥。(查看配置文件)
你好,斯图尔特
我试图导入.mdf文件(3.0版本),其中嵌入字典的信号很少(每个数值都与特定的字符串相关)。我怎样用你的工具导入字典?
谢谢你的帮助
苏伦德拉Sah(查看配置文件)
你好,
我正在尝试将ADTF .dat文件和.mdf文件转换为csv文件格式,以便我可以轻松提取各种信号。请让我知道这个工具是否可以做到这一点,如果是,那么如果你能指导我的程序,我将非常感激。
谢谢
qrqr(查看配置文件)
我想知道加工流程
王杰森(查看配置文件)
它的工作原理。
qrqr(查看配置文件)
不能[MDF ver3.3]
斯图尔特McGarrity(查看配置文件)
嗨Neele,
我不喜欢。你试过车辆网络工具箱吗?//www.tianjin-qmedu.com/help/vnt/ug/mdf.html
Neele von Deetzen(查看配置文件)
你好,斯图尔特,
你知道任何MDF导入工具支持信号数据类型9吗?万博1manbetx
jiangbo刘(查看配置文件)
qrqr(查看配置文件)
有能
それを理解できないのは謎
Stephen Cobeldick(查看配置文件)
对于其他用户:下载此FEX提交,然后您可以使用简单的代码访问您的数据:
//www.tianjin-qmedu.com/matlabcentral/fileexchange/47518-mdf_reader-zip
斯图尔特McGarrity(查看配置文件)
13年前,我为德尔福(Delphi)、福特(Ford)和通用汽车(GM)的汽车测试工程师写了这篇文章,他们喜欢用分离变量的方式查看数据。他们没有使用单元阵列。如果我今天写,我会建议使用表格,我认为这比单元格数组更好。
Stephen Cobeldick(查看配置文件)
主要设计缺陷
此提交使用编号的变量将所有数据导入到基本工作空间,这使得它们缓慢、复杂且难以以编程方式处理。阅读以下内容,了解为什么这是糟糕的数据设计:
//www.tianjin-qmedu.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval
Erin McGarrity提交的文件通过将数据导入到输出变量(单元格数组)简单地避免了这一主要缺陷:
//www.tianjin-qmedu.com/matlabcentral/fileexchange/47518-mdf_reader-zip
从那里可以使用索引简单地访问数据。
yangfei魏(查看配置文件)
qrqr(查看配置文件)
関数または変数' d 'が未定義です。なぜこのエラ
が出るのですか?
Valentin科恩(查看配置文件)
郝pengcheng(查看配置文件)
好工具!这就是我想要的。谢谢!
斯图尔特McGarrity(查看配置文件)
你需要知道v4标准,而我不知道。看一看//www.tianjin-qmedu.com/help/vnt/ug/mdf.html
爱德华·Zamfir(查看配置文件)
你好,斯图尔特,
有没有办法修改这个函数,以便可以导入MDF v4文件?
斯图尔特McGarrity(查看配置文件)
Hi Kar,我假设设备名称存储在MDF文件中的某个地方。我不记得是否提取出来了。由于我不再维护这段代码,你必须自己搜索它或看看车辆网络工具箱中的MDF功能://www.tianjin-qmedu.com/help/vnt/ug/mdf.html
冰斗iar(查看配置文件)
我有测量文件与变量从2个不同的设备。不幸的是,变量名称相同。唯一的区别是设备名称。是否有一种基于设备名称以编程方式不同地读取变量的方法?
杰周(查看配置文件)
Aniket Dagadu Sonawane(查看配置文件)
嗨
这是一个很好的工具。是否可以导入标签的单元?我会很棒的。
谢谢
查尔斯Kritzmacher(查看配置文件)
新陈(查看配置文件)
拉胡尔Rajampeta(查看配置文件)
FENILKUMAR德赛(查看配置文件)
你好,
我正在使用这个工具读取。dat或。mdf文件,它一直给我以下错误。
K > > mdfimport
引用不存在的字段'DGBlock'。
mdfchannelgroupinfo错误(第10行)
=字段名字段名(MDFStructure.DGBlock (1) .CGBlock (channelGroup) .CNBlock);
mdfinfo中的错误(第279行)
[MDFsummary, channelList] = mdfchannelgroupinfo (MDFstructure);
mdfimport>populate_GUI错误(第403行)
[MDFsummary, MDFInfo, counts,
channelList] = mdfinfo (handles.fullFileName);
mdfimport>Load_MDF_File_Callback错误(第609行)
处理= populate_GUI(处理);填充GUI(列表框)
gui_mainfcn中的错误(第96行)
函数宏指令(变长度输入宗量{:});
mdfimport错误(第80行)
gui_mainfcn (gui_State变长度输入宗量{:});
计算uimenu Callback时出错。
斯图尔特McGarrity(查看配置文件)
抱歉,我不再保留这份提交了。MDF导入现在在车辆网络工具箱中提供://www.tianjin-qmedu.com/help/vnt/mdf-file-万博1manbetxsupport.html
Irina Vermesan(查看配置文件)
大家好!
我试图转换一个*。MDF文件到*。Mat文件,但在*之后。mdf文件加载后,我得到以下错误:
引用不存在的字段“CNBlock”。
mdfimport>mdfinfo错误(第1415行)
pos = 0(长度(CGBlockTemp.CNBlock), 1);
mdfimport>populate_GUI错误(第410行)
[MDFsummary, MDFInfo, counts,
channelList] = mdfinfo (handles.fullFileName);
mdfimport>Load_MDF_File_Callback错误(第616行)
处理= populate_GUI(处理);填充GUI(列表框)
gui_mainfcn错误(第95行)
函数宏指令(变长度输入宗量{:});
mdfimport错误(第87行)
gui_mainfcn (gui_State变长度输入宗量{:});
计算菜单回调时出错
以前有人处理过这个错误并找到解决方案吗?
非常感谢,
伊丽娜
徐叮(查看配置文件)
奥利弗Pogrzeba(查看配置文件)
它工作得很好!非常感谢!
蒂姆Spaeder(查看配置文件)
@ Romano
因为我遇到了同样的问题,这里有一个快速解决方案:
取代
Test = ~isempty(varargin{2}) && isgraphics(varargin{2});
与
Test = ~isempty(varargin{2}) && max(isgraphics(varargin{2}));
此错误是因为您通过命令行调用了mdfimport,并提供了一个特定的.mat文件(字符串)。函数isgraphics将测试该字符串是否是图形句柄,当然不是这样。返回的数据类型是逻辑数组,因此不能与单个逻辑值组合。max函数应该避免这种情况。这对我来说绝对有效。
问候,
蒂姆
斯图尔特McGarrity(查看配置文件)
嗨,基兰库马尔,通过我的个人资料页面联系我,给我你的电子邮件地址。我会把我使用的文件发给你。我试过联系你,但你的邮件存档了。
Kirankumar(查看配置文件)
非常感谢您提供这个工具。API帮助我集成。能否提供DAT文件结构和解析机制等参考文档?
克林特Rietjens(查看配置文件)
新闻:
Matlab 2016b用vehicle_network_toolbox支持mdf格式!万博1manbetx
: D
斯图尔特McGarrity(查看配置文件)
抱歉,罗曼,我不再积极支持这个工具了。万博1manbetx我只能建议尝试调试它自己,即设置“停止如果错误”,并查看变量。然后,您可以在该位置之前设置断点,并使用有效的参数再次运行它,并查看那里的变量是什么样子的。
Romano Geerling(查看配置文件)
嗨,斯图尔特
首先,非常感谢这个伟大的工具和功能。但是,如果尝试使用mdfimport函数,我会得到一个错误。我尝试将所选信号加载到MAT文件中,但得到这个错误消息:
||和&&操作符的操作数必须转换为逻辑标量值。
mdfimport错误(第55行)
Test = ~isempty(varargin{2}) && isgraphics(varargin{2});
如果使用“workspace”或[],它将导入所有信号没有任何问题,但当我使用“Auto MAT-file”或“mymatfile”时。我得到错误消息。
问候,
Romnano
斯图尔特McGarrity(查看配置文件)
嗨,Antonello,该工具不支持任意位数。万博1manbetx我假设你的信号中有一个数字位是不支持的。万博1manbetx对于无符号整数,万博1manbetx它只支持1,2,8,16和32(你可以在mdfread中看到代码)。
Antonello Teti(查看配置文件)
在mdfimport有问题,你能帮我吗?
使用mdfimport>datatypeformat错误(第1953行)
un万博1manbetxsigned int不支持的比特数
mdfimport>mdfread错误(第1692行)
数据类型= datatypeformat (signalDataType numberOfBits);获取信号数据类型(例如:“int8”)
mdfimport>mdfload错误(第1106行)
(数据signalNames) = mdfread (MDFInfo、dataBlock selectedChannels);%负载指定信号
mdfimport>importdatawithoptions错误(第2271行)
mdfload (options.MDFInfo dataBlock、channelIndices options.blockDesignation, ws, options.additionalText);
mdfimport>importdata_Callback错误(第354行)
importdatawithoptions(选项);
gui_mainfcn错误(第95行)
函数宏指令(变长度输入宗量{:});
mdfimport错误(第87行)
gui_mainfcn (gui_State变长度输入宗量{:});
阿尔弗雷多Patrizi(查看配置文件)
斯图尔特McGarrity(查看配置文件)
对不起,杰克,我不再积极支持这个工具了。万博1manbetx我需要一段时间来恢复记忆而且我需要你的数据文件来分析。我们的咨询小组对这种文件格式略知一二。
杰克Silhavy(查看配置文件)
很棒的工具,谢谢Stuart。
我一直有一个问题:当我从同一个MDF文件中导入两个具有相同理想采样率的信号时,matlab生成的矩阵大小不同。它们通常相差2或16个条目。其中一个相应的时间向量将略微接近实际的最大时间(接近16 * 12.5 ms)。这对我来说是一个重要的问题,因为我非常仔细地比较了两个信号。有什么建议吗?
斯图尔特McGarrity(查看配置文件)
该工具非常有效地利用了低级函数fread。多个MDF信号在文件中“交错”在一起,所以如果你不加载它们,fread将需要跳过其他信号的thr字节。可能是因为跳绳并不比阅读快多少。
我所能建议的是不要保存你不需要的其他信号(如果你自己制作文件)
fengbo李(查看配置文件)
Manikprasad Shitole(查看配置文件)
喂,
这个函数很酷。谢谢你,斯图尔特。
通过使用这个函数,我将.dat导入Matlab,但导入时间(计算时间)非常高。如何减少进口时间?
例如:当我从一个数据(.dat)中导入所有信号和从同一个数据中导入4个信号时,它没有那么大的区别。
提前给你加油
问候
摩尼
约瑟夫Laumer(查看配置文件)
非常棒的工具!我几乎每天都用它。
关于Julian的帖子:我为函数构建了一个额外的参数,以访问函数“mdfinfo”并将输出放在varargout语句中。也许这个功能,获取信息,信号列表,…可以在这个版本中引入。
Daniel Findeisen提交的意见书(//www.tianjin-qmedu.com/matlabcentral/fileexchange/52952-mdf-import-tool-and-function-updated-for-mdf-file-format-from-inca-7-1-9)可能是这个版本的升级版。这太棒了!
当然,mmdf4的支持确实很棒!万博1manbetx也许我会在下个假期里看看python的实现。
问候
斯图尔特McGarrity(查看配置文件)
有一个名为mdfinfo的子函数,在主函数中,你可以分别提取和保存关于文件内容的信息:
function [MDFsummary, MDFstructure, counts, channelList]=mdfinfo(fileName)
MDFINFO返回MDF (Measure Data Format)文件的信息
%
% MDFSUMMARY = mdfinfo(FILENAME)返回一个结构数组,其中一个用于
%每个数据组,包含每个数据组中所有通道的关键信息
%组织。FILENAME是一个指定MDF文件名称的字符串。
%
%[…,MDFSTRUCTURE] = mdfinfo(FILENAME) returns a structure containing
%所有匹配文件结构的MDF文件信息。这个数据结构
与数据文件的结构紧密匹配。
%
%[…,COUNTS] = mdfinfo(FILENAME) contains the total
通道组和通道数的%。
朱利安(查看配置文件)
非常好的工具,我已经用了很多年了。
问题:是否有一种方法来查询mdf文件,在加载数据之前,以获得可用的信号列表?这会很有帮助的。
谢谢,
朱利安
Aymeric拉多式(查看配置文件)
嘿,Gsab,
与MDF3相比,MDF4使用完全不同的报头和结构。您很可能无法使用此工具读取mmdf4。
MDF4可以存储更多类型的数据,并引入元数据、可变长度数据、非字节对齐数据等,但它也要复杂得多。
你可以通过查看下面的代码来了解它:
https://github.com/ratal/mdfreader
问候
丹尼尔·F。(查看配置文件)
嘿,Gsab,
我没有试着用它与MDF4 -也许你可以试试它是否工作。如果没有,请提供一个文件给我,我可以尝试按照MDF4文件格式更新功能。
致以最亲切的问候。
ghizsab(查看配置文件)
我们可以使用这个工具在Matlab中导入MDF 4文件吗?
丹尼尔·F。(查看配置文件)
大家好,
这确实是一种新的格式公式。我在“mdfimport”上做了一些调试,以检查它是如何工作的,发现如下:
1.我在ETAS MDA中检查了新的格式
2.新的标识符是“9”
3.到目前为止,我找到的表示法符合以下格式:
[p1] = 0
[P2] =因素
[P3] =偏移
[p4] = 0
[p5] = 0
[p6] = 1
因此,我修改了我的“mdfimport”来适应这些新的需求,到目前为止它工作。如何分发此更新的文件?有人能告诉我吗?
斯图尔特McGarrity(查看配置文件)
我假设新的.dat文件使用的是我没有实现的转换公式。对不起,我不再继续提交这篇文章了。
(金(查看配置文件)
嗨,斯图尔特。
我使用mdfimport作为m-function。
直到INCA V7.1.8,导入测量文件(*.dat)都没有任何问题。但在INCA V7.1.9的情况下,它不能导入此错误消息。
=====================
使用mdfimport>mdfread错误(行2009)
不支持转换公式标识符万博1manbetx
mdfimport>mdfload错误(第1201行)
(数据signalNames) = mdfread (MDFInfo、dataBlock selectedChannels);%负载指定信号
mdfimport>importdatawithoptions错误(第2511行)
[size names] =
mdfload (options.MDFInfo dataBlock、channelIndices options.blockDesignation, ws, options.additionalText, options.newSampleRate);
mdfimport错误(第99行)
importdatawithoptions(选项);
====================
你能帮我吗?
斯图尔特McGarrity(查看配置文件)
“facCorrnElup_Cprbe_CddElecUndrPpmp_tElupBoardEstimrprbe_CddElecUndrPPmp_HWEprbe_CddElecUndrPPmp_18”是你的一个信号的名字吗?工具中的genvarname函数应该缩短到小于63个字符以便MATLAB处理。有什么方法能让信号名称短一点吗?或者尝试在出现错误时将代码设置为dbstop,并在出现错误时查看代码,查看genvarname失败的原因。也许你有多个类似的长名字信号?
丹尼斯·奥特(查看配置文件)
嗨,斯图尔特,
当我试图打开我的。dat文件时,有很多信号。它会产生以下错误:
警告:忽略修改后的信号名称
“facCorrnElup_Cprbe_CddElecUndrPpmp_tElupBoardEstimrprbe_CddElecUndrPPmp_HWEprbe_CddElecUndrPPmp_18”。
不能转换为变量名。
>在mdfimport>mdfload at 1158
在mdfimport>importdatawithoptions 2259
在mdfimport>importdata_Callback at 354
在gui_mainfcn的96
在mdfimport中的87
你能帮我吗?
谢谢
丹尼斯
斯图尔特McGarrity(查看配置文件)
嗨,克劳迪奥,你是试图得到处理图形对象?你不能用输出参数来做。GUI也被设计为作为函数调用并返回数据(请参阅文档)。
克劳迪奥。(查看配置文件)
嗨,斯图尔特,
工具工作得很好,但是,当我试图获得句柄时,Matlab (v.7.10.0)产生一个错误
——> h = mdfimport(文件名)
创建39个信号变量(s),附加“_1”为“12.5ms”速率
...和一个实际时间向量time_1
.
.
.
.
.
创建19个信号变量,附加“_10”为“3.125ms”速率
...一个实际时间向量,time_10
错误在==> mdfimport在50
if nargin %如果传入参数
???在调用时未分配输出参数“varargout”(可能还有其他参数)
“C: \用户 \***********************************
mdfimport.m > mdfimport”。
你能帮我吗?
谢谢
克劳迪奥。
Ahmad Fadel(查看配置文件)
嗨,斯图尔特,
如果MDF文件中的变量包含德语特殊字符,则遇到错误。[' a ',‘o’,‘你’,‘ß’,‘‘,‘o’,‘u’)
如果能在代码中添加以下代码行就太好了:
varName = stripchars (varName, ' a ', ' o ', ' u ', 'ß',' ',' o ', ' u ']);
谢谢,
艾哈迈德
jaidev(查看配置文件)
嗨,斯图尔特,
这是INCA生成MDF (*.dat)文件的好工具。虽然我无法理解从GUI创建理想均匀时间向量的功能。
一旦导入信号被按下,在工作空间中生成的所有变量的向量长度都没有变化。对于实际时间,甚至对于理想的均匀时间向量选择,几个参数的不相等长度保持不变。根据我的理解,当我选择一个理想的时间,比如10毫秒,那么所有的数据都应该在一个统一的时间轴上插值,通过提供所有长度相等的向量,我没有看到这种情况发生。
你能评论一下预期的行为吗?
问候,
洁
斯图尔特McGarrity(查看配置文件)
对不起,我没有计划。
迈克尔·H(查看配置文件)
嗨,斯图尔特,
你会更新MDF 4.0/4.1/4.1的压缩导入工具吗?
如果需要,我可以提供样本文件。
谢谢
迈克尔
斯图尔特McGarrity(查看配置文件)
恐怕我记不太清了。我认为至少有一种文本数据格式可以导入。我会试试的。
费利克斯(查看配置文件)
嗨,斯图尔特,
是否可以将信号的单位和注释从INCA文件导出到MATLAB?
谢谢你的帮助
费利克斯
伽柏(查看配置文件)
嗨,斯图尔特,
我得到以下错误导入mdf文件:
???使用==> mdfimport>datatypeformat at 1945错误
un万博1manbetxsigned int不支持的比特数
错误==> mdfimport>mdfread at 1684
数据类型= datatypeformat (signalDataType numberOfBits);获取信号数据类型(例如:
“int8”)
错误在==> mdfimport>mdfload at 1098
(数据signalNames) = mdfread (MDFInfo、dataBlock selectedChannels);%的负载
指定的信号
错误在==> mdfimport>importdatawithoptions在2251
mdfload (options.MDFInfo dataBlock、channelIndices options.blockDesignation, ws, options.additionalText);
错误在==> mdfimport在59
importdatawithoptions(选项);
有什么解决办法吗?
谢谢!
伽柏
斯图尔特McGarrity(查看配置文件)
此工具不支持写入MDF文件。万博1manbetx
Vaijanath(查看配置文件)
不错的工具,
是否可以将。mat或。fig等Matlab文件转换回。mdf格式?
斯图尔特McGarrity(查看配置文件)
ASAM-MCD2文本转换公式中使用的变量通常是“x”。看起来它是'X'在你的MDF文件。
尝试编辑错误发生之前的行:
双(Blockcell x = {selectedChannel});
...用大写字母替换小写字母x。
詹姆斯(查看配置文件)
工具似乎工作得很好,但当我把它作为一个函数调用时,我有时会得到以下错误,似乎不知道为什么…
使用eval出错
未定义的函数或变量“X”。
mdfimport>mdfread错误(第1825行)
数据{selectedChannel} = eval (textFormula);
计算字符串
mdfimport>mdfload错误(第1098行)
(数据
signalNames] = mdfread (MDFInfo, dataBlock selectedChannels);
%负载指定信号
在mdfimport>importdatawithoptions(行
2251)
mdfload (options.MDFInfo dataBlock、channelIndices options.blockDesignation, ws, options.additionalText);
mdfimport错误(第54行)
importdatawithoptions(选项);
anoosha pravallika(查看配置文件)
我有以下错误....有人能帮我解决它....
下标赋值维度不匹配。
mdfimport>mdfblockread(1918行)错误
块。(字段名)(记录:)=从文件中读(fid,计数,[‘*’精密])';
mdfimport>mdfinfo(第1230行)错误
TXBlockTemp2 = mdfblockread (formatstxtext (TXBlockTemp.blockSize), fid,目前,1);
mdfimport>populate_GUI错误(第401行)
[MDFsummary, MDFInfo, counts, channelList]= MDFInfo (handles.fullFileName);
mdfimport>Load_MDF_File_Callback错误(第607行)
处理= populate_GUI(处理);填充GUI(列表框)
gui_mainfcn中的错误(第96行)
函数宏指令(变长度输入宗量{:});
mdfimport错误(第78行)
gui_mainfcn (gui_State变长度输入宗量{:});
计算uimenu Callback时出错
anoosha pravallika(查看配置文件)
我怎么使用这个工具?我对Matlab很陌生……我有(.dat)文件,我想让它们与Matlab的一些程序兼容
satish(查看配置文件)
谢谢你!
塞巴斯蒂安。(查看配置文件)
好吧,我开完车就一个一个做;)
你没有找到谷歌的另一个脚本吗?我也听说过一个工具箱做这个。但我不知道任何细节
希尔帕(查看配置文件)
谢谢Stuart。
你好,Sebestian,
但在CANape我不能转换超过40 mdf文件一次..
你能告诉我你是怎么执行的吗
提前谢谢你:)
塞巴斯蒂安。(查看配置文件)
是的,我用CANape做。
斯图尔特McGarrity(查看配置文件)
我相信INCA或CANape工具可以做到这一点。
希尔帕(查看配置文件)
由于斯图尔特,
有没有办法将2.14 v MDF文件转换为mat文件?
提前谢谢你:)
斯图尔特McGarrity(查看配置文件)
不幸的是,该标准只支持v3.0版本(并不是全部)万博1manbetx
希尔帕(查看配置文件)
此工具不适用于mdf 2.14版本。有人帮忙吗?
谢谢:)
AlainMil(查看配置文件)
是否可以自动恢复测量文件注释?
——日期
小时
- - - - - -项目
——主题
-用户评论
这些信息可以通过ETAS-MDA或在文本编辑器中打开文件获得
AlainMil(查看配置文件)
有时需要调整“mdfimport”中的子函数“mygenvarname”。M "表示有有效的变量名
通过添加一些行,比如:
varName = strrep(varName,'à','a');%用“a”替换“à”
我也用这个方法来缩短长变量名:
例子:
varName = strrep(varName,'ETCSignals_ES1000_ES1135_ES1232_ETK_', ");
错话(查看配置文件)
非常有用,但不允许变量列表(VAR)导入选项:mdfimport(fullFileName,'workspace',VAR,'ideal')。第一次光栅(time1)不正确地填充和错误时,寻找txt文件,如果VAR>3。在命令行中作为函数使用时注意到此错误。
Nilesh Waishampayan(查看配置文件)
Nilesh Waishampayan(查看配置文件)
我试图将一些INCA数据导入工作空间。我遇到的问题是信号名称的长度超过64个字符。有没有办法改变这个限制。
要把这些数据输入MATLAB,我还有什么选择?
谢谢,
里写道
Nikhil(查看配置文件)
AlainMil(查看配置文件)
基督教肖特(查看配置文件)
伟大的工具。但它不接受MDF-Version 2.14的旧文件-有什么帮助我能做什么?
艾德里安(查看配置文件)
不错的工具:)
安德烈亚斯•帕兹(查看配置文件)
你好,
我叫Andreas Patzer,是CANape (Vector Informatik GmbH)的业务拓展经理。
感谢开发了mdf文件导入Matlab的可能性。
请记住,没有“THE”MDF文件。在90年代早期,MDF格式由Vector和Bosch开发,同时CANape支持了一些不同的MDF版本。万博1manbetx多年来,每一个开发步骤都与ETAS合作完成,以确保他们和我们的客户拥有相同的格式。
其中一条评论是这样的“…不再依赖INCA MDA ..”。在我看来,分析MDF文件最好的工具是CANape或CANape的分析子集,称为CANgraph。
如果您想在Matlab工作区中处理MDF内容,请使用CANape中的导出可能性。文件|转换器选项| Matlab导出转换器…
请不要犹豫,与我联系Andreas.patzer@vector-informatik.de
谢谢
安德烈亚斯
英格玛·布兰德(查看配置文件)
你好!
我的工具有些问题。我的CANape生成的MDF -文件(MDF - 3.1版)中的一些信号是可导入的,其他一些则不是。错误信息如下所示:
???使用==> mdfimport>datatypeformat at 1944错误
un万博1manbetxsigned int不支持的比特数
错误==> mdfimport>mdfread at 1683
数据类型= datatypeformat (signalDataType numberOfBits);%得到信号
数据类型(例如“int8”)
错误在==> mdfimport> mdload at 1097
(数据
signalNames] = mdfread (MDFInfo, dataBlock selectedChannels);
%负载指定信号
错误==> mdfimport>importdatawithoptions在2250
mdfload (options.MDFInfo dataBlock、channelIndices options.blockDesignation, ws, options.additionalText);
错误==> mdfimport>importdata_Callback at 345
importdatawithoptions(选项);
错误在==> gui_mainfcn在96
函数宏指令(变长度输入宗量{:});
错误==> mdfimport at 78
gui_mainfcn (gui_State变长度输入宗量{:});
???计算uicontrol回调时出错
有人知道这个问题是否可以解决吗?如果,怎么做?
Thx英格玛·
优秀的工具!
非常感谢!
谢谢,很棒的材料
它可以很好地处理INCA数据。下一步操作必须同时导入所有文件。
太棒了!
有一个问题与一些Canape创建的文件。'longSignalName'由第1274行注释字段生成:
CNBlockTemp.longSignalName = TXBlockTemp.comment;
当使用信号名时,程序只检查longSignalName是否为空(第1578行),更好的方法是使用'isvarname'来确定longSignalName是否为有效的Matlab变量名。目前,我们有几个频道的longSignalNames返回为胡言乱语。
以下是我的建议:
第1578 - 1582行:
if isvarname(longSignalNames{signal}) %如果没有长名称,则使用信号名称
useNames(信号)= longSignalNames(信号);%使用长名称
其他的
useNames(信号)= signalNames(信号);
结束
第1599 - 1603行:
if length(signalNames{signal})>length(longSignalNames{signal})||~isvarname(longSignalNames{signal}) %如果信号名更长的使用它
useNames(信号)= signalNames(信号);
其他的
useNames(信号)= longSignalNames(信号);%使用长名称
结束
不工作与我的mdf从CANApe。在Matlab for Linux中显示不太好
它在我所有的旧MDF上都能很好地工作。然而,来自Vector CANcaseXL Log的一些较新的MDF似乎有一个问题。
下面是错误的详细信息:
???引用不存在的字段“CNBlock”。
错误==> mdfimport>mdfinfo at 1569
pos = 0(长度(CGBlockTemp.CNBlock), 1);
错误在==> mdfimport>populate_GUI在456
[MDFsummary, MDFInfo, counts, channelList]= MDFInfo (handles.fullFileName);
错误==> mdfimport>Load_MDF_File_Callback at 664
处理= populate_GUI(处理);填充GUI(列表框)
错误在==> gui_mainfcn在75
函数宏指令(变长度输入宗量{:});
错误==> mdfimport at 124
gui_mainfcn (gui_State变长度输入宗量{:});
???错误使用==> mdfimport('Load_MDF_File_Callback',gcbo,[],guidata(gcbo)))
引用不存在的字段“CNBlock”。
???计算uimenu Callback时出错
先生,
我使用mdfimport转换mdf文件(CANAPE)垫和m文件。我正在申请一些文件。对于一些文件,我无法得到m文件。你能告诉我MDF文件的限制和兼容性(版本,大小等)吗?我的id是manoharc@cmcltd.com
与问候,
Manohar.ch
甜蜜的
不能与公式转换类型9一起工作,因此不能用于数据导入
非常有用的工具-节省时间和工作就像函数或通过GUI。
太棒了!
不再依赖ETAS-MDA的感觉真好。
我已经使用这个工具几个月了,它使用起来快速、简单、直观。印加数据的后处理变得更加容易。谢谢你!
太棒了!
在对二进制文件进行了一个月的分析之后,我在开始编写类似的工具之前找到了这个工具。
我是幸运还是不幸?: - p
干得好。节省了我们很多时间。谢谢你!
干得好
无缝地工作。直观的界面。
帮助文件是清楚的,但可以使用一些语法和错字检查。干得漂亮。这个套餐将节省许多人的时间。谢谢你!
这是我们算法开发和验证工作的巨大资产!
非常有价值的工具!