Main Content

Trigger

サブシステムまたはモデルにトリガー端子または関数端子を追加

  • Trigger block

ライブラリ:
Simulink / Ports & Subsystems
HDL Coder / Ports & Subsystems

説明

Trigger ブロックは、外部信号またはメッセージ端子を追加して、サブシステムまたはモデルの実行を制御します。この機能を有効にするには、このブロックを Subsystem ブロックに追加するか、Model ブロック内で参照されるモデルのルート レベルに追加します。

その後、サブシステムまたはモデルを実行するように Trigger ブロックを構成します。

  • 制御信号の値が指定した方法で変更されたときに、各タイム ステップで 1 回実行。

  • 制御信号が Stateflow® チャート、Function-Call Generator ブロックまたは S-Function ブロックからの関数呼び出しイベントである場合、1 つのタイム ステップ中に複数回実行。

  • 制御端子で受信したメッセージに基づく。

端子

出力

すべて展開する

[トリガー タイプ][立ち上がり][立ち下がり][両方] または [関数呼び出し] の場合、端子はスカラーまたはベクトルとして返される制御信号を識別する値を出力します。入力信号の各要素について、特定のタイム ステップでの値は次のとおりです。

  • トリガー信号が正の方向でゼロを横切る瞬間は 1

  • トリガー信号が負の方向でゼロを横切る瞬間は -1

  • 関数呼び出しイベントの場合は 2

  • それ以外の場合は 0

[トリガー タイプ][メッセージ] の場合、端子は制御端子で受信したメッセージから抽出したデータを出力します。

依存関係

この端子を有効にするには、[出力端子の表示] を選択するか、[トリガー タイプ] リストから [メッセージ] を選択します。

データ型: double | int8

パラメーター

すべて展開する

メイン

サブシステムまたはモデルを実行する制御信号のタイプを選択します。

立ち上がり

制御信号が負の値またはゼロから正の値に立ち上がると、サブシステムまたはモデルの実行がトリガーされます。初期値が負の場合は、ゼロへの立ち上がり信号で実行がトリガーされます。

立ち下がり

制御信号が正の値またはゼロから負の値に立ち下がると、サブシステムまたはモデルの実行がトリガーされます。初期値が正の場合は、ゼロへの立ち下がり信号で実行がトリガーされます。

両方

制御信号が立ち上がる、または立ち下がると、サブシステムまたはモデルの実行がトリガーされます。

関数呼び出し

制御端子が Stateflow チャート、Function-Call Generator ブロック、S-Function ブロック、または Hit Crossing ブロックから関数呼び出しイベントを受け取ったとき、サブシステムまたはモデルを実行します。

メッセージ

メッセージが制御端子で使用可能な場合にサブシステムの実行をトリガーします。

メモ

[トリガー タイプ][メッセージ] に設定されている場合、ブロックはサブシステム内に配置されている必要があります。

プログラムでの使用

ブロック パラメーター: TriggerType
型: 文字ベクトル
値: 'rising' | 'falling' | 'either' | 'function-call' | 'message'
既定の設定: 'rising'

このパラメーターを選択して、関数の呼び出し元からの引数を使用して呼び出し可能な Subsystem ブロックを構成することで、Simulink Function ブロックを作成します。Trigger ブロックはサブシステム内に存在していなければなりません。ブロック上に表示される関数プロトタイプを編集することで、ブロックの入力引数と出力引数を指定できます。

コンフィギュレーションを削除するには、このパラメーターの選択を解除します。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択します。

プログラムでの使用

ブロック パラメーター: IsSimulinkFunction
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

この Trigger 端子ブロックを含むサブシステムに対して Simulink Function ブロックを非同期で実行するかどうかを指定します。

  • 呼び出し元 (クライアント) が関数 (サーバー) を呼び出す要求を行う "非同期実行" をモデル化するには、このチェック ボックスをオンにします。関数は、スケジュール エディターで定義されている順序に基づいて実行され、出力引数を呼び出し元に返します。

  • 呼び出し元が関数を呼び出し、関数が直ちに実行されて出力引数を呼び出し元に返す "同期実行" をモデル化するには、このチェック ボックスをオフにします。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択し、[Simulink 関数として扱う] パラメーターを選択します。[関数の可視性] リストから [端子] を選択します。

プログラムでの使用

ブロック パラメーター: AsynchronousFunction
: 文字ベクトル
: 'on' | 'off'
既定の設定: 'off'

Simulink Function ブロックの関数名を指定します。あるいは、ブロック上で関数プロトタイプを編集することで名前を指定できます。

f

Simulink Function ブロックの既定の名前。

関数名

Simulink Function ブロック上に表示される関数名。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択し、[Simulink 関数として扱う] チェック ボックスをオンにします。

プログラムでの使用

ブロック パラメーター: FunctionName
型: 文字ベクトル
: 'f' | '<function name>'
既定の設定: 'f'

サブシステムまたはモデル内の Simulink Function ブロックのスコープを設定します。

スコープ内

関数のアクセス可能性の範囲を次のように制限します。

  • Simulink Function ブロックと下位レベルを含む階層レベル。

  • 1 つ上の制限付き階層レベル。

グローバル

モデルの階層構造のいずれの部分からも関数にアクセスできます。

端子

Function Element ブロックで作成された関数端子のエクスポートによってのみ関数にアクセスできます。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択し、[Simulink 関数として扱う] チェック ボックスをオンにします。

プログラムでの使用

ブロック パラメーター: FunctionVisibility
型: 文字ベクトル
値: 'scoped' | 'global' | 'port'
既定の設定: 'scoped'

端子の可視性が指定された Simulink Function ブロックには、関数の呼び出しが可能な Function Element ブロックによって作成された関数端子のエクスポートの名前を指定します。

例: 'ServerPort'

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択し、[Simulink 関数として扱う] チェック ボックスをオンにします。[関数の可視性] リストから [端子] を選択します。

プログラムでの使用

ブロック パラメーター: ScopeName
型: 文字ベクトル
値: 'PortName'
既定の設定: ''

[バリアント制御] パラメーターで定義したバリアント制御 (条件) の有効化を制御します。

サブシステムのバリアント制御をアクティブにするには、このパラメーターを選択します。このパラメーターを選択すると以下のようになります。

  • [バリアント制御] パラメーターが有効になります。

  • バリアント条件が有効になっていることを示すバリアント バッジ がブロック上に表示されます。

サブシステムのバリアント制御を非アクティブにするには、このパラメーターの選択を解除します。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択し、[Simulink 関数として扱う] チェック ボックスをオンにします。

プログラムでの使用

ブロック パラメーター: Variant
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'on'

式が true と評価された場合にバリアント Simulink Function ブロックを実行するバリアント制御 (条件) 式を指定します。

(inherit)

バリアント制御の既定の値。モデル内の対応する Function Caller ブロックからバリアント条件を継承します。[バリアント制御][(inherit)] として設定されている場合、[プリプロセッサの条件を生成] の値はモデル内の Function Caller ブロックから自動的に継承されます。

論理式

論理式を表す論理 (boolean) 式または Simulink.Variant オブジェクト。

関数は、式が true に評価される場合に有効になります。

モデルのコードを生成する場合、式の変数を Simulink.Parameter オブジェクトとして定義します。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択し、[Simulink 関数として扱う] チェック ボックスをオンにしてから [バリアント条件を有効にする] チェック ボックスをオンにします。

プログラムでの使用

ブロック パラメーター: VariantControl
型: 文字ベクトル
値: '(inherit)'|<logical expression> | Simulink.Variant object
既定の設定: '(inherit)'

C プリプロセッサ条件付きステートメント内でのバリアント選択肢の囲みを制御します。

このパラメーターを選択して、ERT ターゲットのコードを生成するときに、バリアント選択肢を C プリプロセッサ条件付きステートメント (#if) 内で囲みます。

依存関係

このパラメーターを表示および有効にするには、[バリアント条件を有効にする] チェック ボックスをオンにします。

プログラムでの使用

ブロック パラメーター: GeneratePreprocessorConditionals
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

サブシステムまたはモデルが無効になっているときにブロック状態値を設定する方法を説明します。

保持

ブロックの状態を現在の値のままにします。

リセット

ブロック状態値をリセットします。

継承

関数呼び出しを行った親のサブシステムの held または reset 設定を使用します。イニシエーターの親がモデルのルートの場合、継承された設定が保持されます。複数のイニシエーターによるトリガーでは、すべてのイニシエーターの親を [保持] または [リセット] に設定します。

依存関係

このパラメーターを有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択します。

このパラメーターの設定が適用されるのは、モデルが明示的に Function-Call Subsystem を有効または無効にする場合のみです。次に例を示します。

  • Function-Call Subsystem が、Enabled Subsystem の内部にある場合。この場合、モデルは Function-Call Subsystem を親のサブシステムと共に有効または無効にします。

  • Function-Call Subsystem を制御する Function-call イニシエーターは、Enabled Subsystem 内にあります。この場合、モデルは Function-Call Subsystem を、Function-call イニシエーターを含む Enabled Subsystem と共に有効または無効にします。

  • Function-call イニシエーターは、特定の状態に固有の Stateflow イベントです。bind アクションによる Function-Call Subsystem の制御 (Stateflow)を参照してください。

  • Function-call イニシエーターは、Function-Call Subsystem を明示的にイネーブルまたはディセーブルにする S-Function です。例については、ssEnableSystemWithTid を参照してください。

プログラムでの使用

ブロック パラメーター: StatesWhenEnabling
型: 文字ベクトル
値: 'held' | 'reset' | 'inherit'
既定の設定: 'held'

可変サイズ信号を伝播するタイミングを選択します。

実行中

各タイム ステップで可変サイズの信号を伝播します。

イネーブルのときのみ

Enable 端子、[トリガー タイプ][関数呼び出し] に設定された Trigger 端子、または Action Port ブロックを含む Subsystem ブロックまたは Model ブロックを実行するときに、可変サイズ信号を伝播します。このオプションを選択する場合、サンプル時間は周期的である必要があります。

依存関係

Trigger 端子ブロックのこのパラメーターを表示および有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択します。

プログラムでの使用

ブロック パラメーター: PropagateVarSize
型: 文字ベクトル
: 'During execution' | 'Only when enabling'
既定の設定: 'During execution'

トリガー信号または関数呼び出しイベント信号を識別する信号の出力端子の表示を制御します。

このパラメーターを選択して出力端子を表示し、トリガー信号または関数呼び出しイベントを引き起こした信号を判別します。出力端子信号の幅は制御信号の幅です。この信号の値は、次のとおりです。

  • トリガー信号が正の方向でゼロを横切る瞬間は 1

  • トリガー信号が負の方向でゼロを横切る瞬間は -1

  • 関数呼び出しイベントの場合は 2

  • それ以外の場合は 0

出力端子を削除するには、このパラメーターの選択を解除します。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [メッセージ] 以外のオプションを選択します。

プログラムでの使用

ブロック パラメーター: ShowOutputPort
型: 文字ベクトル
値: 'off' | 'on'
既定の設定: 'off'

トリガー信号または関数呼び出しイベント信号を識別する信号の出力端子データ型を選択します。

auto

データ型は出力に接続されている端子と同じです。

double

double 値。

int8

整数値

依存関係

このパラメーターを有効にするには、[出力端子の表示] チェック ボックスをオンにします。

Trigger ブロックは、固定小数点ツールの [データ型オーバーライド] 設定を無視します。

プログラムでの使用

ブロック パラメーター: OutputDataType
: 文字ベクトル
: 'auto' | 'double' | 'int8'
既定の設定: 'auto'

サブシステムまたはモデルの呼び出し頻度を選択します。

トリガー

周期的な関数呼び出し頻度をもたないアプリケーションに適用されます。関数呼び出しイニシエーターは、トリガーされた (非周期) Function-Call Subsystem をタイム ステップごとに 1 回以上実行し、一連の非周期関数呼び出しイベントを提供できます。

周期的

関数呼び出しイニシエーターは、周期関数呼び出しシステムをタイム ステップごとに 1 回だけ実行でき、一連の周期関数呼び出しイベントを提供する必要があります。Stateflow チャートが関数呼び出しイニシエーターの例です。

依存関係

このパラメーターを有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択します。

プログラムでの使用

ブロック パラメーター: SampleTimeType
: 文字ベクトル
: 'triggered' | 'periodic'
既定の設定: 'triggered'

この Trigger 端子ブロックが含まれるサブシステムまたはモデルへの関数呼び出しの時間間隔を指定します。そのサブシステムまたはモデルの実際の呼び出し頻度がこのパラメーターが指定する時間間隔と異なる場合は、Simulink® でエラーが表示されます。

-1

制御信号から時間間隔を継承します。

Ts

Ts が時間間隔のスカラー。

[Ts, To]

Ts が時間間隔で To が初期時間オフセットのベクトル。

依存関係

このパラメーターを有効にするには、[トリガー タイプ] リストから [関数呼び出し] を選択し、[サンプル時間タイプ] リストから periodic を選択します。

プログラムでの使用

ブロック パラメーター: SampleTime
: 文字ベクトル
: '-1' | 'Ts' | '[Ts, To]'
既定の設定: '-1'

このパラメーターを選択して、ゼロクロッシングを検出します。

依存関係

このパラメーターを有効にするには、[トリガー タイプ] リストから [立ち上がり][立ち下がり]、または [両方] を選択します。

プログラムでの使用

ブロック パラメーター: ZeroCross
型: 文字ベクトル
値: 'on' | 'off'
既定の設定: 'on'

トリガー制御信号の初期状態を選択します。

一致 (最初の評価ではトリガーなし)

トリガー信号の最初の評価時にはトリガーされません。このオプションを選択し、状態がリセットされたサブシステム内に Trigger ブロックが存在する場合、このブロックはリセットされません。

ゼロ

ゼロ。最初のタイム ステップにおいて、立ち上がりまたは立ち下がりのトリガー信号の評価に役立ちます。

正の値。最初のタイム ステップにおいて、立ち下がりのトリガー信号の評価に役立ちます。

負の値。最初のタイム ステップにおいて、立ち上がりのトリガー信号の評価に役立ちます。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [立ち上がり][立ち下がり]、または [両方] を選択します。

プログラムでの使用

ブロック パラメーター: InitialTriggerSignalState
: 文字ベクトル
: 'compatibility (no trigger on first evaluation)' | 'zero' | 'positive' | 'negative'
既定の設定: 'compatibility (no trigger on first evaluation)'

メッセージ入力によりトリガーされるサブシステムに対して、実行のタイミングを指定します。

メッセージが使用可能な時

1 つ以上のメッセージが制御端子で使用可能な場合にサブシステムの実行をトリガーし、メッセージをプルします。

サンプル時間ヒットの発生時

各タイム ステップで、メッセージが制御端子で使用可能かどうかをチェックします。その場合、1 つのメッセージをプルし、サブシステムの実行をトリガーします。使用可能なメッセージがない場合は、そのタイム ステップでサブシステムを実行しないでください。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [メッセージ] を選択します。

プログラムでの使用

ブロック パラメーター: TriggerTime
: 文字ベクトル
: 'on message available' | 'on sample time hit'
既定の設定: 'on message available'

メッセージの可用性によりトリガーされるサブシステムに対して、実行モードを指定します。

"即時モード" の場合はこのチェック ボックスをオフにします。このモードでは、制御端子でメッセージが使用可能になるとすぐにサブシステムが実行され、キューによるメッセージのバッファリングなしにメッセージがサブシステムにプッシュされます。

"スケジュールされたモード" の場合はこのチェック ボックスをオンにします。このモードでは、同じタイム ステップに留まりながら、サブシステムの実行を特定の Simulink タスクの後に延期できます。

依存関係

このパラメーターを表示および有効にするには、[トリガー タイプ] リストから [メッセージ] を選択し、[トリガーのタイミング] リストから [メッセージが使用可能な時] を選択します。

プログラムでの使用

ブロック パラメーター: ScheduleAsAperiodic
: 文字ベクトル
: 'on' | 'off'
既定の設定: 'on'

信号属性

Model ブロックに外部で接続され、ブロック内部に渡されるトリガー信号の次元を指定します。

1

スカラー信号。

[n]

n のベクトル信号。

[m n]

mn 列をもつ行列信号。

依存関係

Trigger 端子ブロックのこのパラメーターをモデルのルート レベルで表示および有効にするには、[トリガー タイプ] リストから [立ち上がり][立ち下がり]、または [両方] を選択します。

プログラムでの使用

ブロック パラメーター: PortDimensions
: 文字ベクトル
: '1' | '[n]' | '[m n]'
既定の設定: '1'

トリガー信号を駆動するブロックのメソッド実行の時間間隔を指定します。

-1

時間間隔を継承します。

Ts

Ts が時間間隔のスカラー。

[Ts, To]

Ts が時間間隔で To が初期時間オフセットのベクトル。

依存関係

Trigger 端子ブロックのこのパラメーターをモデルのルート レベルで表示および有効にするには、[トリガー タイプ] リストから [立ち上がり][立ち下がり]、または [両方] を選択します。

プログラムでの使用

ブロック パラメーター: TriggerSignalSampleTime
: 文字ベクトル
: '-1' | 'Ts' | '[Ts, To]'
既定の設定: '-1'

Model ブロックに外部で接続され、ブロックの内部に渡されるトリガー信号の最小値を指定します。

Simulink は、以下を行う際にこの値を使用します。

  • シミュレーション範囲のチェック。信号範囲の指定を参照してください。

  • 固定小数点データ型の自動スケーリング

  • 生成コードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。

[]

未指定の最小値。

実数スカラー

実数スカラー値。

依存関係

Trigger 端子ブロックのこのパラメーターをモデルのルート レベルで表示および有効にするには、[トリガー タイプ] リストから [立ち上がり][立ち下がり]、または [両方] を選択します。

プログラムでの使用

ブロック パラメーター: OutMin
: 文字ベクトル
: '[]' | '<real scalar>'
既定の設定: '[]'

Model ブロックに外部で接続され、ブロックの内部に渡されるトリガー信号の最大値を指定します。

Simulink は、以下を行う際にこの値を使用します。

  • シミュレーション範囲のチェック。信号範囲の指定を参照してください。

  • 固定小数点データ型の自動スケーリング

  • 生成コードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなどの一部のシミュレーション モードの結果に影響を与えることがあります。Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。

[]

未指定の最大値。

実数スカラー

実数スカラー値。

依存関係

Trigger 端子ブロックのこのパラメーターをモデルのルート レベルで表示および有効にするには、[トリガー タイプ] リストから [立ち上がり][立ち下がり]、または [両方] を選択します。

プログラムでの使用

ブロック パラメーター: OutMax
: 文字ベクトル
: '[]' | '<real scalar>'
既定の設定: '[]'

Model ブロックに外部で接続され、ブロックの内部に渡されるトリガー信号のデータ型を選択します。

double

倍精度浮動小数点。

single

単精度浮動小数点。

int8

符号付き 8 ビット整数。

uint8

符号なし 8 ビット整数。

int16

符号付き 16 ビット整数。

uint16

符号なし 16 ビット整数。

int32

符号付き 32 ビット整数。

uint32

符号なし 32 ビット整数。

int64

符号付き 64 ビット整数。

uint64

符号なし 64 ビット整数。

boolean

true または false の値をもつ boolean。

[fixdt(1,16)]

2 進小数点が未定義の符号付き 16 ビット固定小数点数。

fixdt(1,16,0)

2 進小数点がゼロに設定された符号付き 16 ビット固定小数点数。

fixdt(1,16,2^,0)

勾配が 2^0 に設定され、バイアスが 0 に設定された符号付き 16 ビット固定小数点数。

<data type expression>

データ型オブジェクト。たとえば、Simulink.NumericType などです。データ型式として Simulink.Bus オブジェクトの名前を入力することはできません。

依存関係

Trigger 端子ブロックのこのパラメーターをモデルのルート レベルで表示および有効にするには、[トリガー タイプ] リストから [立ち上がり][立ち下がり]、または [両方] を選択します。

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
: 文字ベクトル
: 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
既定の設定: 'double'

データ型カテゴリを選択し、ドロップダウン リストを表示して、データ型を定義しやすくします。

組み込み

[データ型] と [データ型オーバーライド] のドロップダウン リストを表示します。

固定小数点

[符号属性][スケーリング][データ型オーバーライド] のドロップダウン リストを表示します。

[式]

式を入力するテキスト ボックスを表示します。

依存関係

このパラメーターを有効にするには、[データ型アシスタントを表示] ボタン を選択します。

プログラムでの使用

同等のコマンド ライン パラメーターはありません。

MATLAB® ワークスペースからデータを読み込む際に、欠損したワークスペース データを推定する方法を制御します。

このパラメーターを選択して、対応するワークスペース データが存在しないタイム ステップで出力を線形内挿します。

このパラメーターの選択を解除して、データが存在する最新のタイム ステップでの出力に等しいタイム ステップでの出力を設定します。

依存関係

Trigger 端子ブロックのこのパラメーターをモデルのルート レベルで表示および有効にするには、[トリガー タイプ] リストから [立ち上がり][立ち下がり]、または [両方] を選択します。

プログラムでの使用

ブロック パラメーター: Interpolate
: 文字ベクトル
: 'on' | 'off'
既定の設定: 'on'

ブロックの特性

データ型

Boolean | double | enumerated | fixed point | integer | single

直達

いいえ

多次元信号

はい

可変サイズの信号

いいえ

ゼロクロッシング検出

はい

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

PLC コード生成
Simulink® PLC Coder™ を使用して構造化テキスト コードを生成します。

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

バージョン履歴

R2006a より前に導入