我需要一個子系統,需要輸出1間隔或30秒或稍微超過30秒。Simulink - 輸出1每30秒,否則爲0
,MATLAB寫代碼,它應該工作一樣,
function y = fcn(time,uplinkTimeInterval)
%#codegen
persistent lastTriggerTime
if isempty(lastTriggerTime)
lastTriggerTime = 0;
end
if time>=lastTriggerTime || time == 0
y = 1;
lastTriggerTime = time + uplinkTimeInterval;
else
y = 0;
end
end
其中ulplinkTimeInterval爲30秒。當然,我嘗試使用這個代碼的matlab函數塊,但由於某種原因它不起作用(在調試模式下,我可以看到y取值1,因爲它應該但它不會輸出塊外的值),因此我想用塊,但我不知道該怎麼做。
非常感謝您的幫助