時間経過によるステー​トの変化を見るにはど​うすればよいか?

現在Simulink, Stateflowにて、開発を行っております。
開発では、ステートが変化した場合にoutputが変化しないというモデルの作成が求められる場合があります。
例えば、以下のようなモデルです。
このモデルでは、in == 1が一秒間継続した場合に、out = 1と出力する、という処理を行っております。
このモデルをテストする場合に、A→B→Aといったステートの変化を行うテストケースを考えたとき、どちらのステートにおいても出力out=0となってしまうため、出力outを見るだけでは不十分です。
このような場合に、時間経過に伴うステートの変化を見るためには、どうすればよいでしょうか?
これを見る方法として、一番簡単だと思われる方法が、以下のようにステート番号をふった出力を追加する方法だと考えられます。
しかしながら、この方法はモデルに変更を加えてしまうために、あまり使用したくありません。

 채택된 답변

Toshinobu Shintai
Toshinobu Shintai 2022년 11월 25일

1 개 추천

一つには、チャートのキャンバスをクリックしてプロパティインスペクターを表示した時に、「監視する出力の作成」にチェックを入れます。
これにより、CHartブロックの出力ポートが一つ増えまして、状態の変化をブロックから出力することができます。
実行結果は以下の通りです。
二つ目に、「シミュレーション」タブの「アクティブステートのログ記録」をクリックする方法があります。
これにより、モデルを修正しなくても、状態の変化がシミュレーションデータインスペクターに記録されるようになります。
モデルも添付しました。モデルはR2020bで作成しました。

댓글 수: 1

佳樹
佳樹 2022년 11월 25일
問題なく出力結果を見ることができました。
モデルの変更を必要としない「『シミュレーション』タブの『アクティブステートのログ記録』をクリックする」方法が非常に有効であると感じました。
わざわざモデルまで作成していただき、誠にありがとうございます。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Stateflow에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2022년 11월 25일

댓글:

2022년 11월 25일

Community Treasure Hunt

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

Start Hunting!