Home
Support
Visual Basic6からLabVIEWで作成したアナログ入力の配列データを呼び出したい。
Visual Basic6からLabVIEWで作成したアナログ入力の配列データを呼び出したい。
使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A
問題: 複数チャンネルの波形データを読み取るアナログ集録VIを作成した場合、波形データは2D配列となります。
そして、LabVIEWでDLLを作成するとC言語から呼び出す際に下のように必要なヘッダーファイルが
DLLと同じフォルダに生成されます。
typedef struct {
long dimSizes[2];
double Waveform[1];
} TD1;
typedef TD1 **TD1Hdl;
void __stdcall LVdllsample(LStrHandle *physicalChannels, double rate,
long samplesPerChannel, TD1Hdl *data, LVBoolean *ANZX);
LabVIEWの2D配列が、ポインタのポインタでの構造体構造の中の配列となってしまい、
Visual Basic6での読み取り方が分かりません。
何か簡単な方法はないでしょうか。
解決策: LabVIEWからデータを受け渡す際に、2D配列のデータを複数の1D配列へ変更することにより
Visual Basic6から1D配列データとして簡単にデータの受け渡しを行なうことができます。
詳細はwaveform.zipのサンプルをご覧ください。
または、LabVIEWからデータを受け渡す際に、2D配列のデータを一旦Variant型とすることにより
Visual Basic6から2D配列データとして読み取る方法もあります。
詳細はVB.NETになりますが、関連リンクからサンプルがダウンロードできます。
関連リンク: Developer Zone Example: Using VB.NET to Call LabVIEW DLLs That Use 2D Numeric Arrays
添付: - waveform.zip
報告日時: 03/25/2005
最終更新日: 12/20/2007
ドキュメントID: 3JO1B9QZ
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.