Main Content

トリガーを使用したデータ ストリーミングの表示の制御

"トリガー" は、ストリーミング信号のプロットを描画するタイミングを決定するイベントです。トリガー設定では、トリガー イベントの基準および更新されたデータ内でのトリガー イベントの表示場所を指定します。トリガーを使用すると、信号における過渡的な変化を把握し、定常状態の周期信号の表示を安定化できるため、ストリーミング データの表示と解析が容易になります。トリガーを使用して、Scope ブロックやシミュレーション データ インスペクターなど、複数のツールを使ってストリーミング データを検査できます。この例ではシミュレーション データ インスペクターを使用して、モデルのシミュレーションからの信号のストリーミングに対してトリガーを追加、構成、および変更します。

メモ

以下の例ではシミュレーション データ インスペクターでプロットされる信号にトリガーを追加します。ただし、プロットされていないアクティブなシミュレーションからの信号にトリガーを追加できます。

すべてのトリガー タイプとオプションの詳細については、スコープの [トリガー] パネルを参照してください。

モデルの確認

この例のモデルでは、ログに記録された出力信号が 2 つ生成されます。どちらの信号も、スイッチを通じて Sine Wave ブロックの出力を渡して作成されます。どちらのスイッチも、制御信号が 0 より大きくなったときに正弦信号が通過できるように構成されています。最初の出力のスイッチは、Push Button ブロックを使用して指定されるユーザー入力で制御されます。2 つ目の出力のスイッチは Pulse Generator ブロックの出力で制御されます。

このモデルはシミュレーションのペーシングを使用しているため、モデル動作と信号表示はユーザー操作に反応します。[実行] をクリックしてシミュレーションを開始します。次に、[データ インスペクター] をクリックしてシミュレーション データ インスペクターを開きます。シミュレーション データ インスペクターで、レイアウトを変更して 2 つのサブプロットを表示します。上部のサブプロットに User-Controlled Output 信号をプロットし、下部のサブプロットに User Input 信号をプロットします。シミュレーション全体を通じて定期的に Push Button ブロックを押したまま、Sine Wave ブロック出力を Outport ブロックに渡します。

トリガー イベントの対話的な生成

シミュレーション時間全体にわたって信号を表示すると、正弦波の特性が分かりにくくなります。トリガーを使用してプロットの更新タイミングを制御する場合は、短い時間におけるストリーミング データを表示することができ、正弦波が分かりやすくなります。トリガーを使用すると、短い時間の対象信号動作を表示できます。この例では、Push Button ブロックを押したときの出力信号の変化を確認します。

ボタンの押下に基づいてプロットの更新をトリガーするには、トリガーを User Input 信号に追加します。トリガーを追加するには、シミュレーション データ インスペクターの User Input 信号の行で一時停止し、表示されるトリガー アイコンをクリックします。

The trigger icon appears when you pause on a signal name in the signal table.

[トリガーの表示] ダイアログの既定の設定では、自動レベルの立ち上がりエッジ トリガーが設定され、トリガー イベントは表示されるデータの中央に配置されています。[モード][ノーマル] に変更してから、[自動レベル] チェック ボックスをオフにし、[レベル]0.5 に設定します。次に、[追加] をクリックします。

The Display Trigger menu

トリガーにノーマル モードを使用すると、トリガーが発生したときにのみプロットが更新されます。自動モードでは、時間範囲においてトリガーが検出されないときにも表示が更新されます。トリガー レベルを 0.5 にすると、そのレベルが信号範囲の中央に置かれます。

モデルをシミュレーションする前に、プロットに表示される時間範囲を調整します。右上の [可視化設定] をクリックします。次に、[時間範囲]50 に設定します。

モデルをシミュレートして、シミュレーション データ インスペクターでストリーミング信号を表示します。新しいシミュレーションを開始すると、シミュレーション データ インスペクターで設定されたトリガーが、現在のシミュレーションの対応する信号に自動的に転送されます。モデルで Push Button ブロックを押して発生させるトリガー イベントに反応して表示が更新されます。時間の範囲を短くして、出力信号の正弦波の形状を確認することができます。トリガーの位置とレベルは、緑の三角形でマークされます。トリガー マーカーをクリックしてドラッグし、レベルと位置を調整できます。ドラッグした後にマーカーを離すと、レベルまたは位置に新しい値が適用されます。

The Inspect pane of the Simulation Data Inspector with a 2x1 grid of subplots. In the upper subplot is the User-Controlled Output signal. In the lower subplot is the User Input signal. The display updates are determined by the trigger.

この構成を試して、さまざまな種類のトリガーやトリガー設定をテストします。たとえば、立ち下がりエッジのトリガーを使用してみます。モデルでシミュレーション ペーシングを調整して、タイミングがトリガーの動作にどのように影響するか確認することもできます。トリガーが発生すると、シミュレーション データ インスペクターはプロットを更新する前に表示するすべてのデータを収集します。シミュレーション ペーシングを、シミュレーション 1 秒でクロック時間で 1 秒かかるレート近くまで下げると、Push Button ブロックを押してトリガーを発生させてからシミュレーション データ インスペクターでプロットが更新されるまでに遅延が生じる場合があります。

信号の過渡応答の取得

トリガーを使用すると、テスト中のシステムの変化に対する過渡信号の応答を取得できます。たとえば、インバーターの出力信号の立ち上がり時間または立ち下り時間を測定する場合、トリガーとしてインバーターに対する入力信号を使用できます。表示はトリガーが発生したときにのみ更新されるため、データは測定に適した長さで表示されます。トリガー イベントを対話式に生成する場合、ユーザー入力に応じた出力信号の過渡応答を取得します。多くの場合、システムにはユーザー入力がなく、Pulse-Controlled Output 信号を生成するスイッチを制御する Pulse 信号など、上流の信号の変化に応答します。

シミュレーション データ インスペクターでトリガーを Pulse 信号に追加します。この場合もレベルを 0.5 にして、ノーマル モードで立ち上がりエッジ トリガーを使用します。表示された警告ダイアログで [トリガーの追加] をクリックします。

モデルをシミュレートする前に、プロットを更新して Pulse-Controlled Output が上部プロットに表示され、Pulse 信号が下部のプロットに表示されるようにします。

モデルをシミュレートします。このシミュレーションではシミュレーション データ インスペクターの表示の更新はユーザー入力でトリガーされないため、Push Button ブロックを押す必要はありません。Pulse-Controlled Output 信号と前のシミュレーションの User-Controlled Output 信号との違い、および周期的な Pulse 信号に反応して発生するプロットの更新を確認します。

The Inspect pane of the Simulation Data Inspector with a 2x1 grid of subplots. In the upper subplot is the Pulse-Controlled Output signal. In the lower subplot is the Pulse signal. The display updates are determined by the trigger.

Pulse 信号のパルス幅または期間を調整して、追加のシミュレーションで実験することができます。パルス幅トリガーなど、さまざまなタイプのトリガーを試してみることもできます。

定常状態の周期信号の安定化

トリガーを使用して、表示および解析する定常状態の周期信号の表示を安定化できます。トリガー イベントは常にプロットの安定位置にあるため、ストリーミング周期信号は、シフトまたはスクロールしなくても、プロットに表示されます。表示が安定している場合、周波数や振幅など信号の特性を検査および解析することができます。

トリガーが周期信号の表示をどう安定化できるのかを確認するには、Sine Wave 信号を使用して表示の更新をトリガーします。同じ設定を使用し、レベルを 0.5 として立ち上がりエッジ トリガーをノーマル モードで設定します。

シミュレーションの前に、プロット レイアウトを更新して単一プロットを表示します。Sine Wave 信号をプロットし、[時間範囲]10 に設定します。

モデルをシミュレートします。シミュレーション中に、シミュレーション データ インスペクターでカーソルを追加し、信号の振幅と期間を測定できます。

The Sine Wave signal plotted using triggers. Two cursors are used to inspect the data.

対比するには、トリガーを削除し、モデルをもう一度シミュレートします。表示の更新方法の違いに注目してください。[更新モード][ラップ] に設定し、その後 [スクロール] に設定してシミュレーションを試します。[可視化設定] [更新モード] を指定します。

関連するトピック