首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有关Simulink MDL和SLX格式的信息?

有关Simulink MDL和SLX格式的信息?
EN

Stack Overflow用户
提问于 2014-05-01 20:58:22
回答 3查看 15.6K关注 0票数 11

关于这些文件格式有哪些可用的信息?有哪些工具可用于解析这些文件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-09-11 23:28:38

更新(2015/04/02)

新版本的Simulink Library for Java完全支持SLX格式。文档并不明确,但是源代码包含了解析它的所有细节。

老答案

正如rob回答的那样,Simulink Library for Java支持Simulink的MDL文件格式,并且还可以解析Stateflow内容。该库是开源的,但唯一的文档是源代码。

我们目前(截至2014年9月)正在开发SLX支持,预计在未来1到2个月内发布。如果您在此之前需要代码,请随时与我联系。

PS:我本想把这篇文章作为对罗布的回答的评论,但我似乎没有足够的名气来这么做:

披露:我是提到的库的开发人员之一。

票数 5
EN

Stack Overflow用户

发布于 2014-05-01 23:28:17

公开的信息很少。这是我发现的一小部分:

MDLSLX是用于存储MathWorks模型的Simulink专有文件格式。SLX是在Simulink R2012a中引入的,并成为R2012b中的默认文件格式。除了文件结构之外,SLX和MDL文件的内容非常相似。例如,键-值对在两种格式之间看起来是相同的。人们经常说,解析这些文件是一个坏主意,因为它们可能会在不同的Simulink版本之间发生变化(参见上面的am304和我的评论),但我还没有看到太多的证据。

MDL格式似乎是在MathWorks内部开发的。There seems to have been an MDL parser for python, but it was of limited functionality和截至2014年5月的website is down

SLX文件是包含一组XML文件的压缩文件,其中大部分模型规范存储在simulink/blockdiagram.xml中。@am304从MathWorks website中指出了以下信息

OPC是一个符合开放打包协议(

)互操作性标准的压缩包。SLX使用Unicode®UTF-8以XML和其他国际格式存储模型信息。以SLX格式保存Simulink模型:

与MDL相比,

  • 通常会减小文件大小。MDL和SLX之间的文件大小减少根据model.
  • Solves的不同而不同,以前版本中的一些问题与加载和保存包含朝鲜语和中文characters.
  • Enables的MDL文件有关,增量加载和保存。Simulink通过仅加载模型的所需部分并仅保存模型的已修改部分来优化性能和内存使用。

除了上面文本中的参考之外,还有其他几个参考:

How convert simulink files to XML

http://www.scootersoftware.com/vbulletin/showthread.php?t=11568

http://blog.xogeny.com/blog/dont-zip/

http://blog.developpez.com/matlab/p11469/simulink-2/nouveau-format-slx-pour-les-modeles-simulink

票数 9
EN

Stack Overflow用户

发布于 2014-06-21 00:06:25

有关这些文件格式的信息有哪些?

MathWorks为R2007b中的MDL文件格式提供了一些documentation

SLX文件是and文件容器,其内部结构基于OOXMLOPC格式。SLX文件包含一个或多个XML文件,其内部结构类似于MDL文件,但采用XML格式。此外,图形等二进制资源可以存储在单独的JPG文件中,而不是像在MDL文件中那样进行文本编码和直接嵌入。

这两种格式都会随着Simulink中新特性的添加而发生变化,但随着MathWorks重构SLX的内部文件结构,您可以预期SLX会变得不太稳定。例如,在R2014b中,MathWorks已经开始将传统的单一blockdiagram.xml的各个部分分解为单独的文件,如stateflow.xml和graphicalInterface.xml。

有哪些工具可用于解析这些文件?

有一些公开可用的库/API用于解析Simulink,但我没有使用过它们中的任何一个,所以我不确定它们有多好用。

您还可以通过搜索Simulink解析器来查找其他解析器。

如果这些都不起作用,一些商业工具会直接解析MDL和SLX,而不是依赖于MATLAB API。您可能会询问一些商业上可用的Simulink工具中使用的解析器的许可。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23408186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档