Matlab 有关Simulink MDL和SLX格式的信息?
关于这些文件格式有哪些可用信息?哪些工具可用于解析这些文件?公开的信息很少。以下是我发现的一点: 是MathWorks用于存储Simulink模型的专有文件格式。SLX是在Simulink中引入的,并在中成为默认文件格式。除了文件结构外,SLX和MDL文件的内容非常相似。例如,两种格式之间的键值对似乎相同。人们经常说解析这些文件是一个坏主意,因为它们可以在Simulink版本之间更改(参见am304和我上面的评论),但我没有看到太多证据证明这一点 MDL格式似乎是MathWorks内部开发的,以及截至2014年5月的 SLX文件是包含XML文件集合的zip文件,大多数模型规范存储在Matlab 有关Simulink MDL和SLX格式的信息?,matlab,simulink,file-format,Matlab,Simulink,File Format,关于这些文件格式有哪些可用信息?哪些工具可用于解析这些文件?公开的信息很少。以下是我发现的一点: 是MathWorks用于存储Simulink模型的专有文件格式。SLX是在Simulink中引入的,并在中成为默认文件格式。除了文件结构外,SLX和MDL文件的内容非常相似。例如,两种格式之间的键值对似乎相同。人们经常说解析这些文件是一个坏主意,因为它们可以在Simulink版本之间更改(参见am304和我上面的评论),但我没有看到太多证据证明这一点 MDL格式似乎是MathWorks内部开发的,以
simulink/blockdiagram.XML
中@am304指出了以下信息:
SLX是一种符合开放式包装的压缩包装
约定(OPC)互操作性标准。SLX商店模式
在XML和其他国际格式中使用Unicode®UTF-8的信息
格式。以SLX格式保存Simulink模型:
- 与MDL相比,通常会减少文件大小。MDL和SLX之间的文件大小缩减因型号而异
- 通过加载和保存包含朝鲜语和中文字符的MDL文件,解决了早期版本中的一些问题
- 启用增量加载和保存。Simulink通过只加载所需的部分来优化性能和内存使用 建模并仅保存模型的修改部分
关于这些文件格式有哪些可用信息 MathWorks在R2007b中确实有一些MDL文件格式 SLX文件是zipfile容器,其内部结构基于的格式。SLX文件包含一个或多个XML文件,其内部结构类似于MDL文件,但为XML格式。此外,诸如图形之类的二进制资源可以存储在单独的JPG文件中,而不是像MDL文件中那样进行文本编码和直接嵌入 随着新功能添加到Simulink,这两种格式都会发生变化,但随着MathWorks重构SLX的内部文件结构,您可以预期SLX的稳定性会降低。例如,在R2014b中,MathWorks已开始将传统的整体blockdiagram.xml的各个部分分解为单独的文件,如stateflow.xml和graphicalInterface.xml 哪些工具可用于解析这些文件 有一些公共可用的库/API用于解析Simulink,但我没有使用它们中的任何一个,所以我不确定它们的工作情况如何
- (Java)-MDL、SLX
- (.NET)-MDL
- (Python)-MDL
披露:我是上述库的开发人员之一。为什么需要此功能?您正在尝试解析模型文件吗?@P0W我知道解析MDL文件是个坏主意,从SLX文件中可以看出解析SLX文件可能也是个坏主意。不过,我想知道有关此文件格式的知识(实际上这两种格式),因为这是我工作中提到的。如果我发现一个官方的参考资料说“不要解析SLX文件!”那也会很有帮助。我更新了我的问题以反映这一点。唯一的“官方”@DouglasB.stuple IMO parsing.mdl文件格式在.slx出现之前从来都不是一个坏主意。如果可能的话,你可以从.slx中知道你真正需要什么。有几个Simulink API可以做很多事情。我同意@P0W的评论。任何依赖于解析Simulink模型的程序在下一个版本中肯定会崩溃e、 文件格式没有文档记录,可能永远也不会。最好使用API。非常感谢。您编写的内容与我的理解一致,并建立在我的理解基础上。我可以使用Simulink Library for Java从slx文件中获取元数据吗?我使用下一个MATLAB代码将元数据写入slx文件:
h=load_system(pathToFile);set_param(h,“元数据”,属性)