Hit Crossing
クロッシング ポイントの検出
ライブラリ:
Simulink /
Discontinuities
Simulink /
Messages & Events
HDL Coder /
Discontinuities
SimEvents
説明
Hit Crossing ブロックは、入力が [ヒット クロッシング方向] プロパティで指定された方向で [ヒット クロッシング オフセット] パラメーター値に達した瞬間を検出します。
1 または 0 の信号、メッセージ、または関数呼び出しイベントを出力するようにブロックを構成できます。詳細については、出力を参照してください。
例
クラッチ ロックアップ モデルの作成
この例では、Simulink® を使用して回転クラッチ システムをモデル化およびシミュレーションする方法を示します。ロックアップ時にシステム ダイナミクスにおいてトポロジーが変化するため、クラッチ システムのモデル化は困難ですが、この例題では、Enabled Subsystem がこのような問題をいかに簡単に処理できるかを示します。クラッチ シミュレーションの作成において重要な Simulink モデル化概念を採用する方法を説明します。設計者は、動的に変化する可能性がある強い不連続性と制約を伴う多くのモデルにこうした概念を適用できます。
マス-バネ-ダンパー系におけるスティックスリップ摩擦とハード ストップのモデル化
この例では、ハード ストップとスティックスリップ動作による摩擦の変化をマス-バネ-ダンパー モデルに組み込む 1 つの方法を示します。
端子
入力
指定された方向でオフセットに達した瞬間をブロックが検出する入力信号。
データ型: 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 Type が NegativeToPositive ヒット クロッシングである場合、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' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
ヒント
Hit Crossing ブロックがメッセージを出力するように構成されており、出力信号が次の場合
参照モデルに入るか、参照モデルから出る
Stateflow チャートの入力に供給されている
メッセージ信号用のバス オブジェクトを作成する必要があります。MATLAB コマンド ウィンドウで、Simulink.createHitCrossMessage を実行してチェックし、必要に応じてベース ワークスペースでヒット クロッシング メッセージのバス オブジェクトを作成します。
対応する端子のデータ型を [Bus: HitCrossMessage] に設定します。
拡張機能
量産コード生成には推奨しません。
ERT ターゲットに対しては、浮動小数点データ型のみがサポートされます。
HDL Coder™ には、HDL の実装および合成されたロジックに影響する追加のコンフィギュレーション オプションがあります。
このブロックには 1 つの既定の HDL アーキテクチャがあります。
次のブロック パラメーターを設定すると、Hit Crossing ブロックの HDL コードを生成できます。
[出力端子の表示] が
[オン]に設定されている。[出力タイプ] ブロック パラメーターが
[信号]に設定されている。[ヒット クロッシング方向] ブロック パラメーターが
[立ち上がり]または[立ち下がり]に設定されている。
一般
| プロパティ名 | 説明 |
|---|---|
| ConstrainedOutputPipeline | 既存の遅延を設計内で移動することによって出力に配置するレジスタの数。分散型パイプラインではこれらのレジスタは再分散されません。既定の設定は |
| InputPipeline | 生成されたコードに挿入する入力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
| OutputPipeline | 生成されたコードに挿入する出力パイプライン ステージ数。分散型パイプラインと制約付き出力パイプラインでは、これらのレジスタを移動できます。既定の設定は |
| SynthesisAttributes | モデルのブロックとブロック出力信号の合成属性を指定します。生成された HDL コードには、これらの属性が含まれます。詳細については、SynthesisAttributes (HDL Coder)を参照してください。 |
ネイティブ浮動小数点
| プロパティ名 | 説明 |
|---|---|
| LatencyStrategy | 浮動小数点演算子について、設計内のブロックを |
| NFPCustomLatency | 値を指定するには [LatencyStrategy] を |
ブロックは、HDL コード生成で次のデータ型をサポートします。
| 入力端子 | 次元 | 固定小数点 | 浮動小数点 | 組み込み整数 | バス | boolean | 複素信号 |
|---|---|---|---|---|---|---|---|
| Port_1 | スカラー ベクトル 行列 (2 次元まで) | なし | double | なし | あり | なし | なし |
[出力タイプ] パラメーターが [メッセージ] または [関数呼び出し] の場合、HDL コード生成はサポートされません。
バージョン履歴
R2006a より前に導入[SynthesisAttributes] HDL ブロック プロパティを使用して、ブロックとその出力信号の合成属性を指定します。HDL Coder は、生成される HDL コードにこれらの属性を含めます。
Hit Crossing ブロックでは、入力データ型として double を使用してネイティブ浮動小数点モードで HDL コードを生成できるようになりました。[LatencyStrategy] HDL ブロック プロパティを使用して、ブロックのレイテンシ手法を指定できます。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)

