关于这些文件格式有哪些可用的信息?有哪些工具可用于解析这些文件?
发布于 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:我本想把这篇文章作为对罗布的回答的评论,但我似乎没有足够的名气来这么做:
披露:我是提到的库的开发人员之一。
发布于 2014-05-01 23:28:17
公开的信息很少。这是我发现的一小部分:
MDL和SLX是用于存储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相比,
除了上面文本中的参考之外,还有其他几个参考:
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
发布于 2014-06-21 00:06:25
有关这些文件格式的信息有哪些?
MathWorks为R2007b中的MDL文件格式提供了一些documentation。
SLX文件是and文件容器,其内部结构基于OOXML的OPC格式。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工具中使用的解析器的许可。
https://stackoverflow.com/questions/23408186
复制相似问题