Simulink/StateFlowにおけるバス信号への値の代入について
Afficher commentaires plus anciens
Simulink/StateFlowにおいて、
a.data(1) = F;
(dataは8次元の配列)のようにバス信号に値を代入しようとすると、
「"y(1) = 1" のような要素ごとの代入は、完全な代入として認識されません」
といったエラーが出ます。このような代入方法はバスではできないのでしょうか。
1 commentaire
stozaki
le 22 Fév 2020
問題は解決されましたでしょうか?
エラーが発生している箇所を切り出して、モデルを添付頂く事はできますか?
Réponses (1)
Atomi様
Stateflowの 場合を添付の例題モデルとして示します。(R2019bにて作成)
バス信号を使うためには、先ずバスオブジェクトを定義して下さい。その定義したバス要素に代入する形でモデリング・シミュレーション出来ます。(myBus.mを実行後、モデルを開いてシミュレーション実行可能です)
次のドキュメント記載の例題も併せてご確認いただくと良いかと思います。
宜しくお願い致します。
追記です。
配列の要素番号を指定する場合、次の例題の通りにして頂けますでしょうか
こちらの例はアクション言語がC言語の例となっています。
5 commentaires
Kengo Atomi
le 18 Fév 2020
Atomi様
「バスの要素がベクトルの場合」に対して代入されたいのかと思います。
添付の例題でご確認頂けますでしょうか? こちらはアクション言語をMATLABとしております。
dd.matをロードして、モデルを開いてシミュレーションを実行してください。
(念の為、バスオブジェクトの要素のサイズが正しく設定されているか?をご確認頂けますか?)
宜しくお願い致します。
念の為、要素がサイズ8のベクトルで、データ型がbooleanの例を添付致します。
確認ですが、a.data(1) = F;のFは定義済みという認識ですが、正しいでしょうか?Fのデータ型をbooleanに設定しておりますでしょうか?
左辺、右辺のデータ型が異なる場合、キャストを実施頂けますでしょうか?
Kengo Atomi
le 18 Fév 2020
作成環境がR2019bで、SimulinkとStateflowがあれば開くと思います。
Atomi様の環境がR2015aとのことなので、開かなかったと思われます。
R2015a用にエクスポートしたモデルを添付致します。
こちらは、T/Fをパラメータとして定義しており、データ型をbooleanとしております。

Catégories
En savoir plus sur 複雑なロジック dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!