Busのデータを算出​しているサブシステム​以外のサブシステムで​データ書き換えをする​方法をご教示いただき​たい。

1 回表示 (過去 30 日間)
利元 河合
利元 河合 2022 年 4 月 18 日
コメント済み: 利元 河合 2022 年 4 月 20 日
SubsystemSubで算出されOut Bus Elementで送信される「datasub」の値をSubsystemMainの中で書き換える方法をご教示いただきたいです。

採用された回答

Toshinobu Shintai
Toshinobu Shintai 2022 年 4 月 18 日
「Bus Assignment」ブロックが使えます。
ただし、これを使う前に、このモデルが代数ループを生む形になっていますので、そこを改善した方がよいです。バスエディターを用いて「MainCan」「SubCalc」「Sys_A」「Sys_B」「Sys_C」バスの定義を明確にしました。バスの定義はslddファイルに保存し、slddファイルとSimulinkモデルを関連付けています(添付ファイルをご確認ください)。
次にBus Creatorブロックにそのデータ型を設定しました。その後、Unit Delayブロックを挿入しました。
そして回答になりますが、バス信号に直列に挿入する形でBus Assignmentブロックを挿入し、各要素に対して値を代入することができます。
  1 件のコメント
利元 河合
利元 河合 2022 年 4 月 20 日
ご教示ありがとうございました。
代数ループを回避する為にUnit Delayブロックを挿入し、
Bus信号をBus Assignmentブロックで認識できる様に
バスエディターでBusを定義し、Bus Assignmentブロックで書き換えたい信号を抽出し代入したい値を結線する。
と理解しました。バスエディターの使い方を確認して、検討してみます。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeモデル コンポーネントのスケジュール についてさらに検索

タグ

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!