Simulink自动保存模型脚本
文章目录:
自动保存模型脚本
脚本使用方法
自动保存模型脚本
- 在使用sumilink建模中,暂无自动保存模型的相关设置,使用中常常会遇到
软件卡死奔溃现象
- 当出现如上提示,如果花费了半天建立的模型还没有保存,所作的所用工作付之东流,是不是内心也随之崩溃。。。。。。
- 分享一个自动保存的模型的脚本,脚本源码如下:
%% 自动保存当前simulink模型1_脚本程序
% 用法: 默认保存时间:120s;
% 1.点击"运行",开始执行自动保存slx文件(需要先打开slx文件);
% 2.再次点击"运行",停止自动保存slx文件;
% UseFuction:
% evalin, assignin,timer, start, save_system,
% datatime, timerfindall, stop, delete
%% code
function Scirpt_AuotSaveSlx
%----------------------------------------------------------------------
try % 提取workspace的[AutoSaveFlag]变量
AutoSaveFlag = evalin('base', 'AutoSaveFlag');
catch % 如果没有[AutoSaveFlag]变量,则创建一个,写入到workspace
AutoSaveFlag = 0;
assignin('base', 'AutoSaveFlag', AutoSaveFlag);
end
%----------------------------------------------------------------------
%----------------------------------------------------------------------
%%
if AutoSaveFlag == 0 % 第一次运行
t = timer('ExecutionMode',...
'fixedRate',...
'Period',120,...
'TimerFcn',...
@AutoSave_Callback);
disp('自动保存已打开');
start(t);
AutoSaveFlag = 1;
assignin('base', 'AutoSaveFlag', AutoSaveFlag); % workspace中置1
else
t = timerfindall;
AutoSaveFlag = 0;
assignin('base', 'AutoSaveFlag', AutoSaveFlag); % workspace中置0
stop(t);
delete(t);
disp('自动保存已关闭');
end
%----------------------------------------------------------------------
%----------------------------------------------------------------------
%%
function AutoSave_Callback(~,~)
evalin('base', 'save_system');
disp(['模型已保存----',...
char(datetime('now', 'Format','yyyy-MM-dd HH:mm:ss ZZZ'))]);
end
%----------------------------------------------------------------------
end
脚本使用方法

.m
脚本,复制源码程序,点击运行;如果脚本文件路径和当前模型路径不在一个路径,点击添加路径
即可;脚本中,修改Period
参数值,即可设置自动保存时间周期


