ライブラリ関数呼び出しダイアログボックス



LabVIEW 2018ヘルプ


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

ダウンロード (Windowsのみ)


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

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

このダイアログボックスを表示するには、ブロックダイアグラムでライブラリ関数呼び出しノードを右クリックし、ショートカットメニューから構成を選択します。

このダイアログボックスを使用して、オブジェクトに関するライブラリ、関数、パラメータ、戻り値、および、共有ライブラリの呼び出しに関する呼び出し規約を指定します。 このダイアログボックスでOKボタンをクリックすると、LabVIEWではブロックダイアグラムにあるオブジェクトが更新されます。 オブジェクトには端子の正しい個数が表示されたり端子に正しいデータタイプが設定され、このダイアログボックスの設定内容を反映します。

このダイアログボックスには以下のコンポーネントが含まれています。

  • 関数関数タブを使用して、ライブラリ関数呼び出しノードを構成します。

    このタブには以下のコンポーネントがあります。
    • ライブラリ名またはパス—呼び出すライブラリの名前またはパスを指定します。 ライブラリの指定とパスの指定は同じことではなく、どちらを使用するかによってVIとアプリケーションを配布または移動したときの結果が異なります。 共有ライブラリを名前で指定するかパスで指定するかは、共有ライブラリのディスク上の場所を指定するを参照して決定してください。

      リファレンスがプラットフォームに依存しないよう、ファイル拡張子にはワイルドカード(*)を使用します。 C++コンパイラを使用する場合、ライブラリの関数の名前がマングル処理と呼ばれるプロセスによって変更され、プラットフォームに依存する形式になります。 C++コンパイラでのマングル処理と呼ばれるプロセスにより、エクスポートされた関数名にプラットフォーム依存が発生することを避けるため、ヘッダファイルで、C++コンパイラ関数エクスポート指令でextern "C"{}を使用してください。
    • ダイアグラムでパスを指定—ブロックダイアグラムでライブラリ名またはパスを入力するかどうかを決定します。 このチェックボックスをオンにすると、パス入力パス出力がノードに対してコネクタペーンの入力および出力端子として表示されます。 チェックボックスをオンにすると、ライブラリ名またはパス制御器で参照されるライブラリは使用されなくなります。
      ヒント パス入力入力を使用して、以前参照されたライブラリをメモリからアンロードできます。 空または無効パスをパス入力入力に配線して、ノードによって以前参照されたライブラリをメモリからアンロードします。
    • 関数名—呼び出して中の関数の名前を指定します。
      メモ ライブラリを参照すると、そのライブラリで検出された関数名で関数名制御器が埋められます。
      (macOS) Function name制御器が空の場合、関数名のリストを表示するには、nmユーティリティをインストールする必要があります。 nmユーティリティは、macOSの標準開発環境であるXcodeでインストールされます。 XcodeはMac App Storeから無料でダウンロードできます。
    • スレッド—ライブラリ関数呼び出しノードがVIによって現在実行されているスレッドからユーザインタフェーススレッドに切り替えるか、または現在実行中のスレッドを続行するかどうかを制御します。 デフォルト値はUIスレッドで実行です。
      • UIスレッドで実行—ライブラリ関数呼び出しノードの実行を、現在のスレッドではなくユーザインタフェーススレッドに切り替えるよう指定します。 ダイアグラムでパスを指定によって動的にロードされたLabVIEWで作成された共有ライブラリのUIスレッドでノードを実行すると、LabVIEWがフリーズする可能性があります。
      • 任意のスレッドで実行ライブラリ関数呼び出しノードの実行がVIを実行中の現在のスレッドで続行することを指定します。 複数のスレッドが関数を同時に呼び出せることを確認する必要があります。
        メモ LabVIEWで作成された共有ライブラリへの呼び出しのすべては、任意のスレッドで実行を指定するはずです。 LabVIEWで作成された共有ライブラリを使用してライブラリ関数呼び出しノードを構成して、UIスレッドで実行を構成すると、LabVIEWがフリーズして、コンピュータを再起動する必要がある場合があります。
    • 呼び出し規約—関数の呼び出し規約を指定します。 デフォルトはCです。
      • stdcall(WINAPI)—オブジェクトが__stdcallの呼び出し規約を使用するかどうかを制御します。
      • C—オブジェクトが__cdeclの呼び出し規約を使用するかどうかを制御します。
    • 関数プロトタイプ—関数のCプロトタイプを表示します。 これは読み取り専用表示です。
  • パラメータパラメータタブを使用して、ライブラリ関数呼び出しノードのパラメータを構成します。

    このタブには以下のコンポーネントがあります。
    • パラメータ—ライブラリ関数呼び出しノードの現在のパラメータをリストします。 パラメータリストの右側にある以下のボタンを使用してパラメータリストを構成できます。 return typeは削除できない必須パラメータです。
      • パラメータを追加パラメータリストで選択したパラメータの下にパラメータを追加します。
      • 選択したパラメータを削除—選択されたパラメータをパラメータリストから削除します。
      • 選択したパラメータを1つ上に移動—関数プロトタイプのパラメータの順序を変更するパラメータリストで選択したパラメータを1つ上のレベルに移動します。
      • 選択したパラメータを1つ下に移動—関数プロトタイプのパラメータの順序を変更するパラメータリストで選択されたパラメータを1つ下のレベルに移動します。
    • 現在のパラメータ—選択されたパラメータの設定を構成できます。
      • 名前—パラメータ名を指定します。
      • タイプ—パラメータのデータタイプを指定します。
        • 数値—使用する数値データタイプを指定します。
          • データタイプタイプ制御器で選択するデータの正確なタイプを指定します。
            メモ 符号付きポインタサイズ整数または符号なしポインタサイズ整数の数値データタイプを使用する場合、ライブラリ関数呼び出しノードは特定のオペレーティングシステムに適合し、実行後に適切なサイズのデータをライブラリ関数に返します。 64ビットプラットフォームでは、LabVIEWはこれらの数値データタイプを64ビット整数タイプに変換します。 32ビットプラットフォームでは、LabVIEWはこれらの数値データタイプを32ビット整数タイプに変換します。
          • 渡す形式—値と値へのポインタのどちらを渡すかを指定します。
        • 配列—使用する配列データタイプを指定します。
          • データタイプタイプ制御器で選択するデータの正確なタイプを指定します。
            メモ 符号付きポインタサイズ整数または符号なしポインタサイズ整数の数値データタイプを使用する場合、ライブラリ関数呼び出しノードは特定のオペレーティングシステムに適合し、実行後に適切なサイズのデータをライブラリ関数に返します。 64ビットプラットフォームでは、LabVIEWはこれらの数値データタイプを64ビット整数タイプに変換します。 32ビットプラットフォームでは、LabVIEWはこれらの数値データタイプを32ビット整数タイプに変換します。
          • 次元—パラメータの次元を指定します。
          • 配列形式—使用する配列形式を指定します。
          • 最小サイズ—1D配列の最小サイズを示し、適切なサイズのメモリ量を割り当てます。 数値を入力できます。パラメータリストで整数パラメータを構成する場合は、プルダウンメニューからパラメータを選択できます。 デフォルトはなしです。 このオプションは、配列データポインタにのみ使用できます。 最小サイズよりも小さい配列に渡す場合、LabVIEWは配列を最小サイズに拡張します。 最小サイズよりも大きい配列に渡す場合、配列はより大きいサイズを保持します。
        • 文字列文字列データタイプを使用するように指定します。
          • 文字列形式—使用する文字列形式を指定します。
          • 最小サイズ—文字列の最小サイズを示し、適切なサイズのメモリ量を割り当てます。 数値を入力できます。パラメータリストで整数パラメータを構成する場合は、プルダウンメニューからパラメータを選択できます。 デフォルトはなしです。 このオプションはC文字列ポインタにのみ使用できます。 最小サイズよりも小さい文字列を渡す場合、LabVIEWは文字列サイズを最小サイズに拡張します。 最小サイズよりも大きい文字列を渡す場合、文字列はより大きいサイズを保持します。
        • 波形—使用する波形データタイプを指定します。 ―データタイププルダウンメニューで、正確な数値データタイプを指定する必要があります。
          • データタイプタイプ制御器で選択するデータの正確なタイプを指定します。
          • 次元—パラメータの次元を指定します。 パラメータが単一のデジタル波形の場合は次元を0に指定します。 パラメータがデジタル波形の「配列」の場合は次元を1に指定します。 1次元よりも大きい波形の配列はサポートされていません。
        • デジタル波形—使用するデジタル波形データタイプを指定します。
          • 次元—パラメータの次元を指定します。 パラメータが単一のデジタル波形の場合は次元を0に指定します。 パラメータがデジタル波形の配列の場合は次元を1に指定します。 1次元よりも大きいデジタル波形の配列はサポートされていません。
        • デジタルデータ—使用するデジタルデータのデータタイプを指定します。
          • 次元—パラメータの次元を指定します。 パラメータがデジタルデータの配列の場合は次元を1に指定します。 それ以外の場合は、次元を0に指定します。 1次元よりも大きいデジタルデータの配列はサポートされていません。
        • ActiveXActiveXデータタイプを使用することを指定します。
          • データタイプタイプ制御器で選択するデータの正確なタイプを指定します。
        • タイプに適応タイプに適応データタイプを使用することを指定します。
          • データ形式タイプ制御器で選択するデータ形式を指定します。
            • サイズ変更を許可—ライブラリがパラメータのサイズ変更を許可するかどうかを指定します。 場合によっては、サイズ変更を許可しないことでメモリで別のコピーの作成を回避できます。 定数パラメータのサイズ変更が不可能なため、定数チェックボックスがオンの場合はLabVIEWはこのオプションを無効にします。
              メモ このオプションは、データ形式プルダウンメニューからデータへのインタフェースを選択した場合のみ使用できます。
        • インスタンスデータポインタ—使用するインスタンスデータポインタのデータタイプを指定します。 インスタンスデータポインタは、ユーザ自身による判断で使用する可能性のあるポインタのサイズ割り当てを参照します。 また、この割り当てはコールバックタブ上の各コールバック関数にも渡されます。
      • 定数—パラメータが定数であるかを示します。
    • 関数プロトタイプ—関数のCプロトタイプを表示します。 これは読み取り専用表示です。
  • コールバックコールバックタブでは、定義済みの時間で呼び出す関数を指定します。 関数は、構成しているライブラリ関数呼び出しノードの特定のインスタンスに基づいて、DLLまたは共有ライブラリのデータの初期化、更新、クリーンアップができるようにします。 各呼び出しは、関数が構成されているライブラリ関数呼び出しノードのインスタンスデータポインタに渡されます。

    メモ コールバックタブで、ライブラリ関数にコールバック関数をパラメータとして渡すよう設定することはできません。 ライブラリ関数呼び出しノードは、コールバック関数をパラメータとして必要とするライブラリ関数を直接呼び出せませんが、ラッパーライブラリを作成して呼び出しに実装することは可能です。
    このタブには以下のコンポーネントがあります。
    • 予約—各ノードおよび再入可能VIのデータスペースインスタンスに対して予約時に呼び出す関数を指定します。
    • 予約解除—各ノードおよび再入可能VIのデータスペースインスタンスに対して予約解除時に呼び出す関数を指定します。 予約解除コールバックを使用すると、情報の保存や解析、およびクリーンアップ操作の実行が可能です。
    • 中断—DLLの呼び出しが進行中にVIを中断する場合に呼び出す関数を指定します。 ライブラリ関数呼び出しノードがUIスレッドで実行するように設定されている場合、中断の処理は呼び出されません。 中断のコールバックを使用すると、情報の保存や解析、およびクリーンアップ操作の実行が可能です。
    • プロシージャーのプロトタイプ—ユーザ定義のプロシージャコールのCプロトタイプを表示します。 各関数は、InstanceDataPtrパラメータを渡します。 このパラメータで、ライブラリ関数呼び出しノードで呼び出す任意の関数に渡すことができる、ノードのインスタンスデータの初期化およびアクセスを行うことができます。 プロトタイプは、ポインタタイプに使用されるすべてのタイプ(数値、共有ライブラリまたはDLLで割り当てられたストラクチャへの実際のポインタなど)を型変換します。

      これは読み取り専用表示です。
    • 関数プロトタイプ—関数のCプロトタイプを表示します。 これは読み取り専用表示です。
  • エラーチェックエラーチェックタブで、ライブラリ関数呼び出しノードのエラーチェックレベルを指定します。

    このタブには以下のコンポーネントがあります。
    • エラーチェックレベル—次のオプションがあります。
      • 最大—ライブラリ関数呼び出しノードのエラーチェックの最大レベルを有効にします。 最大レベルでは、デフォルトレベルのエラーチェック機能のほかに、共有ライブラリまたはDLLで呼び出される関数が、指定された文字列または配列パラメータ用紙をに割り当てられた領域以上に書き込んだときに、ライブラリ関数呼び出しノードが警告を返します。
        メモ エラーチェックタブで最大を選択すると、実行速度が低下し、ライブラリ関数呼び出しノードのメモリ使用量が増加します。 したがって、ライブラリ関数呼び出しノードの構成をデバッグする場合のみ、最大オプションを選択することを推奨します。
      • デフォルト—ライブラリ関数呼び出しノードに対してエラーチェックのデフォルトレベルを有効にします。 エラーチェックのデフォルトレベルでは、呼び出された共有ライブラリまたはDLLが実行中に発生する未処理の例外から回復することをLabVIEWに許可します。 また、このエラーチェックレベルでは、関数タブで選択した呼び出し規約が、共有ライブラリまたはDLLで呼び出している関数の呼び出し規約と一致しない場合、ライブラリ関数呼び出しノードがエラーを返します。
      • 無効—ライブラリ関数呼び出しノードのエラーチェックを無効にします。 ライブラリ関数呼び出しノードのエラーチェックを無効にすると、ライブラリ関数呼び出しノードの実行速度が向上します。 ただし、エラーによっては、LabVIEWが予期せずシャットダウンする原因となります。 エラーチェックを無効にする前に、ライブラリ関数呼び出しノードが参照する関数によって未処理の例外が発生しないことを確認してください。
    • 関数プロトタイプ—関数のCプロトタイプを表示します。 これは読み取り専用表示です。

ライブラリ関数呼び出しノードを使用して、テキストベースのプログラム言語で書かれたコードを呼び出せます。 ActiveXオブジェクトを含む共有ライブラリを呼び出すには、「オートメーションオープン」関数をプロパティノードおよびインボークノードと共に使用してください。

関連情報

LabVIEWで共有ライブラリを呼び出す

ライブラリ関数呼び出しノードを構成する

共有ライブラリのデバックおよび呼び出しを行う

ライブラリ関数呼び出しノード

LabVIEW Manager Functions



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

役に立たなかった