Hit Crossing
クロッシング ポイントの検出
ライブラリ:
Simulink /
Discontinuities
Simulink /
Messages & Events
HDL Coder /
Discontinuities
SimEvents
説明
Hit Crossing ブロックは、入力が [ヒット クロッシング方向] プロパティで指定された方向で [ヒット クロッシング オフセット] パラメーター値に達した瞬間を検出します。
1
または 0
の信号、メッセージ、または関数呼び出しイベントを出力するようにブロックを構成できます。詳細については、出力を参照してください。
端子
入力
Port_1 — 入力信号
スカラー | ベクトル
指定された方向でオフセットに達した瞬間をブロックが検出する入力信号。
データ型: double
出力
Port_1 — 出力信号
スカラー | ベクトル | メッセージ | 関数呼び出しイベント
入力信号がヒット オフセットを越えたかどうかを示す出力。この端子は、[出力端子の表示] パラメーター チェック ボックスをオンにしている場合にのみ表示されます。
信号出力
[出力端子の表示] チェック ボックスをオンにして、[出力タイプ] パラメーターを [信号]
に設定している場合、クロッシングが発生した瞬間がブロック出力に示されます。
入力信号が、ヒット クロッシングが指定された方向で検出された後のオフセット値と正確に一致する場合、このブロックは値 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 ブロックの出力に等しくなります。
CrossingType — ゼロクロッシングの方向
None
| NegativeToPositive
| NegativeToZero
| ZeroToPositive
| PositiveToNegative
| PositiveToZero
| ZeroToNegative
このフィールドは、信号が [ヒット クロッシング オフセット] 値を越える方向を示します。オフセット値に対して負、ゼロ、正が定義されます。データ型は "列挙データ型" である slHitCrossingType
です。詳細については、Simulink モデルでの列挙型データの使用を参照してください。たとえば、HitCrossingOffset
が 2 に設定されている場合、このオフセット値を越える立ち上がり信号は NegativeToPositive
ヒット クロッシングとして記録されます。
メモ
ヒット クロッシングは [ヒット クロッシング方向] 設定に基づいて記録されます。つまり、[立ち下がり]
ヒット クロッシングを検出するように [ヒット クロッシング方向] を設定する場合、NegativeToPositive
ヒットは記録されません。
メモ
SimEvents® ブロックでは、エンティティの Crossing Type
が NegativeToPositive
ヒットクロッシングである場合、entity.CrossingType == slHitCrossingType.NegativeToPositive
は logical 1 (true)
を返します。
信号が HitCrossingOffset
値に達し、その値を保持する場合、方向に応じて単一の NegativeToZero
または PositiveToZero
ヒットがヒット クロッシングの時点で記録されます。
データ型: slHitCrossingType
Index — ヒット クロッシング イベントが発生した入力信号のインデックス
非負の整数
Hit Crossing ブロックに渡される n 個の信号について、このフィールドはヒット クロッシング イベントが発生した信号を示します。行列入力の場合、このフィールドは MATLAB® の線形インデックスに従います。配列インデックス付けを参照してください。
データ型: uint32
Time — ヒット クロッシング イベントの時間
実数、有限
ヒット クロッシング イベントの時間 T。
データ型: double
Offset — 検出のためのヒット クロッシング値
0
(既定値) | 実数値
ヒット クロッシング オフセットパラメーターによって指定されるヒット クロッシング オフセット値。
データ型: double
データ型: double
| Boolean
| struct
パラメーター
ヒット クロッシング オフセット — 検出のためのヒット クロッシング値
0
(既定値) | 実数値
入力が [ヒット クロッシング方向] で指定された方向で越えた瞬間をブロックが検出する値を指定します。
プログラムでの使用
ブロック パラメーター: HitCrossingOffset |
型: 文字ベクトル |
値: 実数値 |
既定の設定: '0' |
ヒット クロッシング方向 — ヒット クロッシングに対する入力信号の方向
両方
(既定値) | 立ち下がり
| 立ち上がり
クロッシングを検出するために、入力信号がヒット クロッシング オフセットに近づいていく方向。
[両方]
に設定されているとき、ブロックは、有限数学およびコンピューター精度の制限に役立つ "ほぼ等しい" ブロックとして機能します。このような理由で使用する場合、このブロックは、この条件を検出するためのロジックをモデルに追加するよりも便利なことがあります。
[ヒット クロッシング方向] プロパティが [両方]
に設定され、モデルが固定ステップ ソルバーを使用するとき、ブロックは以下のように動作します。出力信号が 1 の場合、入力信号がオフセット値と同じでない限り、ブロックは次のタイム ステップで出力信号を 0 に設定します。
プログラムでの使用
ブロック パラメーター: HitCrossingDirection |
型: 文字ベクトル |
値: 'either' | 'rising' |'falling' |
既定の設定: 'either' |
出力端子の表示 — 出力端子を表示
off
(既定値) | on
選択されている場合、ブロック アイコン上に出力端子を作成します。
プログラムでの使用
ブロック パラメーター: ShowOutputPort |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'on' |
出力タイプ — 信号、メッセージ、または関数呼び出し出力の選択
信号
(Simulink® の既定の設定) | メッセージ
(SimEvents の既定の設定) | 関数呼び出し
[出力タイプ] が [信号]
に設定されている場合、入力信号が [ヒット クロッシング方向] で [ヒット クロッシング オフセット] 値を越えると必ず出力信号が 1 に設定され、その他の場合は 0 になります。
[出力タイプ] が [メッセージ]
に設定されている場合、出力信号はメッセージになります。
[出力タイプ] が [関数呼び出し]
に設定されている場合、出力信号は関数呼び出しイベントになります。
プログラムでの使用
ブロック パラメーター: HitCrossingOutputType |
型: 文字ベクトル |
値: 'Signal' | 'Message' | 'Function-Call' |
既定の設定: 'Signal' |
ゼロクロッシング検出を有効にする — ゼロクロッシング検出を有効にする
on
(既定値) | off
ゼロクロッシング検出を有効にする場合は選択します。詳細については、ゼロクロッシング検出を参照してください。
プログラムでの使用
パラメーター: ZeroCross |
型: 文字ベクトル、string |
値: 'on' | 'off' |
既定の設定: 'on' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
ヒント
Hit Crossing ブロックがメッセージを出力するように構成されており、出力信号が次の場合
参照モデルに入るか、参照モデルから出る
Stateflow チャートの入力に供給されている
メッセージ信号用のバス オブジェクトを作成する必要があります。MATLAB コマンド ウィンドウで、Simulink.createHitCrossMessage
を実行してチェックし、必要に応じてベース ワークスペースでヒット クロッシング メッセージのバス オブジェクトを作成します。
対応する端子のデータ型を [Bus: HitCrossMessage]
に設定します。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
量産コードには推奨されません。
ert ターゲットでは浮動小数点でないデータ型はサポートされません。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
このブロックには 1 つの既定の HDL アーキテクチャがあります。
ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
ヒット クロッシング方向は [立ち上がり]
または [立ち下がり]
でなければなりません。
HDL コード生成は、Output Type
が [メッセージ]
に設定されている場合はサポートされません。
バージョン履歴
R2006a より前に導入
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)