LabVIEWのrefnum
- 更新日2026-06-12
- 3分で読める
リファレンス番号、またはrefnumは、ファイル、デバイス、ネットワーク接続などの開いているオブジェクトにLabVIEWが作成する固有の識別子です。refnumは、オブジェクトが開いたままの状態で操作するオブジェクトを識別します。
開いているファイル、デバイス、またはネットワーク接続で行うすべての操作で、各オブジェクトを識別するrefnumが使用されます。VIとの間でrefnumの受け渡しを行うには、refnum制御器を使用します。たとえば、ファイルを閉じて開く操作を行わずにrefnumが参照しているファイルの内容を変更するには、refnum制御器を使用します。
Refnumは開いているオブジェクトを指す一時的なポインタであるため、オブジェクトが開いているときのみ有効です。オブジェクトを閉じると、refnumとオブジェクトの関連付けは解除され、refnumは使用されなくなります。もう一度オブジェクトを開くと、最初のrefnumとは異なる新規refnumが作成されます。
LabVIEWは、オブジェクトの読み取りまたは書き込みの現在の場所やユーザアクセスの程度など、各refnumに関連する情報を記憶します。その結果、1つのオブジェクトに対して同時に独立した操作を実行できます。VIが何回もオブジェクトを開くと、そのたびに異なるrefnumが返されます。
refnumには、厳密タイプ指定または準タイプ指定があります。
refnumに関連付けられたオブジェクトのメモリが割り当てられます。refnumを閉じると、オブジェクトがメモリから解放されます。refnumのメモリを最も効率的に使用するには、以下の推奨事項に従ってください。
- refnumの操作が終了したらすぐに閉じます。VIの実行が完了するとrefnumは自動的に閉じられますが、refnumは使用後すぐに閉じるようにすることが良いプログラミング習慣です。
- refnumを開いたときと反対の順序で、refnumを閉じます。
たとえば、以下の処理を実行するプログラムがあるとします。
- オブジェクトAへのrefnumを取得する
- オブジェクトAのメソッドを呼び出してオブジェクトBのrefnumを取得する
この場合、以下の順序でrefnumを閉じます。
- オブジェクトBのrefnumを閉じる
- オブジェクトAのrefnumを閉じる
- ForループまたはWhileループの内側でrefnumを開く場合、ループの各反復でそのrefnumを閉じます。
LabVIEWは繰り返しrefnumのメモリを割り当て、VIの実行が終了するまでメモリを解放しません。