Simulink.sdi.addTrigger
説明
Simulink.sdi.addTrigger(
はノーマル モードおよび自動レベルを使用した立ち上がりエッジ トリガーを、sig
)Simulink.sdi.Signal
オブジェクト sig
に追加します。トリガーは、信号のストリーミング用の新しいデータを表示するためにシミュレーション データ インスペクターのプロットが更新されるタイミングを決定します。
Simulink.sdi.addTrigger(
は、1 つ以上の名前と値のペアの引数によって指定されたトリガー設定をもつ指定された信号にトリガーを追加します。たとえば、sig
,Name,Value
)'Mode','Normal'
はトリガーのノーマル モード動作を構成します。シミュレーション データ インスペクターのトリガーは、Scope ブロックのトリガーと同じように動作します。トリガー タイプと設定の詳細については、スコープの [トリガー] パネルを参照してください。
例
シミュレーション データ インスペクターでのプログラムによるトリガーの構成
シミュレーション データ インスペクターの信号にトリガーを追加し、新しいデータを表示するためにプロットを更新するタイミングを決定する基準を指定します。トリガーにより過渡信号の動作を取得し、周期信号の表示を安定させて測定を行うことができます。
Triggers
モデルのシミュレーションを実行します。モデル内のデータはシミュレーション データ インスペクターに記録されます。
open_system('Triggers'); out = sim('Triggers');
次に、トリガーを Pulse
信号に追加します。トリガーを 0.5
のしきい値をもつ立ち下がりエッジ トリガーとして構成します。
trigRun = Simulink.sdi.getCurrentSimulationRun('Triggers'); pulseSig = getSignalsByName(trigRun,'Pulse'); Simulink.sdi.addTrigger(pulseSig,'Type','Edge','Level',0.5);
Simulink.sdi.view
を使用してシミュレーション データ インスペクターを開き、Pulse
信号の横にあるトリガー アイコンをクリックして構成を確認することにより、このトリガーが追加され、正しく構成されていることを確認できます。関数 Simulink.sdi.getTrigger
を使用して、トリガー イベントおよびトリガー構成の生成に使用される信号を確認することもできます。
[sig,trigOpts] = Simulink.sdi.getTrigger; sig.Name
ans = 'Pulse'
trigOpts
trigOpts = struct with fields:
Mode: 'Auto'
Type: 'Edge'
Position: 0.5000
Delay: 0
SourceChannelComplexity: 'Scalar'
Polarity: 'Positive'
AutoLevel: 1
Level: 0.5000
UpperLevel: 0
LowerLevel: 4.6673e-62
Hysteresis: 0
MinTime: 0
MaxTime: Inf
Timeout: 0
Holdoff: 0
シミュレーション データ インスペクターが新しいデータでプロットを更新するタイミングを制御するためにトリガーを使用しない場合は、関数 Simulink.sdi.removeTrigger
を使用してトリガーを削除できます。
Simulink.sdi.removeTrigger
シミュレーション データ インスペクターの UI または関数 Simulink.sdi.getTrigger
を使用して、トリガーが削除されたことを確認できます。関数 Simulink.sdi.getTrigger
は、シミュレーション データ インスペクターで構成されているトリガーがない場合に、Simulink.sdi.Signal
オブジェクトの空の配列を返します。
sig = Simulink.sdi.getTrigger; size(sig)
ans = 1×2
0 0
入力引数
sig
— トリガーイベントの検出に使用される信号
Simulink.sdi.Signal
オブジェクト
トリガーイベントの検出に使用される信号。Simulink.sdi.Signal
オブジェクトとして指定します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。
R2021a より前は、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: 'Type','PulseWidth','Polarity','Falling'
は立ち下がりエッジの自動レベルのトリガーを自動モードで構成します。
Mode
— トリガー イベントに応答して表示が更新されるタイミング
Auto
(既定値) | Normal
| Once
トリガー イベントに応答して表示が更新されるタイミング。'Mode'
と次のいずれかのオプションで構成されるコンマ区切りのペアとして指定します。
Auto
— 各トリガー イベントに応答してプロットは更新され、表示される時間範囲にわたりトリガー イベントが発生しない場合、プロットは更新されます。Normal
— 各トリガー イベントに応答してプロットは更新されます。Once
— 最初のトリガー イベントに応答してプロットは更新されます。シミュレーション データ インスペクターを使用してトリガーを手動でリセットできます。
例: 'Mode','Normal'
はノーマル モードを使用するようにトリガーを構成します。
Position
— トリガー イベントがプロットに表示される場所
50
(既定値) | 数値のパーセンテージ
トリガー イベントがプロットに表示される場所。'Position'
と数値のパーセンテージで構成されるコンマ区切りのペアとして指定します。既定の設定では、トリガー イベントは、0.5
の位置、または時間範囲内の 50%
の位置で、プロットの中央に表示されます。
例: 'Position',.3
はトリガー イベントを時間範囲内の 30%
の位置に配置します。
Type
— 信号に追加するトリガーのタイプ
Edge
(既定値) | PulseWidth
| Transition
| Runt
| Window
| Timeout
信号に追加するトリガーのタイプ。'Type'
と次のいずれかのオプションで構成されるコンマ区切りのペアとして指定します。
Edge
— 信号がしきい値を横切るときにトリガーします。PulseWidth
— 指定した時間内に信号が下方しきい値と上方しきい値間を 2 回横切るときにトリガーします。Transition
— 指定した時間内に信号が上方しきい値と下方しきい値を横切るときにトリガーします。Runt
— 指定した時間内に信号が下方しきい値または上方しきい値を 2 回横切るときにトリガーします。Window
— 上方しきい値と下方しきい値で定義される範囲の内部または外部に信号が指定した期間とどまったときにトリガーします。Timeout
— 信号が指定した時間より長い間しきい値より高いまたは低い状態を維持したときにトリガーします。
トリガーの各タイプに対するオプションの詳細については、スコープの [トリガー] パネルを参照してください。
例: 'Type','PulseWidth'
はパルス幅トリガーを構成します。
Polarity
— トリガー イベントを発生させる信号値の方向の変更
トリガー タイプの有効な極性
トリガー イベントを発生させる信号値の方向の変更。'Polarity'
とトリガー タイプに対する有効な極性で構成されるコンマ区切りのペアとして指定します。
トリガー タイプ | 極性オプション |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
例: 'Type','Edge','Polarity','Rising'
は立ち上がりエッジ トリガーを構成します。
AutoLevel
— 自動的にトリガー レベルを決定するかどうか
true
または 1
(既定値) | false
または 0
自動的にトリガー レベルを決定するかどうか。'AutoLevel'
および true
または false
で構成されるコンマ区切りのペアとして指定します。
トリガーのしきい値を指定する場合は、'AutoLevel'
を false
として指定します。
例: 'AutoLevel',false
はユーザー指定レベルを使用するようにトリガーを構成します。
Level
— トリガー イベントのしきい値
数値スカラー
トリガー イベントのしきい値。'Level'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。
'Level'
の名前と値のペアを指定できるのは、'Type'
の名前と値のペアを 'Edge'
または 'Timeout'
として指定する場合のみです。
例: 'Type','Timeout','Level','0.5'
は 0.5
のしきい値をもつタイムアウト トリガーを構成します。
Hysteresis
— トリガー イベントを発生させるためにしきい値の前後で必要な信号値の変化
数値スカラー
トリガー イベントを発生させるためにしきい値の前後で必要な信号値の変化。'Hysteresis'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。トリガーに対してヒステリシスを指定すると、トリガー イベントに対するノイズ除去が発生します。
'Hysteresis'
の名前と値のペアを指定できるのは、'Type'
の名前と値のペアを 'Edge'
または 'Timeout'
として指定する場合のみです。
例: 'Type','Timeout','Hysteresis','0.05'
はトリガー イベントを発生させるためにしきい値の前後で信号値が 0.05
を超えて変化する必要があるタイムアウト トリガーを構成します。
UpperLevel
— トリガー イベントの上限しきい値
数値スカラー
トリガー イベントの上限しきい値。'UpperLevel'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。
'UpperLevel'
の名前と値のペアを指定できるのは、'Type'
の名前と値のペアを 'PulseWidth'
、'Transition'
、'Runt'
、または 'Window'
として指定する場合のみです。
例: 'Type','PulseWidth','UpperLevel','0.9'
は 0.9
の上限しきい値をもつパルス幅トリガーを構成します。
LowerLevel
— トリガー イベントの下限しきい値
数値スカラー
トリガー イベントの下限しきい値。'LowerLevel'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。
'LowerLevel'
の名前と値のペアを指定できるのは、'Type'
の名前と値のペアを 'PulseWidth'
、'Transition'
、'Runt'
、または 'Window'
として指定する場合のみです。
例: 'Type','PulseWidth','LowerLevel','0.1'
は 0.1
の下限しきい値をもつパルス幅トリガーを構成します。
MinTime
— トリガー イベントの時間の下限
数値スカラー
トリガー イベントの時間の下限。'MinTime'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。'MinTime'
の名前と値のペアを指定できるのは、'Type'
の名前と値のペアを 'PulseWidth'
、'Transition'
、'Runt'
、または 'Window'
として指定する場合のみです。時間の下限の重要性はトリガーのタイプによって異なります。
'PulseWidth'
— トリガー イベントの最小パルス幅。'Transition'
— トリガー イベントの最小立ち上がり時間または最小立ち下がり時間。'Runt'
— トリガー イベントの最小パルス幅。'Window'
— トリガー イベントの値の範囲内または範囲外で費やされた最小時間。
例: 'Type','PulseWidth','MinTime','0.1'
は 100ms
の最小パルス幅をもつパルス幅トリガーを構成します。
MaxTime
— トリガー イベントの時間の上限
数値スカラー
トリガー イベントの時間の上限。'MaxTime'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。'MaxTime'
の名前と値のペアを指定できるのは、'Type'
の名前と値のペアを 'PulseWidth'
、'Transition'
、'Runt'
、または 'Window'
として指定する場合のみです。時間の上限の重要性はトリガーのタイプによって異なります。
'PulseWidth'
— トリガー イベントの最大パルス幅。'Transition'
— トリガー イベントの最大立ち上がり時間または立ち下がり時間。'Runt'
— トリガー イベントの最大パルス幅。'Window'
— トリガー イベントの値の範囲内または範囲外で費やされた最大時間。
例: 'Type','PulseWidth','MaxTime','0.5'
は 500ms
の最大パルス幅をもつパルス幅トリガーを構成します。
Timeout
— タイムアウト トリガーの時間のしきい値
数値スカラー
タイムアウト トリガーの時間のしきい値。'Timeout'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。
'Timeout'
の名前と値のペアを指定できるのは、'Type'
の名前と値のペアを 'Timeout'
として指定する場合のみです。
例: 'Type','Timeout','Timeout','0.5'
は信号が 500ms
より長い間しきい値より高いまたは低い状態を維持したときにイベントを発生させるタイムアウト トリガーを構成します。
Delay
— トリガー位置からのトリガー イベント オフセット
数値スカラー
トリガー位置からのトリガー イベント オフセット。'Delay'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。
例: 'Type','Edge','Delay','0.1'
はトリガー イベントの後にトリガー位置マーカーが 100ms
に表示されるエッジ トリガーを構成します。
Holdoff
— トリガー イベント間の最小時間
数値スカラー
トリガー イベント間の最小時間。'Holdoff'
と数値スカラーで構成されるコンマ区切りのペアとして指定します。トリガー イベントの後、少なくともホールドオフ時間の間、表示は再び更新されません。
例: 'Type','Edge','Holdoff','1'
は 1s
のホールドオフをもつエッジ トリガーを構成します。トリガー イベントの後、少なくとも 1s
の間、表示は更新されません。
代替機能
トリガーを信号に追加して、シミュレーション データ インスペクター UI を使用してトリガー オプションを構成できます。詳細については、トリガーを使用したデータ ストリーミングの表示の制御を参照してください。
バージョン履歴
R2020b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)