LabWindows/CVI で LabVIEW から呼び出し可能な DLL を作るには



使用ソフトウェア: LabVIEW Development Systems>>Full Development System
使用ソフトウェア・バージョン: 5.1
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題:
LabWindows/CVI で LabVIEW から呼び出し可能な DLL を作るには、どうすればよいですか。


解決策:
CVI で以下の手順で DLL を作成します。
  1. CVI を起動し、新しいプロジェクトを作成し、新規ソースファイルを追加します。

  2. ソースファイルを編集し、以下のようなコードを追加します。

     

    /* Include files needed to compile DLL */
    #include <windows.h>
    #include <cvirte.h> /* 外部コンパイラを使用する場合に必要 */
    #include <userint.h>

    BOOL __stdcall DllMain (HINSTANCE hinstDLL, DWORD fdwReason,
    LPVOID lpvReserved)
    {
    return TRUE;
    }


  3. DLL に関数を追加する。エクスポートする関数には DLLEXPORT修飾子をつける。次の例は、引数を2倍する関数である。

     

    void DLLEXPORT twise (double *my)
    {
    *my *=2;
    }

  4. Build » Target を選択し、Dynamic Link Library を指定する。

  5. Build » Create Dynamic Link Library を選択する。Export What の欄が、Symbols Marked to Export であることを確認する。


LabVIEW で、このDLLを使用するには以下の手順に従います。
  1. 新規 VI を開き、ブロックダイアグラムにライブラリ関数呼び出しノードを配置する。
  2. ライブラリ関数呼び出しノードを右クリックし、構成を選択する。
  3. ライブラリ名またはパスに、作成した DLL のパスを指定する
  4. 関数名 ウィンドウで、使用したい関数を選択する
  5. 関数のプロトタイプ宣言と同じパラメータとデータ型を指定すし、ダイアログを閉じる。
  6. ライブラリ関数呼び出しノードの入出力を配線し、入力には値を指定する。通常、すべての入力には何か接続する必要があります。
  7. VI を保存する。
  8. VI を実行する。すべてのパラメータが適切であれば、VI の実行は成功します。


関連リンク:
KnowledgeBase 22MC5F8M: When Using CVI to Create a DLL that Passes LabVIEW Parameters, LabVIEW Crashes When Calling the DLL
Developer Zone Tutorial: Calling a DLL from LabWindows/CVI That Was Generated by LabVIEW 6i
Developer Zone Tutorial: Creating and Calling LabVIEW DLLs with Various Data Types from CVI

添付:





報告日時: 09/29/1998
最終更新日: 12/31/2007
ドキュメントID: 1DS6OG0O