ASIDE-Simulink接口预研报告
2018年4月
1 引言
本报告描述ASIDE-Simulink接口的预先研究情况和结果。
2 目的
ASIDE-Simulink接口是ASIDE中的一个模块。它的主要功能是通过解析Simulink模型文件,把Simulink模型中的相关信息导入到ASIDE中,从而把Simulink模型的开发纳入到ASIDE的流程管理之中。
3 Simulink模型的文件格式
Simulink模型的载体是Simulink模型的专用文件,其格式有两种,即MDL和SLX。
MDL是Simulink模型文件的最初格式。SLX是从Simulink R2012a开始引入的,并从R2012b开始成为默认格式。
除了结构以外,MDL与SLX的内容是非常相似的。例如,两种格式中的键-值对是相同的。
SLX文件实际是一个zip文件,它压缩了一组XML文件。
4 ASIDE-Simulink接口的输入
ASIDE-Simulink接口的输入显然是SLX文件或MDL文件。
由于SLX文件已是Simulink的默认格式,因此首先要解决SLX的输入问题,其次再解决MDL的输入问题。
一个Simulink工程可包含一个或多个模型文件,因此ASIDE-Simulink接口的输入应是一个Simulink工程的一组模型文件。
当输入格式是SLX时,可通过解压转为XML文件。
当输入格式是MDL时,可通过Matlab命令转为XML文件。
这样ASIDE-Simulink接口的输入就变成了统一的XML文件。
SLX与MDL转换为XML后其格式大体相同,具体差异可在今后开发中予以处理。
5 ASIDE-Simulink接口的处理
ASIDE-Simulink接口的处理任务主要是解析XML文件,提取两类内部数据,即模型的属性数据和模型的图形数据。
模型的属性数据主要是:
- 模块名称
- 层次结构
- 输入输出
- 需求追踪
Matlab的print命令可输出模型的图形到png文件。如果采用此命令,则无需提取模型的图形数据。
6 ASIDE-Simulink接口的输出
ASIDE-Simulink接口的输出是:
- 模型的属性数据文件
- 模型的图形文件
模型的属性数据文件可采用与ASIDE-SCADEDISPLAY接口相似的XML文件。该文件中的图形文件名字段可关联到模型的图形文件。
7 原型程序
已用C++ 开发了以下原型程序:
- slx2xml.exe
- simulink_figure.exe
slx2xml.exe的功能是把SLX文件解压为XML文件。解压工具是WinRAR。以后可选用其他工具。
simulink_figure.exe的功能是解析XML文件,获取模型的结构信息,输出模型各个层次的图形。
以下是原型程序的VS工程图示和模型图形样例。