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

SubsystemSubで算出されOut Bus Elementで送信される「datasub」の値をSubsystemMainの中で書き換える方法をご教示いただきたいです。

 채택된 답변

Toshinobu Shintai
Toshinobu Shintai 2022년 4월 18일

0 개 추천

「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개)

카테고리

도움말 센터File Exchange에서 モデル化에 대해 자세히 알아보기

제품

릴리스

R2021a

태그

질문:

2022년 4월 18일

댓글:

2022년 4월 20일

Community Treasure Hunt

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

Start Hunting!