ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Hit Crossing

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

  • ライブラリ:
  • Simulink / Discontinuities

説明

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

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

端子

入力

すべて展開する

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

データ型: double

出力

すべて展開する

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

信号出力

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

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

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

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

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

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

SimEvents メッセージ出力

Output Type[メッセージ] に設定されているときは、Hit Crossing ブロックは SimEvents メッセージも出力できます。

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

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

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

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

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

メモ

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

メモ

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

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

データ型: slHitCrossingType

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

データ型: uint32

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

データ型: double

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

データ型: double

データ型: double | Boolean | struct

メモ

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

パラメーター

すべて展開する

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

プログラムでの使用

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

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

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

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

プログラムでの使用

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

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

プログラムでの使用

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

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

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

プログラムでの使用

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

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

プログラムでの使用

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

サンプル時間を -1 以外の値で指定します。詳細については、サンプル時間の指定を参照してください。

依存関係

このパラメーターは、明示的に -1 以外の値に設定されていない限り表示されません。詳細は、サンプル時間が推奨されないブロックを参照してください。

プログラムでの使用

ブロック パラメーター: SampleTime
型: 文字ベクトル
値: スカラー
既定の設定: '-1'

ブロックの特性

データ型

double

直接フィードスルー

なし

多次元信号

なし

可変サイズの信号

なし

ゼロクロッシング検出

あり

ヒント

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

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

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

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

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

拡張機能

R2006a より前に導入