Simulink 定期调用块
Simulink call block periodically
我试图每 30 秒调用一次 Simulink 块,但我做不到。
我正在使用来自 matlab sscfluids_house_heating_system
的演示,我需要在我的 MATLAB 功能块中每 30 秒处理一次温度。但只有每 30 秒一次。
我尝试为 运行 创建简单代码,该代码仅每 30 秒阻塞一次(目前它仅在 30 秒后调用)但它仅在 matlab 中有效,在 MATLAB 函数块中无效
if(exist('isRunning','var') == 0)
timeA = datetime('now');
timeA = datevec(timeA);
isRunning = 1
else
timeB = datetime('now');
timeB = datevec(timeB);
disp(etime(timeA,timeB))
if(etime(timeB,timeA) >= 30)
sayIt = "30secPassed"
end
end
所以我的问题是如何每 30 秒调用一次 MATLAB 函数块?
解决方案是在块参数(子系统)中将采样时间设置为 30 秒。
我试图每 30 秒调用一次 Simulink 块,但我做不到。
我正在使用来自 matlab sscfluids_house_heating_system
的演示,我需要在我的 MATLAB 功能块中每 30 秒处理一次温度。但只有每 30 秒一次。
我尝试为 运行 创建简单代码,该代码仅每 30 秒阻塞一次(目前它仅在 30 秒后调用)但它仅在 matlab 中有效,在 MATLAB 函数块中无效
if(exist('isRunning','var') == 0)
timeA = datetime('now');
timeA = datevec(timeA);
isRunning = 1
else
timeB = datetime('now');
timeB = datevec(timeB);
disp(etime(timeA,timeB))
if(etime(timeB,timeA) >= 30)
sayIt = "30secPassed"
end
end
所以我的问题是如何每 30 秒调用一次 MATLAB 函数块?
解决方案是在块参数(子系统)中将采样时间设置为 30 秒。