simscapeでi​fブロックを使用した​際のエラーについて

物体間の距離に応じてjointに入力される信号を変更できるようなプログラムを作成しています.
具体的には,Cylindrical SolidとBrick Solid2の距離を計測し,その値をifブロックに入力して2物体間の距離が0.15を下回る場合は1,それ以外は0をjointブロックに入力されるような回路を組んでいます.
シミュレーションを実行すると「エラー:'kakunin/Solver Configuration' の入力端子 (1) はループ内にあります。」,「エラー:'kakunin/If' の入力端子 (1) はループ内にあります。」,「エラー:'kakunin/If Action Subsystem' の入力端子 (Action) はループ内にあります。」といったエラーが出てしまいます.
どのように変更すればよいかをご教授いただければ幸いです.よろしくお願いいたします.

 採用された回答

Toshinobu Shintai
Toshinobu Shintai 2024 年 6 月 17 日

0 投票

いわゆる代数ループという現象が発生しています。
Simscapeから出た信号がSimscapeに戻ってくるまでの間に、遅れ要素を入れることで解消できます。例えば、以下のようにUnit Delayブロックを入れることでシミュレーションができました。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeApplications についてさらに検索

製品

リリース

R2024a

タグ

質問済み:

松
2024 年 6 月 17 日

回答済み:

2024 年 6 月 17 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!