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

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

 Réponse acceptée

Toshinobu Shintai
Toshinobu Shintai le 18 Avr 2022

0 votes

「Bus Assignment」ブロックが使えます。
ただし、これを使う前に、このモデルが代数ループを生む形になっていますので、そこを改善した方がよいです。バスエディターを用いて「MainCan」「SubCalc」「Sys_A」「Sys_B」「Sys_C」バスの定義を明確にしました。バスの定義はslddファイルに保存し、slddファイルとSimulinkモデルを関連付けています(添付ファイルをご確認ください)。
次にBus Creatorブロックにそのデータ型を設定しました。その後、Unit Delayブロックを挿入しました。
そして回答になりますが、バス信号に直列に挿入する形でBus Assignmentブロックを挿入し、各要素に対して値を代入することができます。

1 commentaire

利元 河合
利元 河合 le 20 Avr 2022
ご教示ありがとうございました。
代数ループを回避する為にUnit Delayブロックを挿入し、
Bus信号をBus Assignmentブロックで認識できる様に
バスエディターでBusを定義し、Bus Assignmentブロックで書き換えたい信号を抽出し代入したい値を結線する。
と理解しました。バスエディターの使い方を確認して、検討してみます。

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2021a

Tags

Community Treasure Hunt

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

Start Hunting!