ドキュメンテーション

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

対話によるモデルのシミュレーション

シミュレーションの基礎

Simulink® エディターでモデルをシミュレートするには、[シミュレーション][実行] またはツール バーの [実行] ボタン を使用します。[実行] ボタンは、Simulink エディター内のツールにも表示されます。Scope ビューアーのような、このボタンが含まれる任意のツールからシミュレートが可能です。

シミュレーションを開始する前に、シミュレーションの開始時間、終了時間、モデルを解くためのソルバーなどのオプションを指定できます (ソルバーを参照)。これらのオプションは [コンフィギュレーション パラメーター] ダイアログ ボックスで指定します。このダイアログ ボックスは [シミュレーション] メニューからまたはツール バーの [モデル コンフィギュレーション パラメーター] ボタン を使用して開くことができます。これらの設定は、モデルと共に "コンフィギュレーション セット" に保存されます。各モデルに対して複数のコンフィギュレーション セットを作成し、それらを切り替えてさまざまな設定の効果を確認できます。「コンフィギュレーションの再利用」を参照してください。

モデル コンフィギュレーション パラメーターの設定後、シミュレーションを開始できます。シミュレーションの一時停止、再開および停止には、ツール バーのコントロールを使用します。また、同時に 1 つを超えるモデルをシミュレートすることもでき、そのため、あるモデルのシミュレーションの実行中に別のものを開始することもできます。

シミュレーション中は、ラインやブロックの追加や削除など、モデルの構造に変更を加えることはできません。しかし、以下はシミュレーション中に変更可能です。

  • 終了時間、最大ステップ サイズなど、いくつかのコンフィギュレーション パラメーターを変更する。

  • ブロックのパラメーターを変更する。ただし、次の要素は変更してはなりません。

    • 状態、入力、または出力の数

    • サンプル時間

    • ゼロクロッシングの数

    • ブロック パラメーターのベクトルの長さ

    • 内部ブロックのワーク ベクトルの長さ

    • 信号の次元

また、シミュレーション時にモデルを視覚的に調べることもできます。たとえば、ラインをクリックして、Floating Scope ブロックや Display ブロックのラインに引き継がれた信号を表示できます。モデルのシミュレーション時に端子の値を表示することもできます。「デバッグのための端子の値の表示」を参照してください。

シミュレーションの実行、一時停止および停止

モデルのシミュレーションを開始するには、[実行] ボタン をクリックします。シミュレーションを一時停止、再開または停止するには、ツール バーの対応するコントロールを使用します。

モデルは指定された開始時間にシミュレーションを開始し、指定された終了時間まで実行します。シミュレーションの実行中、エディターの下部にシミュレーションの完了割合と現在のシミュレーション時間の情報が表示されます。

  • エラーが発生すると、シミュレーションは停止し、メッセージが表示されます。警告状態の発生の場合は、シミュレーションは完了します。どちらの場合も、エディターの下部にある診断リンクをクリックしてメッセージを確認し、エラーを特定できます。

  • 一時停止は、現在のタイム ステップが実行を終了した後で有効になります。一時停止したシミュレーションの再開は、次のタイム ステップからです。

  • シミュレーションを停止させると、現在のタイム ステップが完了し、その後シミュレーションが停止します。

  • モデルの出力先がファイルまたはワークスペースの場合、シミュレーションの停止または一時停止によりデータの書き込みが行われます。

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

Stop Simulation ブロックを使用したシミュレーションの停止

Stop Simulation ブロックを使用すると、ブロックへの入力が非ゼロの場合にシミュレーションを停止できます。ブロックの入力がベクトルである場合、非ゼロ要素により、シミュレーションが終了します。

  1. Stop Simulation ブロックをモデルに追加します。

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

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

Assertion ブロックを使用したシミュレーションの一時停止

Assertion ブロックを使用すると、ブロックへの入力信号がゼロである場合に、シミュレーションを一時停止できます。Assertion ブロックは、set_param コマンドを使用してシミュレーションを一時停止します。Simulink モデルの実行をコントロールする set_param コマンドの使用方法の詳細は、「set_param コマンドによるシミュレーションの制御」を参照してください。

  1. モデルに Assertion ブロックを追加します。

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

  3. Assertion ブロックのダイアログ ボックスで、[アサーションが失敗したときにシミュレーションを中止] チェック ボックスをオフにします。次のコマンドを [アサーションが失敗したときのシミュレーション コールバック] の値として入力します。

    set_param(bdroot,'SimulationCommand','pause'),
    disp(sprintf('\nSimulation paused.'))

このモデルはこれらの設定で Assertion ブロックを使用して、シミュレーション時間が 5 に達するとシミュレーションを一時停止します。

シミュレーションが一時停止すると、ブロックがシミュレーションを一時停止させた時間を示すメッセージが表示されます。

シミュレーションは [続行] を使用して再開でき、これは一時停止しているどのシミュレーションについても同様に可能です。

参考

| |

関連する例

詳細

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