Main Content

Hit Crossing

クロッシング ポイントの検出

  • Hit Crossing block

ライブラリ:
Simulink / Discontinuities
Simulink / Messages & Events
HDL Coder / Discontinuities
SimEvents

説明

Hit Crossing ブロックは、入力が [ヒット クロッシング方向] プロパティで指定された方向で [ヒット クロッシング オフセット] パラメーター値に達した瞬間を検出します。

1 または 0 の信号、メッセージ、または関数呼び出しイベントを出力するようにブロックを構成できます。詳細については、出力を参照してください。

端子

入力

すべて展開する

指定された方向でオフセットに達した瞬間をブロックが検出する入力信号。

データ型: double

出力

すべて展開する

入力信号がヒット オフセットを越えたかどうかを示す出力。この端子は、[出力端子の表示] パラメーター チェック ボックスをオンにしている場合にのみ表示されます。

信号出力

[出力端子の表示] チェック ボックスをオンにして、[出力タイプ] パラメーターを [信号] に設定している場合、クロッシングが発生した瞬間がブロック出力に示されます。

  • 入力信号が、ヒット クロッシングが指定された方向で検出された後のオフセット値と正確に一致する場合、このブロックは値 1 を出力し続けます。

  • 隣接する 2 点での入力信号がオフセット値を間に挟む場合、このブロックは 2 番目のタイム ステップで値 1 を出力します。

  • [出力端子の表示] チェック ボックスをオフにした場合、ブロックはシミュレーションによるクロッシング ポイントの検出は行いますが、出力は生成しません。

  • 初期信号がオフセット値に等しい場合、[ヒット クロッシング方向] プロパティが [両方] に設定されている場合に限り、ブロックは 1 を出力します。

  • Boolean 論理信号が有効な場合、出力は Boolean です。

メッセージ出力

[出力タイプ] パラメーターが [メッセージ] に設定されているときは、Hit Crossing ブロックはメッセージも出力できます。

  • 入力信号が指定された方向でオフセット値を越えた場合、ブロックはメッセージを出力します。

  • 入力信号が指定された方向でオフセット値に達し、そこに留まっている場合、ブロックはヒット時間に 1 つのメッセージを出力し、信号がオフセット値を離れるときに 1 つのメッセージを出力します。

  • 初期入力信号がオフセット値に等しい場合、[ヒット クロッシング方向][両方] に設定されている場合に限り、ブロックは Crossing Type 値が None であるメッセージを出力します。

メッセージの出力信号は 4 つのフィールドをもつ struct です。

メモ

メッセージの出力信号がモデル参照境界を越える場合、あるいは Stateflow® チャートへの入力として使用される場合、メッセージ用のバス オブジェクトを作成する必要があります。ヒントを参照してください。

関数呼び出し出力

[出力タイプ] パラメーターが [関数呼び出し] に設定されている場合は、Hit Crossing ブロックは関数呼び出しイベントを出力することもできます。

  • 入力信号が指定された方向でオフセット値を越えるたびに、ブロックは 1 つの関数呼び出しイベントを出力します。

  • 関数呼び出しイベントを Function-Call Subsystem または関数呼び出しモデルの関数呼び出し入力端子に送信できます。

  • 出力は、そのブロックの [反復回数] パラメーターが 1 に設定されている各タイム ステップの Function-Call Generator ブロックの出力に等しくなります。

このフィールドは、信号が [ヒット クロッシング オフセット] 値を越える方向を示します。オフセット値に対して負、ゼロ、正が定義されます。データ型は "列挙データ型" である slHitCrossingType です。詳細については、Simulink モデルでの列挙型データの使用を参照してください。たとえば、HitCrossingOffset が 2 に設定されている場合、このオフセット値を越える立ち上がり信号は NegativeToPositive ヒット クロッシングとして記録されます。

メモ

ヒット クロッシングは [ヒット クロッシング方向] 設定に基づいて記録されます。つまり、[立ち下がり] ヒット クロッシングを検出するように [ヒット クロッシング方向] を設定する場合、NegativeToPositive ヒットは記録されません。

メモ

SimEvents® ブロックでは、エンティティの Crossing TypeNegativeToPositive ヒットクロッシングである場合、entity.CrossingType == slHitCrossingType.NegativeToPositive は logical 1 (true) を返します。

信号が HitCrossingOffset 値に達し、その値を保持する場合、方向に応じて単一の NegativeToZero または PositiveToZero ヒットがヒット クロッシングの時点で記録されます。

データ型: slHitCrossingType

Hit Crossing ブロックに渡される n 個の信号について、このフィールドはヒット クロッシング イベントが発生した信号を示します。行列入力の場合、このフィールドは MATLAB® の線形インデックスに従います。配列インデックス付けを参照してください。

データ型: uint32

ヒット クロッシング イベントの時間 T。

データ型: double

ヒット クロッシング オフセットパラメーターによって指定されるヒット クロッシング オフセット値。

データ型: double

データ型: double | Boolean | struct

パラメーター

すべて展開する

入力が [ヒット クロッシング方向] で指定された方向で越えた瞬間をブロックが検出する値を指定します。

プログラムでの使用

ブロック パラメーター: HitCrossingOffset
: 文字ベクトル
: 実数値
既定の設定: '0'

クロッシングを検出するために、入力信号がヒット クロッシング オフセットに近づいていく方向。

[両方] に設定されているとき、ブロックは、有限数学およびコンピューター精度の制限に役立つ "ほぼ等しい" ブロックとして機能します。このような理由で使用する場合、このブロックは、この条件を検出するためのロジックをモデルに追加するよりも便利なことがあります。

[ヒット クロッシング方向] プロパティが [両方] に設定され、モデルが固定ステップ ソルバーを使用するとき、ブロックは以下のように動作します。出力信号が 1 の場合、入力信号がオフセット値と同じでない限り、ブロックは次のタイム ステップで出力信号を 0 に設定します。

プログラムでの使用

ブロック パラメーター: HitCrossingDirection
: 文字ベクトル
: 'either' | 'rising' |'falling'
既定の設定: 'either'

選択されている場合、ブロック アイコン上に出力端子を作成します。

プログラムでの使用

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

[出力タイプ][信号] に設定されている場合、入力信号が [ヒット クロッシング方向][ヒット クロッシング オフセット] 値を越えると必ず出力信号が 1 に設定され、その他の場合は 0 になります。

[出力タイプ][メッセージ] に設定されている場合、出力信号はメッセージになります。

[出力タイプ][関数呼び出し] に設定されている場合、出力信号は関数呼び出しイベントになります。

プログラムでの使用

ブロック パラメーター: HitCrossingOutputType
: 文字ベクトル
: 'Signal' | 'Message' | 'Function-Call'
既定の設定: 'Signal'

ゼロクロッシング検出を有効にする場合は選択します。詳細については、ゼロクロッシング検出を参照してください。

プログラムでの使用

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

ブロックの特性

データ型

double

直達

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

はい

ヒント

Hit Crossing ブロックがメッセージを出力するように構成されており、出力信号が次の場合

  • 参照モデルに入るか、参照モデルから出る

  • Stateflow チャートの入力に供給されている

メッセージ信号用のバス オブジェクトを作成する必要があります。MATLAB コマンド ウィンドウで、Simulink.createHitCrossMessage を実行してチェックし、必要に応じてベース ワークスペースでヒット クロッシング メッセージのバス オブジェクトを作成します。

対応する端子のデータ型を [Bus: HitCrossMessage] に設定します。

拡張機能

バージョン履歴

R2006a より前に導入