メインコンテンツ

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 ブロックの関数名を指定します。あるいは、ブロック上で関数プロトタイプを編集することで名前を指定できます。

依存関係

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

プログラムでの使用

ブロック パラメーター: FunctionName
型: 文字ベクトル
値: 'f' | 引用符で囲んだ関数名
既定の設定: 'f'

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

  • スコープ内 — 関数へのアクセスを以下に制限します。

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

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

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

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

依存関係

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

プログラムでの使用

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

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

例: 'ServerPort'

依存関係

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

プログラムでの使用

ブロック パラメーター: ScopeName
型: 文字ベクトル
値: 引用符で囲んだ端子名
既定の設定: ''

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

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

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

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

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

依存関係

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

プログラムでの使用

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

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

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

  • 論理式 — 論理 (boolean) 式または論理式を表す Simulink.VariantExpression オブジェクト。関数は、式が true に評価される場合に有効になります。

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

依存関係

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

プログラムでの使用

ブロック パラメーター: VariantControl
型: 文字ベクトル
値: '(inherit)' | 論理式 | Simulink.VariantExpression オブジェクト
既定の設定: '(inherit)'

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

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

依存関係

このパラメーターを表示および有効にするには、[バリアント条件を有効にする] を選択します。

プログラムでの使用

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

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

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

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

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

依存関係

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

このパラメーターの設定が適用されるのは、モデルが明示的に 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 端子ブロックが含まれるサブシステムまたはモデルへの関数呼び出しの時間間隔を指定します。そのサブシステムまたはモデルの実際の呼び出し頻度がこのパラメーターが指定する時間間隔と異なる場合は、エラーが表示されます。

  • TsTs が時間間隔のスカラー

  • [Ts, To]Ts が時間間隔で To が初期時間オフセットのベクトル

  • -1 — 制御信号からの継承した時間間隔

依存関係

このパラメーターを有効にするには、[トリガー タイプ][関数呼び出し] に設定し、[サンプル時間タイプ][周期的] に設定します。

プログラムでの使用

ブロック パラメーター: SampleTime
: 文字ベクトル
: '1' | 'Ts' | '[Ts, To]' | '-1'
既定の設定: '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 列をもつ行列信号

  • -1 — 継承した次元

依存関係

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

プログラムでの使用

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

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

  • -1 — 継承した時間間隔

  • TsTs が時間間隔のスカラー

  • [Ts, To]Ts が時間間隔で To が初期時間オフセットのベクトル

依存関係

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

プログラムでの使用

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

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

ソフトウェアは、以下を行う際にこの値を使用します。

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

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

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

依存関係

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

プログラムでの使用

ブロック パラメーター: OutMin
: 文字ベクトル
: '[]' | 引用符で囲んだ実数スカラー
既定の設定: '[]'

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

ソフトウェアは、以下を行う際にこの値を使用します。

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

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

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

依存関係

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

プログラムでの使用

ブロック パラメーター: OutMax
: 文字ベクトル
: '[]' | 引用符で囲んだ実数スカラー
既定の設定: '[]'

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

  • 継承: 自動 — 継承したデータ型

  • double — 倍精度浮動小数点

  • double — 単精度浮動小数点

  • int8 — 符号付き 8 ビット整数

  • uint8 — 符号なし 8 ビット整数

  • int16 — 符号付き 16 ビット整数

  • uint16 — 符号なし 16 ビット整数

  • int32 — 符号付き 32 ビット整数

  • uint32 — 符号なし 32 ビット整数

  • int64 — 符号付き 64 ビット整数

  • uint64 — 符号なし 64 ビット整数

  • booleantrue または false の値をもつ boolean

  • fixdt(1,16) — 2 進小数点が未定義の符号付き 16 ビット固定小数点数

  • fixdt(1,16,0) — 2 進小数点がゼロに設定された符号付き 16 ビット固定小数点数

  • fixdt(1,16,2^,0) — 傾きが 2^0 に設定され、バイアスが 0 に設定された符号付き 16 ビット固定小数点数

  • <データ型式> — データ型オブジェクト (例: Simulink.NumericType オブジェクト)

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

依存関係

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

プログラムでの使用

ブロック パラメーター: OutDataTypeStr
: 文字ベクトル
: 'Inherit: auto' | '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>'
既定の設定: 'Inherit: auto'

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

  • 組み込み — データ型と [データ型オーバーライド] のメニューを表示します。

  • 固定小数点[符号属性][スケーリング][データ型オーバーライド] のメニューを表示します。

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

依存関係

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

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 より前に導入