ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

シミュレーションの実行制御

シミュレーションの起動

以下の項では、この モデルモデル を使用して対話型でシミュレーションを実行する方法を説明します。プログラムや S-Function または MATLAB® コマンド ラインからシミュレーションを実行する方法については、「sim コマンドを使用したシミュレーションの実行」および「set_param コマンドによるシミュレーションの制御」を参照してください。

モデルの実行を開始するには、モデル エディターの [シミュレーション] メニューから [実行] を選択するか、モデルのツール バーから [実行] ボタンをクリックします。

    メモ:    ユーザーが陥りやすい誤りは、Simulink® ブロック ライブラリがアクティブ ウィンドウであるときにシミュレーションを開始することです。シミュレーションを開始する前にモデル ウィンドウがアクティブ ウィンドウであることを確認してください。

モデルの実行は、コンフィギュレーション パラメーター ダイアログ ボックスで指定した開始時間で開始されます。シミュレーションの実行は、エラーが発生するまで、ユーザーがシミュレーションを一時停止したり終了するまで、あるいは [コンフィギュレーション パラメーター] ダイアログ ボックスで指定された最終タイム ステップに達するまで続けられます。

シミュレーションの実行中は、モデル ウィンドウ下部の進行状況バーに、シミュレーションの進捗状況が表示されます。[シミュレーション] メニューには、[実行] コマンドに置き換わって [一時停止] コマンドが表示されます。また、メニューには [一時停止] コマンドが表示され、モデル ツール バーの [実行] ボタンに置き換わって [一時停止] ボタンが表示されます。

コンピューターはビープ音を鳴らしてシミュレーションの終了を通知します。

シミュレーションの一時停止または停止

シミュレーションを一時停止するには、Pause コマンドを入力するか、または [一時停止] ボタンを押します。Simulink は現在のタイム ステップの実行を完了すると、シミュレーションを一時停止状態にします。[一時停止] を選択すると、メニュー アイコンとボタンは [続行] に変わります (ボタンは [実行] ボタンと同じ外観になります)。[続行] を選択すると、一時停止状態のシミュレーションを次のタイム ステップから再開できます。

モデルの実行を終了するには、[停止] ボタンまたは [シミュレーション] メニューの [停止] を選択します。Simulink は現在のタイム ステップの実行を完了し、シミュレーションを終了します。この後、[実行] メニュー項目またはボタンを選択すると、[コンフィギュレーション パラメーター] ダイアログ ボックスで指定した最初のタイム ステップからシミュレーションが再開されます。

出力をファイルまたはワークスペースに書き込むようなブロックがモデルに含まれている場合、または [コンフィギュレーション パラメーター] ダイアログ ボックスで出力オプションを選択した場合は、Simulink ソフトウェアがシミュレーションの終了時または中断時にデータを書き込みます。

ブロックを使用してシミュレーションを停止または一時停止する方法

停止ブロックの使用

Stop Simulation ブロックを使用すると、ブロックへの入力が非ゼロの場合にシミュレーションを停止できます。 Stop Simulation ブロックを使用するには、以下のようにします。

  1. Sinks ライブラリから Stop Simulation ブロックのコピーをドラッグし、モデルにドロップします。

  2. Stop Simulation ブロックを指定した終了時間で値が非ゼロになる信号に接続します。

たとえば、次のモデルモデルでは、入力信号が 10 に到達すると、シミュレーションが停止します。

ブロックの入力がベクトルである場合、非ゼロ要素により、シミュレーションが終了します。

一時停止ブロックの作成

Assertion ブロックを使用すると、ブロックへの入力信号がゼロである場合に、シミュレーションを一時停止できます。一時停止ブロックを作成するには、次のようにします。

  1. Model Verification ライブラリから Assertion ブロックのコピーをドラッグし、モデルにドロップします。

  2. Assertion ブロックを目的の一時停止時間で値がゼロになる信号に接続します。

  3. Assertion ブロックの [ブロック パラメーター] ダイアログ ボックスを開きます。

    • 次のコマンドを [アサーションが失敗したときのシミュレーション コールバック] フィールドに入力します。

      set_param(bdroot,'SimulationCommand','pause'),
      disp(sprintf('\nSimulation paused.'))
    • [アサーションの失敗時にシミュレーションを中止] オプションのチェック ボックスをオフにします。

  4. [OK] をクリックして、変更を適用し、このダイアログ ボックスを閉じます。

次のモデルは、同じように構成された Assertion ブロックを Relational Operator ブロックと共に使用し、シミュレーション時間が 5 に達したらシミュレーションを停止します。

シミュレーションが一時停止すると、Assertion ブロックは MATLAB コマンド ラインに次のメッセージを表示します。

シミュレーション一時停止の警告: 時間 5.000000 で 'assertion_as_pause/ Assertion Used to Pause Simulation' においてアサーションが検知されました

モデル エディターの [シミュレーション] メニューの [続行] を選択するか、ツール バーの [続行] ボタンを選択すると、一時停止状態のシミュレーションを再開できます。

この情報は役に立ちましたか?