
Save a Model.docx
8页Save a Model 第一时间保存模型 模型名称 保存先前保存的模型 在SLX格式文件保存模型 不同的字符编码保存模型 将模型导出到以前的Simulink版本 从一个较早的Simulink版本保存到另一个 如何判断一个模型需要保存 要判断模型是否需要保存,在Simulink编辑器的标题栏如果模型需要保存,在标题栏的型号名称旁边出现一个星号 以编程方式确定一个模型是否需要保存,使用的模型参数Dirty例如: if strcmp(get_param(gcs, 'Dirty'), 'on') save_system;end第一时间保存模型 第一次保存模型,在Simulink编辑器,选择File > Save. 提供一个模型文件的位置和名称 模型名称 模型文件名必须以字母开头,可以包含字母,数字和下划线文件名必须是不一样的MATLAB软件命令 字符总数必须不大于特定的最大,通常是63个字符要找出是否为您的系统是最大的超过63个字符,请使用MATLAB namelengthmax 命令.保存先前保存的模型 如果您要保存文件以前保存的模型,其模型: · 要替换文件的内容,在Simulink编辑器,选择File > Save.· 一个新的名称或位置保存该模型,在Simulink编辑器,选择File > Save As.注:请参阅Upgrade Models to SLX.当您保存模型时,会发生什么情况? Simulink中保存模型,通过产生的模型框图和块属性的文件,其中包含的一个特殊格式的文件。
Simulink软件遵循下列过程,同时保存了一个模型: 1. 如果模型文件已经存在,Simulink的模型文件重命名为一个临时文件 2. 所有的块PreSaveFcn回调函数先执行,然后框图PreSaveFcn回调例程执行 3. Simulink的模型文件写入到一个新的文件使用相同的名称,默认情况下,.slx.4. 所有的块PostSaveFcn回调函数执行,那么框图PostSaveFcn回调例程执行 5. Simulink中删除临时文件 如果发生错误,在这个过程中,Simulink: · 原始模型文件的名称重命名的临时文件 · 与当前版本的模型写入到一个文件中.err扩展名· 问题的错误消息 在保存过程的第2步中如果发生错误,则省略步骤3和步骤4和5进行 在SLX格式文件保存模型 保存新的模型,SLX 您保存新的模式和库在SLX格式的默认文件扩展名为.slxSLX是一个压缩包,符合开放数据包约定(OPC)的互操作性标准SLX模型信息存储使用Unicode UTF-8的XML和其他国际性格式保存Simulink模型的在SLX格式: · 通常情况下减小文件的大小相比,MDLMDL和SLX文件的大小减少根据型号不同而有所不同。
· 在以前的版本中,加载和保存MDL文件,其中包含韩国和中国的字符解决了一些问题您可以指定文件格式来保存新的模式和库与Simulink首选项File format for new models and libraries.升级模型为SLX 如果您升级到SLX文件格式的MDL文件,该文件包含的MDL文件相同的信息,及你总是有一个备份文件. 目前存在的所有的功能和API的使用模型,如get_param和set_param命令,时也可以使用SLX文件格式SLX文件格式升级MDL文件如果您不改变模型的名称或位置,然后Simulink中创建一个备份文件重命名(如果可写)及Simulink不会删除MDL文件 如果您将现有的MDL文件使用File > Save, Simulink的MDL格式文件的格式,并保存您的模型 SLX文件格式保存现有的MDL文件, 1. 选择 File > Save As.2. 保留默认Save as type为 SLX,然后按一下Save.Simulink中保存你的模型在SLX格式,及创建一个备份文件,重命名MDL(如果可写)为mymodel.mdl.releasename, 例如, mymodel.mdl.R2010b.另外,使用save_system:save_system mymodel mymodel.slx此命令创建mymodel.slx, 如果现有文件mymodel.mdl是可写的,它被重新命名mymodel.mdl.releasename.SLX文件的优先级高于MDL文件,因此,如果存在具有相同的名称以及你不指定文件扩展名,你加载的是SLX文件。
Simulink的工程,可以帮助您将文件迁移到SLX举一个例子,Upgrade Model Files to SLX and Preserve Revision History.注意如果使用第三方源代码控制工具,确保登记的模型为一个二进制文件格式的文件扩展名如果你不这样做,当您提交时,可能会破坏这些第三方的工具SLX文件,SLX操作时可能出现的兼容性注意事项发生了什么作用硬式编码的引用的文件名扩展名.mdl. 指令码可以不保存新的.slx文件扩展名或过程模型. 同时使您的代码工作.mdl和.slx扩展名使用函数类似什么,而不是字符串.mdl. 默认情况下,第三方假设的文本格式的源代码控制工具 您提交的二进位的SLX文件的格式时可能会导致第三方工具损坏的文件注册一个二进制文件格式的第三方源代码控制工具.SLX另外建议.mdl文件看Register Model Files with Source Control Tools.更改字符编码某些情况下得到改善,例如,SLX加载和保存MDL文件,其中包含韩国和中国的字符在以前的版本中解决了一些问题然而,在不同的语言环境中共享模型仍然是个问题见 SLX Files and Character Encodings.在MDL及SLX文件内容的格式,是随时发生变化。
操作模型数据,使用记录的API,如get_param, find_system和Simulink.MDLInfo. 不同的字符编码保存模型 字符编码的差异 SLX文件和字符编码字符编码的差异 当您保存一个模型,用于当前字符编码存储在模型文件中的文本进行编码如果你保存模型,其原来的编码不同,从目前的编码方式,这可能会导致模型的损坏 如果您更改字符编码,它有可能引进字符不能表示在目前的编码方式如果是这样的话,该模型保存为model.err,在模型名称,保持原始模型文件不变Simulink还显示一条错误消息,指定行数和列数的第一个字符无法表示 从这个错误中恢复: · 在SLX格式保存模型(见Saving Models in the SLX File Format).· 使用下列程序查找和删除一个字符 1. 使用文本编辑器中的字符在.err文件在指定的位置保存错误消息 2. 查找并删除相应字符的开放模式,及重新保存该模型.3. 重复这个过程,直到你能够保存模型没有错误.这可能是因为你的模型的原始编码可以表示所有的文字的变化,你已经在当前会话中,尽管是不正确的例如,假设您打开一个模型,其原来的编码是在一个会话中,其目前的编码方式是B. 进一步假设你编辑模型,包括A和B具有不同的编码字符,然后保存模型。
如果除了编码为x在B与Y在A是相同的编码,如果你插入x的模型,而B是有效的,保存模型,然后重新打开该模型与Simulink软件A中的将显示x为y要提醒您,这样的损坏的可能性,该软件会显示一条警告消息,每当您保存当前值和原始编码不同的模型,其中原始编码可以编码,可能是不正确的,所有的字符被保存在模型文件 SLX文件和字符编码 Simulink模型保存在SLX格式通常减小文件大小及加载和保存MDL文件,其中包含韩国和中国的字符在以前的版本中解决了一些问题 选择一个模型文件格式的注意事项: · 如果您正在以韩文或中文字符加载和保存模型,使用SLX · 使用SLX,如果你将受益于一个压缩的模型文件 · 无论您使用的是SLX或MDL,Simulink中可以检测并警告说,如果模型中包含的当前语言环境中不支持的字符对于SLX,您可以使用标准的顾问来帮助你,看Check file for foreign characters.将模型导出到以前的Simulink版本 您可以导出(保存)创建的模型的最新版本的Simulink软件的早期版本使用的格式,例如Simulink7.0(R2007b)例如,您可能要执行这样的导出,使模型向各位同事只能访问到以前的版本的Simulink产品 能够访问。
要导出模型在前面的格式: 1. 在Simulink编辑器,选择File > Save. 这样就保存了在最新版本的Simulink副本这一步避免了兼容性问题 2. Simulink编辑器,选择File > Export > Export Model To Previous Version. Export To Previous Version对话框中会出现导出 3. 在该对话框中,从Save as type列表中,选择导出模型在以前的版本 4. 点击 Save 按钮.当你以前版本的格式导出模型,该模型被保存在前面的格式,不管模型是否包含该版本之后引入的模块和功能如果模型包含块或晚于早期版本的使用功能,在Simulink软件的早期版本中,当你运行它,该模型可能无法得到正确的结果此外,仿真转换成黄色的空遮罩子系统模块 块把日期填迟的早期版本例如,如果你导出模型发布R2007b,该模型包含多项式块,Simulink的多项式块转换成黄色的空遮罩子系统模块Simulink还从模型中删除任何不支持的功能 从一个较早的Simulink版本保存到另一个 您可以打开Simulink的早期版本中创建的模型,该模型导出到一个不同的早期版本。
为了避免兼容性问题,请使用下列程序,如果你需要从一个早期版本到另一个早期版本保存模型 1. 使用当前版本,打开Simulink的早期版本创建的模型 2. 在你做任何改动,在当前版本中保存的模型选择File > Save.在当前版本中保存模型后,你可以根据需要进行更改并重新保存 3. 保存在早期版本中的Simulink模型选择File > Export > Export Model To Previous Version.4. 启动Simulink的早期版本,并用它来打开的模型导出到该早期版本 5. 在早期版本中保存模型选择File > Save.现在,如果它已经在该版本中创建的早期版本中的Simulink模型,您可以使用完全一样 Simulink的首选项,可以帮助您从早期版本的模型: · Do not load models created with a newer version of Simulink· Save backup when overwriting a file created in an older version of Simulink。












