間隔を空けて1秒間、または30秒間を少し上回る出力が必要なサブシステムが必要です。 MATLABコードで書かれSimulink - 30秒ごとに1を出力し、それ以外の場合は0を出力します。
それはulplinkTimeIntervalは30秒であること
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
のように動作するはずです。もちろん、私はこのコードでmatlab関数ブロックを使用しようとしましたが、何らかの理由で動作しません(デバッグモードでは、yは値1をとりますが、ブロック外の値を出力しないことがわかります)。私はブロックを使用したかったが、どうやってそれをするのか分からない。
ご協力ありがとうございます