時間経過によるステートの変化を見るにはどうすればよいか?
2 ビュー (過去 30 日間)
古いコメントを表示
現在Simulink, Stateflowにて、開発を行っております。
開発では、ステートが変化した場合にoutputが変化しないというモデルの作成が求められる場合があります。
例えば、以下のようなモデルです。
このモデルでは、in == 1が一秒間継続した場合に、out = 1と出力する、という処理を行っております。
このモデルをテストする場合に、A→B→Aといったステートの変化を行うテストケースを考えたとき、どちらのステートにおいても出力out=0となってしまうため、出力outを見るだけでは不十分です。
このような場合に、時間経過に伴うステートの変化を見るためには、どうすればよいでしょうか?
これを見る方法として、一番簡単だと思われる方法が、以下のようにステート番号をふった出力を追加する方法だと考えられます。
しかしながら、この方法はモデルに変更を加えてしまうために、あまり使用したくありません。
0 件のコメント
採用された回答
Toshinobu Shintai
2022 年 11 月 25 日
一つには、チャートのキャンバスをクリックしてプロパティインスペクターを表示した時に、「監視する出力の作成」にチェックを入れます。
これにより、CHartブロックの出力ポートが一つ増えまして、状態の変化をブロックから出力することができます。
実行結果は以下の通りです。
二つ目に、「シミュレーション」タブの「アクティブステートのログ記録」をクリックする方法があります。
これにより、モデルを修正しなくても、状態の変化がシミュレーションデータインスペクターに記録されるようになります。
モデルも添付しました。モデルはR2020bで作成しました。
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!