メインコンテンツ

ロジック アナライザー

時間の経過に沿った遷移と状態の可視化、測定および解析

説明

ロジック アナライザーは、Simulink® モデルの信号と状態を可視化して検査するためのツールです。ロジック アナライザーを使用することで以下が可能です。

  • モデルのデバッグと解析

  • 多数の信号の同時トレースおよび相関

  • タイミング違反の検出と解析

  • システムの実行のトレース

  • トリガーを使用した信号の変化の検出

キーボード ショートカットについては、[その他] をクリックしてください。

キーボード ショートカット

アクション説明次の場合に適用可能
Ctrl + Sビューの保存常時
Ctrl+Oビューを開く常時
Ctrl+X切り取り波形が選択されている
Ctrl+Cコピー波形が選択されている
Ctrl+V貼り付け波形が選択されている
Delete削除波形が選択されている
Ctrl+-ズーム アウト常時
Shift+Ctrl+-アクティブなカーソルを中心としてズームアウト常時
Ctrl++ズームイン常時
Shift+Ctrl++アクティブなカーソルを中心としてズームアウト常時
Shift+Ctrl+C表示をアクティブなカーソルに移動カーソルが表示範囲内にない場合
Spaceズーム アウト (フル)常時
TabRight Arrow次の遷移デジタル形式の波形が選択されている
Shift+TabLeft Arrow前の遷移デジタル形式の波形が選択されている
Ctrl+Aすべての波形を選択常時
Up Arrow選択されている波形の上にある波形を選択波形が選択されている
Down Arrow選択されている波形の下にある波形を選択波形が選択されている
Ctrl+Up Arrow選択した波形を上に移動波形が選択されている
Ctrl+Down Arrow選択した波形を下に移動波形が選択されている
Escすべての信号の選択を解除波形が選択されている
Page Up上にスクロール常時
Page Down下にスクロール常時
Logic Analyzer app

ロジック アナライザー アプリを開く

Simulink エディター メニューの [シミュレーション] タブでロジック アナライザーのアプリ ボタンをクリックします。ボタンが表示されない場合は、[結果の確認] ギャラリーを展開すると、[信号ログの結果]ロジック アナライザー アプリが見つかります。Simulink セッションを切り替えた後も最後に選択したデータの可視化が保たれます。

参照モデルを可視化するには、参照モデルからロジック アナライザーを開かなければなりません。ロジック アナライザーのツール バーに参照モデルの名前が表示されます。

解析する信号の選択

ロジック アナライザーでは、可視化するデータを選択する方法がいくつかサポートされています。

  • モデル内の信号を選択します。信号を選択すると、信号線の上に省略記号が表示されます。省略記号の上にカーソルを合わせてオプションを表示し、[データ ログを有効化] オプションを選択します。

    Part of the model showing an ellipsis above the selected signal, with the Enable Data Logging option highlighted

  • モデル内の信号を右クリックしてオプション ダイアログ ボックスを開きます。[選択した信号のログ] オプションを選択します。

    Options dialog box, with the Log Selected Signals option highlighted

  • 任意の方法を使用してモデル内の複数の信号線を選択します。たとえば、Shift キーを押しながらクリックして複数の線を個別に選択したり、Ctrl+A キーを押して一度にすべての線を選択したりします。[信号] タブで、[信号のログ] ボタンを選択します。

    Log signals button

ロジック アナライザーでデータを可視化するには、モデルの信号のログ記録を有効にしなければなりません (既定でログ記録はオン)。信号のログ記録を有効にするには、ツールストリップから [モデル設定] を開き、[データのインポート/エクスポート] ペインに移動し、[信号のログ] を選択します。

ロジック アナライザーを開くと、ログ記録用にマークが付けられたすべての信号がリストされます。開いているロジック アナライザーから波形の追加および削除を実行できます。信号を追加または削除しても、ログ記録は無効にならず、ロジック アナライザーから信号が削除されるだけです。

個々の波形設定の変更

ロジック アナライザーを開いて、波形名をダブルクリックして波形を選択します。[波形] タブから、選択した個々の波形に固有のパラメーターを設定します。グローバル設定よりも、個々の信号に対する設定の方が優先されます。個々の波形パラメーターをグローバル設定に戻すには、[リセット] をクリックします。

Logic Analyzer toolstrip open on the Wave tab

波形の削除と復元

  1. ロジック アナライザーを開いて、波形名をクリックして波形を選択します。

    Logic Analyzer view with a selected wave

  2. ロジック アナライザーのツールストリップで、Delete button in the Edit section をクリックします。ロジック アナライザーから波形が削除されます。

  3. 波形を復元するには、ロジック アナライザーのツールストリップで Restore button in the Edit section をクリックします。

    [復元済み波形] という名前のデバイダーがチャネルの下部に追加され、削除したすべての波形がその下に配置されます。

    Logic Analyzer view with an added divider

ビューの保存と復元

ロジック アナライザーの現在のビューを MLDATX ファイルとして保存し、後で開くことができます。ロジック アナライザー ビューは、データを保存せず、信号のレイアウトと外観特性を保存します。具体的には、信号名、信号グループ、デバイダー、およびそれらの設定 (順序を含む) がビューに保存されます。

このモデル例には、Sine Wave ブロックと Constant ブロックが含まれており、その出力は Add ブロックに接続されています。

Simulink model containing Sine Wave, Constant, and Add blocks

ロジック アナライザー ビューの保存

現在のビューを保存するには、次の手順に従います。

  1. ロジック アナライザーで可視化する信号をモデルで選択します。

  2. 選択した信号を記録し、ロジック アナライザー アプリを開きます。

    この例では、Sine Wave ブロック、Constant ブロック、および Add ブロックからの出力信号を記録します。

    Simulink model with logged signals

  3. [ロジック アナライザー] ツールストリップから、[ビューの保存] をクリックするか、Ctrl+S を押します。

    Logic Analyzer toolstrip with the Save View button highlighted

  4. 開いたウィンドウで、ファイルを保存するフォルダーを参照します。次に、ファイルに名前を付け、[保存] をクリックします。

    Save View window

ロジック アナライザー ビューの起動

保存したビュー ファイルを開くには、次の手順に従います。

  1. ロジック アナライザー アプリを開きます。

  2. [ロジック アナライザー] ツールストリップから、[ビューを開く] をクリックするか、Ctrl+O を押します。

    Logic Analyzer toolstrip with the Open View button highlighted

  3. 開いたウィンドウで、ビュー ファイルを保存したフォルダーを参照します。次に、ファイルを選択し、[開く] をクリックします。ロジック アナライザーによって、ビュー ファイルに由来する名前が付けられたデバイダーと、ビュー ファイルからの信号が現在のビューに追加されます。

    Logic Analyzer view with a divider named after the view file and signals from the view file

Simulink モデル内のブロックまたはサブシステムの名前を変更し、保存したロジック アナライザー ビュー ファイルを開くと、更新された信号名がファイルに表示されます。たとえば、この例のモデルでは次のようになります。

  1. Sine Wave ブロックの名前を Sine Signal に、Constant ブロックの名前を Constant Signal に変更します。

    Simulink model with the updated block names

  2. モデルをコンパイルまたはシミュレートし、保存したビュー ファイルを開きます。更新された信号名が表示されます。

    Logic Analyzer view with the updated signal names

トリガーの追加

ロジック アナライザーのトリガーを使用すると、特定の条件に基づいてデータ点を検出できます。この機能は、特定の信号の変化を検出する必要がある場合、デバッグやテストに便利です。

  1. ロジック アナライザーを開いて、[トリガー] タブを選択します。

    Logic Analyzer open on the Trigger tab

  2. 信号をトリガーに接続するには、[信号を接続] を選択し、トリガーをオンにする信号を選択します。最大 20 の信号をトリガーに接続できます。各信号はトリガー条件を 1 つのみもつことができます。

  3. 既定の設定では、トリガーは接続された信号の立ち上がりエッジを探します。立ち上がりエッジ、立ち下がりエッジ、ビット シーケンスまたは比較値を探すようにトリガーを設定できます。トリガー条件を変更するには、[条件設定] を選択します。

    複数の信号をトリガーに追加した場合、[演算子] オプションを使用してトリガー ロジックを制御できます。

    • AND - すべての条件に一致。

    • OR - いずれかの条件に一致。

  4. サンプルをいくつ表示した後でトリガーするかを制御するには、[表示サンプル] オプションを設定します。たとえば、このオプションを 500 に設定すると、ロジック アナライザーは 500 サンプル後にトリガーしようとします。シミュレーションによっては、ロジック アナライザーがトリガー前に表示するサンプルは 500 より多かったり少なかったりします。ただし、500 番目のサンプルの前にこのトリガーが検出された場合でも、ロジック アナライザーはトリガーを表示します。

  5. [表示モード] を使用してトリガー モードを制御します。

    • 1 回のみ - ロジック アナライザーはトリガー条件に一致する最初の場所のみをマークし、ロジック アナライザーへの更新の表示を停止します。トリガーをリセットする場合は、[トリガーをリセット] を選択します。現在のシミュレーション時間に対して、ロジック アナライザーは一致する次のトリガー イベントを表示します。

    • 自動 - ロジック アナライザーはトリガー条件に一致するすべての場所をマークします。

  6. シミュレーションを実行する前に、[トリガーを有効にする] を選択します。青いカーソルが時間 0 として表示されます。次にシミュレーションを実行します。トリガーが検出されると、ロジック アナライザーはその場所をロックされた青いカーソルでマークします。

マルチ参照 Model ブロックの表示インスタンスの選択

ロジック アナライザーでは、マルチインスタンスの Model ブロックの単一インスタンスのみをストリーミングできます。同じモデルを複数の異なるウィンドウで開くと、それらのモデルで同じロジック アナライザーが共有されます。この例では、ロジック アナライザーでのログ記録用にマルチインスタンス Model ブロックのインスタンスを選択する方法を示します。

multipleModelInstances モデルを開きます。

open_system('multipleModelInstances')

このモデルには、referencedModel モデルの 3 つのインスタンスが含まれています。

いずれかの Model ブロックをダブルクリックして、3 つすべての Model ブロックが参照するモデルを開きます。

open_system('referencedModel')

参照モデルで、Simulink エディター メニューの [シミュレーション] タブの [結果の確認] ギャラリーを展開し、[ロジック アナライザー] を開きます。ロジック アナライザーのツール バーに referencedModel - [multipleModelInstances] と表示されます。

[ロジック アナライザー] ウィンドウからモデルを実行します。referencedModel の参照バージョンからシミュレーションを実行すると、Simulink で最上位モデル (multipleModelInstances) と参照モデル (referencedModel) が実行されます。ロジック アナライザーに、マルチインスタンス Model ブロックの単一インスタンスが表示されます。

シミュレーションを実行すると、ロジック アナライザーのツール バーに表示されているモデルが実行されます。このモデルが参照モデルである場合、ツール バーには最上位モデルもリストされ、最上位モデルを実行した結果が表示されます。参照モデルの結果を分離して表示するには、参照モデルを最上位モデルとして開かなければなりません。

インスタンスを切り替えるには、Simulink エディター メニューの [シミュレーション] タブから [準備] ギャラリーを展開します。[信号の監視][ノーマル モードの可視性] を選択し、[Model ブロックのノーマル モードの可視性] を開きます。multipleModelInstances を展開し、[Model Instance 3] を選択して [OK] をクリックします。

multipleModelInstances モデルを再実行します。ロジック アナライザーModel Instance 3 のデータが表示されます。

ビット拡張される波形の表示とビットの表示順序の反転

ロジック アナライザーでは、固定小数点と整数の波形をビット拡張できます。

Logic Analyzer view shows a 16-bit fixed-point signal

  1. ロジック アナライザーでビットを表示するには、固定小数点または整数の波形の隣にある矢印をクリックします。

    最下位ビットと最上位ビットは、波形名の隣に lsb および msb の表示によってマークされます。

    A bit-expanded signal, with the most significant bit wave on top

  2. 表示されるビットの順序を反対にするには、[設定] をクリックし、[最初に最下位ビットを表示] を選択します。

    A bit-expanded signal, with the least significant bit wave on top

トリガーを追加して書き込み処理を検証する

この例では、トリガーを使用して信号が設計と一致していることを検証する方法を示します。

  1. プログラミング可能 FIR フィルター モデル (dspprogfirhdl) を開きます。

    Programmable FIR Filter model

  2. ロジック アナライザーを開いて、[トリガー] タブを選択します。

  3. トリガーを追加するために、ツールストリップの [信号を接続] を選択して、Write En 書き込みイネーブル信号を接続します。信号名の前にアイコンが表示され、信号がトリガーに接続されたことが示されます。アイコンはトリガーの種類に応じて変化します。

  4. [条件設定] を選択し、Write En 信号のトリガー条件を [立ち下がりエッジ] に変更します。書き込みイネーブル信号が送信されるとトリガーが表示されます。

  5. Write Done 信号をトリガーに接続します。この信号のトリガー条件を既定の設定である [立ち上がりエッジ] のままにします。これで書き込みが完了したときにもトリガーが表示されます。

    [条件設定] ドロップ ダウンを開くと、[演算子] フィールドが表示されます。このフィールドは、複数の信号がトリガーに接続されている場合に表示されます。演算子を [OR] に変更して、書き込みの開始時または完了時にトリガーによってインスタンスが表示されるようにします。

    Set Conditions drop down

  6. [表示モード][自動] に設定します。この設定により、ロジック アナライザーはトリガー条件が満たされるすべての場所をマークします。

  7. [トリガーを有効にする] を選択してシミュレーションを実行します。

    トリガー条件が満たされるたび、ロジック アナライザーはその時間をロックされた青いカーソルでマークします。マークされたそれぞれの場所で、Write En0Write Done1 です。トリガーによってマークされたそれぞれの場所を調べると、書き込みが送信されるたびに完了もしていることを確認できます。

    Logic Analyzer view with a locked blue cursor at 243 s, when Write En is 0 and Write Done is 1

ロジック アナライザーによる Stateflow の状態の表示

ロジック アナライザーを使用して、時間の経過に伴う遷移と状態の変化を可視化および測定します。ロジック アナライザーを使用すると、次のものを可視化できます。

  • チャートからの出力データ

  • チャートの子ステートとリーフ ステートのアクティビティ

  • 状態の自己ステート、子ステート、およびリーフ ステートのアクティビティ

時間の経過に伴う出力の変化を測定して、トリガーを追加し、指定したイベントにおける出力値を特定することができます。

ログ記録用の信号と状態の追加

この例では、ロジック アナライザーを使用して、モデル sf_car におけるエンジン RPM、トランスミッションと車両速度、およびギア状態の挙動を可視化します。

  1. モデル sf_car を開きます。

    openExample("sf_car")

    Model diagram for the sf_car model.

  2. Simulink エディターで、engine RPM 信号をクリックします。次に、[シミュレーション] タブで [信号のログ] を選択します。

    Logging badge on the output signal engine RPM.

    ログ記録バッジ が信号の上に表示されます。これは、モデルの実行時に信号のデータがログに記録されることを示しています。

  3. transmission speed 信号と vehicle speed 信号に対し、前の手順を繰り返します。

  4. ブロックの左下隅にある矢印をクリックして、shift_logic チャートを開きます。

    Stateflow chart shift_logic in the model sf_car.

  5. 状態 gear_state を選択します。次に、[シミュレーション] タブで [子アクティビティのログ記録] をクリックします。ログ記録バッジ が状態の隅に表示されます。

ロジック アナライザーによるログ出力の表示

  1. モデルをシミュレートします。

  2. [シミュレーション] タブの [結果の確認] で、ロジック アナライザー を選択します。モデルをシミュレートすると、アイコンが強調表示されます。これは、ロジック アナライザーに新しいシミュレーション データがあることを示しています。

  3. [ロジック アナライザー] ウィンドウで黄色のカーソルをドラッグし、シミュレーションのさまざまなポイントでの信号値を確認します。たとえば、車のギアが変わるとエンジン RPM がどう反応するかを見ることができます。詳細については、Inspect and Measure Transitions Using the Logic Analyzerを参照してください。

    Simulation output as displayed in the Logic Analyzer

関連する例

制限

ログ設定

  • コンフィギュレーション パラメーター [データのログを作成] (Simulink) を有効にすると、ログ データをロジック アナライザーにストリーミングできません。

  • Simulink.sdi.markSignalForStreaming (Simulink) を使用してログ記録用のマークが付けられた信号と、Dashboard Scope (Simulink) で可視化された信号は、ロジック アナライザーには表示されません。

  • [データ ストア データのログ] パラメーターをオンに設定した場合、ロジック アナライザーでは Data Store Memory (Simulink) ブロックの信号を可視化できません。

入力信号の制限

  • ロジック アナライザーでのログ記録用のマークが付けられた信号では、シミュレーション ステップあたりのサンプル数が 8000 未満でなければなりません。

  • ロジック アナライザーではフレームベースの処理はサポートされません。

  • 64 ビット整数および 53 ビットを超える 固定小数点数については、数値が倍精度の最大値より大きい場合、数値間の遷移が正しく表示されない可能性があります。結果を確認するには、信号のログを有効にするか、Display ブロックを使用します。

  • 大きい行列 (500 を超える要素) の場合と 1000 を超える信号があるバスの場合、ロジック アナライザーのパフォーマンスが低下する可能性があります。

  • ロジック アナライザー アプリでは Stateflow® データ出力はサポートされません。

  • ロジック アナライザー アプリでは Inf および NaN の値に対する波形は表示されません。

グラフィカル設定

  • シミュレーションの実行中は、トリガーのズーム、パン、変更を行うことはできません。

  • 定数信号を可視化するには、設定で [形式][デジタル] に設定しなければなりません。ログ記録用のマークが付けられた定数は、連続遷移として可視化されます。

Modeサポートあり注意と制限

ノーマル

あり

 

アクセラレータ

あり

ロジック アナライザーを使用して、[シミュレーション モード][アクセラレータ] に設定された Model (Simulink) ブロックの信号を可視化することはできません。

ラピッド アクセラレータ

あり

シミュレーション中にロジック アナライザーでデータは利用できません。

シミュレーション モードがラピッド アクセラレータに設定されたモデルをシミュレートする場合、以下の信号はシミュレーション後にロジック アナライザーで可視化できません。

  • 複数インスタンスのモデル参照信号

  • 非バーチャル バス信号

プロセッサインザループ (PIL)

なし

 

ソフトウェアインザループ (SIL)

なし

 

エクスターナル

なし

 

これらのモードの詳細については、アクセラレータ モードの動作 (Simulink)を参照してください。

バージョン履歴

R2016b で導入

参考

オブジェクト