Main Content

emode

シミュレーション デバッグ セッションでアクセラレータ モードとノーマル モードを切り替える

構文

説明

emode は、シミュレーション デバッグ セッションでシミュレーション モードをアクセラレータ モードとノーマル モードの間で切り替えます。

Simulink® のデバッグ用のプログラム インターフェイスでは、ノーマル モードとアクセラレータ モードのシミュレーションのみがサポートされます。ラピッド アクセラレータ モードはサポートされません。

アクセラレータ モードとノーマル モードを切り替えるには、シミュレーション デバッグ セッションをアクセラレータ モードのモデルで開始する必要があります。シミュレーション デバッグ セッションを開始する前に、Simulink ツールストリップの [シミュレーション] タブの [シミュレーション] セクションで、ドロップダウン リストから [アクセラレータ] を選択します。

シミュレーション デバッグ セッションをアクセラレータ モードで開始すると、シミュレーション デバッグ セッションを高速化できます。たとえば、特定のシミュレーション時間後にシミュレーションを調べる必要があることがわかっている場合は、シミュレーション デバッグ セッションをアクセラレータ モードで開始し、時間ブレークポイントを指定して続行できます。アクセラレータ モードのシミュレーションはノーマル モードよりも高速で実行され、時間ブレークポイントに到達します。その後、すべてのデバッグ機能にアクセスするために、ノーマル モードに変更できます。

シミュレーションをブロックごとにステップ実行し、次の関数を使用する場合は、ノーマル モードでの実行に切り替えなければなりません。

メモ

この関数は、関数 sldebug を使用するか関数 sim で名前と値の引数 'debug' を使用してプログラムで開始されたシミュレーション デバッグ セッションに対してのみサポートされます。

すべて折りたたむ

モデルが複雑でシミュレーション時間が長い場合は、アクセラレータ モードを使用すると、シミュレーションのデバッグに必要な時間を短縮できます。この例では、モデル vdp のシミュレーションのためにシミュレーション モードを切り替える方法を説明します。

モデル vdp を開きます。

openExample("simulink_general/VanDerPolOscillatorExample",...
    supportingFile="vdp")

シミュレーション デバッグ セッションでアクセラレータ モードを使用するには、シミュレーション デバッグ セッションをアクセラレータ モードでシミュレートするように構成されたモデルで開始する必要があります。Simulink ツールストリップの [シミュレーション] タブの [シミュレーション] セクションで、シミュレーション ドロップダウン リストから [アクセラレータ] を選択します。

関数 sldebug を使用してモデル vdp のシミュレーション デバッグ セッションを開始します。MATLAB® コマンド プロンプト (>>) が Simulink デバッガー プロンプト ((sldebug @0): >> ) になります。

sldebug vdp
(sldebug @0): >> 

関数 tbreak を使用して、シミュレーション時間 5 秒にブレークポイントを設定します。

tbreak 5
Time break point                           : enabled (t>=5.0)

関数 continue を使用して、シミュレーション デバッグ セッションを時間ブレークポイントまで進めます。シミュレーションのこの部分はアクセラレータ モードで実行されます。

continue
Interrupting model execution at time break point (tbreak 5)
%----------------------------------------------------------------%
[Tm = 5.0073507114851168     ] vdp.Outputs.Minor

モデルがアクセラレータ モードで実行されている間に使用できるデバッグ機能は一部だけです。Simulink のデバッグ用のプログラム インターフェイスをすべて使用して、この特定の時点でモデルをデバッグするには、関数 emode を使用してノーマル モードに切り替えます。

emode
Execution Mode                             : Normal
Normal execution mode. All break points are enabled.

関数 step を使用してシミュレーションを進めます。シミュレーション デバッグ セッションのこの部分はノーマル モードを使用して実行されます。

step top
%----------------------------------------------------------------%
[TM = 5.051795155929562      ] vdp.Outputs.Major

この特定の時点を調べたら、次のことを実行できます。

  • シミュレーション デバッグ セッションをノーマル モードで続行する。

  • 別の特定の時点にブレークポイントを設定し、関数 emode を使用してアクセラレータ モードに戻し、関数 continue を使用してシミュレーションをその特定の時点まで進める。

  • 関数 stop を使用してシミュレーション デバッグ セッションを終了する。

バージョン履歴

R2006a より前に導入