嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > 啊啊啊,Simulink又崩溃了。。。

啊啊啊,Simulink又崩溃了。。。

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参数值,即可设置自动保存时间周期
  • 从命令行窗口可以看出,按照设定的时间间隔,模型会自动保存一次以后再也不行担心软件崩溃啦