6

現在、DLL を介して C++ アプリケーションにデータを送信する LabVIEW アプリケーションがあります。ここで、C++ アプリから LabVIEW アプリにデータを送り返す必要があります。DLL呼び出しからLabVIEWでコードをトリガできますか?または新しいデータが待機しているかどうかを確認するために定期的にDLLをポーリングする必要がありますか?

それとも、これについて完全に間違った方法で行っていますか?

4

1 に答える 1

7

C++ からイベントを生成して、通常の LabVIEW イベントをトリガすることができます。
これは、この構造について議論している NI フォーラムの投稿です。そして、そのスレッドからのコードの抜粋:

#include <utility.h>
#include <extcode.h>
#include "EventDLL.h"
//Generate a LabVIEW event
int GenerateLVEvent(LVUserEventRef *msg, int param)
{
PostLVUserEvent( *msg, (void *)&param);
return 0;
}

PNG形式の元のソースコードは次のとおりです: (ソース: vi-lib.com ) また、付随するLabVIEWコードは次のとおりです: 下のループは、DLLイベントをLabVIEWイベントハンドラに送信するLabVIEWコードです。これは、DLL 内に配置する必要があります。入力パラメーターの 1 つは、U32 としてのイベント ポインターである必要があります。代替テキスト


代替テキスト

幸運を、

トン

PS DLL と LabVIEW の相互運用性に飛び込む場合は、RolfK の言うことすべてに注意してください。彼はその分野の第一人者です。

于 2009-07-24T08:36:00.867 に答える