範囲内と強制 関数



LabVIEW 2018ヘルプ


発行年月: 2018年3月
製品番号: 371361R-0112
製品情報を参照

ダウンロード (Windowsのみ)


LabVIEW 2016ヘルプ
LabVIEW 2017ヘルプ
LabVIEW 2018ヘルプ
LabVIEW 2019ヘルプ
LabVIEW 2020ヘルプ

1つ上のパレット: 比較関数

インストールパッケージ: ベース開発システム

x上限入力と下限入力で指定された範囲内かどうかを判断し、任意で値を範囲内に強制できます。 この関数は、要素の比較モードでのみ値を強制します。 この関数は、すべての入力がタイムスタンプ値である場合にのみタイムスタンプ値を受け入れます。 この関数の比較モードを変更できます。

コネクタペーンには、この多態性関数のデフォルトのデータタイプが表示されます。

詳細  サンプル

上限x、および、下限は、配列またはクラスタのどちらであっても同じデータタイプ構造でなければなりませんが、異なる数値表記を入力することはできます。

例えば、データタイプのひとつを配列にした場合、残りのデータタイプも配列にして不良ワイヤが発生しないようにしなければなりません。 ただし、xには配列を配線し、2つのスカラ値には上限下限を配線できます。 倍精度浮動小数点と整数データを配線することもできます。

デフォルトでは、この関数は、範囲内に下限値を含め、上限値を除外します。 関数を右クリックしてショートカットメニューから上限を含むまたは下限を含むを選択することにより、範囲に上限または下限を含めるか除外するかを構成できます。 この構成は範囲内?の値にのみ適用されます。 この関数は、上限を含むまたは下限を含むの設定に関係なく、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)の計算前に下限値と上限値を内部的に入れ替えます。

サンプル

範囲内と強制関数の使用サンプルは、labview\examples\ComparisonディレクトリにあるIn Range and Coerce VIで参照できます。



この記事は役に立ちましたか。

役に立たなかった