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

조회 수: 5(최근 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개)

태그

제품


릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!