このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
チャートでの実行時エラーのデバッグ
モデルと Stateflow チャートの作成
このトピックでは、デバッグする Stateflow® チャートを含む Simulink® モデルを作成します。以下の手順に従います。
以下の Simulink モデルを作成します。
以下のステートと遷移をチャートに追加します。
チャートで、スコープ "Simulink から入力" と "立ち上がり" エッジ トリガーが設定されたイベント
Switch
を追加します。スコープ "Simulink から入力" が設定されたデータ
Shift
を追加します。
チャートには、階層の最上位レベルで 2 つのステート Power_off
と Power_on
が設定されています。既定では、Power_off
がアクティブです。イベント Switch
は、システムを Power_off
ステートと Power_on
ステートの間で切り替えます。Power_on
には次の 3 つのサブステートがあります。すなわち、First
、Second
、Third
です。既定の設定では、Power_on
がアクティブになると First
もアクティブになります。Shift
が 1 に等しい場合は、イベント Switch
が発生するたびに、システムは First
から Second
、Second
から Third
、Third
から First
に遷移し、このパターンを繰り返します。
モデルには、イベント入力とデータ入力があります。Sine Wave ブロックは、Stateflow イベント Switch
に対応する反復入力イベントを生成します。Step ブロックは、Stateflow データ オブジェクト Shift
に対応する反復パターン 1 と 0 を生成します。Switch
イベントは、First
、Second
、および Third
を少なくとも 1 サイクル実行する頻度で発生させられると理想的です。
Stateflow チャートのデバッグ
モデルと Stateflow チャートの作成 のチャートをデバッグするには、以下の手順に従います。
チャートを右クリックして、[チャート Entry 時にブレークポイントを設定] を選択します。
シミュレーションを開始します。
チャート Entry に対してブレークポイントを指定しているため、実行はそのポイントで停止します。
[ステップ イン] ボタン をクリックします。
[ステップ イン] ボタンをクリックすると、次のステップが実行されて停止します。
[ステップ イン] ボタンを繰り返しクリックして、チャートのアニメーションを監視します。
ステップごとに、チャートのアニメーションを監視し、実行シーケンスを確認します。
シングルステップ実行では、チャートは望ましい動作を示しません。Power_on
から Power_off
への遷移が優先されるため、ステート Power_on
内で First
、Second
、Third
という順序の遷移は発生しません。コード カバレッジの出力表示も、この監視結果の裏付けになります。
実行時のエラーの修正
Stateflow チャートのデバッグ で、チャートのシミュレーションを実行し、エラーを見つけます。イベント Switch
によってシミュレーションが駆動されるにもかかわらず、入力データ オブジェクト Shift
が有効になる前にシミュレーション時間が経過してしまうというエラーが発生します。
以下の手順に従って、このエラーを解決します。
チャートを編集できるようにシミュレーションを停止します。
Power_on
からPower_off
への遷移に条件[t > 20.0]
を追加します。これで
Power_on
からPower_off
への遷移は、シミュレーション時間が 20.0 を超過するまで発生しなくなります。シミュレーションを再度開始します。
繰り返し [ステップ イン] ボタンをクリックして、新たな動作を観察します。