C、C++、またはVisual Basicでプログラミングする場合は、プログラムで波形配列を宣言する必要があります。この配列は、フェッチ関数によって集録されたデータにスペースを割り当てます。LabVIEWでは、フェッチ関数が自動的に割り当てを行うため、波形を宣言する必要はありません。

NI-SCOPEは、「水平軸タイミングを構成」関数で指定された最小レコード長まで強制変換します。「niScope実際のレコード長」を呼び出して、デジタイザで集録した実際のサンプル数を取得することができます。

波形配列を宣言する場合には、NI-SCOPEの「実際の波形数」関数を使用します。この関数は、以下の式のようにフェッチで使用できる波形数を返します。

波形数 = NR x NC x AT

NRはレコード数、NCはチャンネル数、ATは現在の集録タイプの波形数です。ATの値は1です。「実際の波形数」関数を使用すると、フェッチ関連のコードを変更せずに、異なる波形タイプ (標準または可変分解能)、チャンネルリスト、最小レコード長などを切り替えることができます。

波形配列は、「フェッチする波形数 × 各波形でフェッチするポイント数」となる1次元配列です。たとえば、Cプログラムでスケールされた電圧データをフェッチするには、コードは以下のようになります。

ViReal64 *wfmPtr; ViInt32 actualRecordLength, numWfms; niScope_ActualRecordLength (vi, &actualRecordLength); niScope_ActualNumWfms (vi, channelList, &numWfms); wfmPtr = malloc (sizeof(ViReal64) * actualRecordLength * numWfms);

また、niScope_WfmInfoストラクチャを宣言して、各波形を示す定数を維持します。フェッチされた各波形に対し1つのストラクチャが必要です。構文は以下のとおりです。

struct niScope_wfmInfo *wfmInfoPtr; wfmInfoPtr = malloc (sizeof(struct niScope_wfmInfo) * numWfms);