「入力端子はループ内にあります」というエラーを解消したい。
52 views (last 30 days)
Show older comments
plantの上部にあるIIR(時変システム)を設置したところ、以下のようなエラーが発生しました。(IIR部分を通常の非時変離散伝達関数に置き換えたときはこのエラーは発生しなかった。)
<エラーメッセージ>
'kmracs/adaptive mechanism/Subsystem2/gaussian' またはこれによって参照されるモデルには、出力の計算中に永続変数または状態変数を更新するブロックが含まれていて、1 つの代数ループではサポートされていません。これは、次のブロックをもつ代数ループです。
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
'kmracs/adaptive mechanism/Delay3' の入力端子 (1) はループ内にあります。 このメッセージは非表示の SignalConversion ブロックに関連しています。 このブロックはブロックの挿入、または展開の結果として、input port 1 においてブロック 'kmracs/adaptive mechanism/Delay3' に対して追加されます。. 隠されたブロックのパラメーター 'Output' は 'Signal copy' に設定されます。 問題をデバッグするためのブロックを手動で挿入することを検討してください。
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
コンポーネント: Simulink | カテゴリ: Model エラー
問題のブロック線図
全体図
plant
adaptive mechanism
なお、後学のためにエラーの発生理由も教えていただけると、嬉しいです。
0 Comments
Answers (1)
covao
on 16 Mar 2023
英語では、下記のエラーメッセージに相当します。
Error:'*****' updates persistent or state variables while computing outputs, therefore it cannot be used in an algebraic loop.
図から代数ループの原因を特定するのは難しいですが、代数ループになっているMATLAB Function内でpersistent変数を使っていることが原因の可能性があります。
類似するエラーのケースがこちらにあります。
一般的な代数ループの回避方法については、下記の回答があります。
0 Comments
See Also
Categories
Find more on 信号属性とインデックス付け in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!