範囲内と強制関数
- 更新日2025-07-30
- 6分で読める
xが上限入力と下限入力で指定された範囲内かどうかを判断し、任意で値を範囲内に強制できます。この関数は、要素の比較モードでのみ値を強制します。この関数は、すべての入力がタイムスタンプ値である場合にのみタイムスタンプ値を受け入れます。この関数の比較モードを変更できます。
上限、x、および、下限は、配列またはクラスタのどちらであっても同じデータタイプ構造でなければなりませんが、異なる数値表記を入力することはできます。
例えば、データタイプのひとつを配列にした場合、残りのデータタイプも配列にして不良ワイヤが発生しないようにしなければなりません。ただし、xには配列を配線し、2つのスカラ値には上限と下限を配線できます。倍精度浮動小数点と整数データを配線することもできます。
コネクタペーンには、この多態性関数のデフォルトのデータタイプが表示されます。

入力/出力
上限
—
範囲の上限です。
x
—
xは、チェックおよび/または強制する値です。
下限
—
範囲の下限です。
強制 (x)
—
強制 (x) は、強制された、または、変化なしのx値です。xが上限および下限入力によって設定された範囲内にある場合、または、関数が集合比較モードの場合、値は変化しません。xが範囲外にあり、関数が要素の比較モードになっている場合、関数ではその値を上限または下限と同じ値に変換します。上限、x、または下限がNaNの場合、 強制 (x) はNaNになります。
範囲内?
—
範囲内?は、集合比較モードでのブール値です。要素の比較モードでは、範囲内?のデータタイプ構造は、各スカラ値がブールで置き換えられた xのデータタイプ構造と同じです。上限、x、または、下限がNaNの場合、範囲内?はFALSEです。 |
この関数は、ブール比較の規則に従って、入力データを比較します。関数の集合比較モードでは、強制された値ではなく、強制(x)には、xの値が変更されずに返されます。この関数は、各入力配列をクラスタのような1つの基礎群オブジェクトとみなし、最初の要素が比較の主な対象となります。関数が要素の比較モード (デフォルト) の場合、xが上限より大きい場合は、xの値が上限の値に強制的に変更されます。関数が要素の比較モードで、xが下限より小さい場合は、xの値が下限の値に強制的に変更されます。
「範囲内と強制」関数の上限、x、下限入力に符号付き整数と符号なし整数を組み合わせて配線した場合、すべての入力は、同じ符号なし整数タイプに強制変換されます。このため、入力値が負の場合に予期しない結果になる場合があります。たとえば、上限に符号なし整数を配線し、下限に負の符号付き整数を配線した場合、LabVIEWは下限入力のほうが上限入力よりも大きいと解釈する場合があります。この問題を回避するには、「範囲内と強制」関数に整数入力を配線する前に、それらを同じタイプに変換してください。
下限値が上限値より大きい場合、範囲内?は常にFALSEになり、LabVIEWは強制(x)の計算前に下限値と上限値を内部的に入れ替えます。
FPGAモジュールの詳細
以下の説明は、このオブジェクトをFPGA VIで使用する場合に適用されます。
| シングルサイクルタイミングループ | サポートあり |
| Usage | 下限値が上限値より大きい場合、LabVIEWは下限と上限の値を交換しません。下限の値が上限の値より大きくならないようにするには、手動で下限および上限値を変更する必要があります。 シングルサイクルタイミングループ内では、この関数に配列やクラスタを配線できません。 この関数を単精度浮動小数点データタイプと使用する場合、リソース使用、レイテンシ、およびシングルサイクルタイミングループのサポートへの影響については、 単精度浮動小数点データタイプを使用 するおよび FPGA設計で使用するデータタイプを決定する トピックを参照してください。 |
| タイミング | シングルサイクルタイミングループの内側―比較関数をシングルサイクルタイミングループ内で使用すると、組み合わせ論理の遅延は比較するデータタイプの幅に比例します。 シングルサイクルタイミングループの外側―比較関数をシングルサイクルタイミングループの外側で使用すると、各比較関数に1クロックサイクルが必要となります。 固定小数点データタイプを扱う比較関数では、オーバーフローモードと丸め込みモードによってタイミングが影響を受ける可能性があります。 |
| リソース | 比較関数が使用するFPGAリソースの量は、比較するデータタイプの幅に比例します。 |
サンプルプログラム
LabVIEWに含まれている以下のサンプルファイルを参照してください。
- labview\examples\Comparison\In Range and Coerce.vi
上限
—
強制 (x)
—
範囲内?
—