コンテンツにスキップ
関数 > アナログ入力 >

YdxAiGetDataVolt

機能

データを電圧値で取得します。

書式

INT YdxAiGetDataVolt(
    INT id,
    INT* sampleNum,
    FLOAT* volt
);

パラメータ

id

YdxOpen関数 で取得したIDを指定します。

言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
int Integer Long int INT

sampleNum

読み出したいサンプル数を格納した変数へのポインタを指定します。
データ数ではなく、サンプル数で指定してください。
関数実行後には、実際に読み出されたサンプル数が格納されます。

言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
ref int Integer Long int* INT*

volt

データを格納する変数へのポインタを指定します。
(sampleNum * 有効なチャネル 数)個分の配列を用意してください。
(例)サンプル数=1000、有効チャネル=CH0・CH1・CH4の場合、データは以下の順番で格納されます。

データ CH0 CH1 CH4 CH0 CH1 CH4 ・・・ CH0 CH1 CH4 CH0 CH1 CH4
サンプル数 1 1 1 2 2 2 ・・・ 999 999 999 1000 1000 1000
データ数 1 2 3 4 5 6 ・・・ 2995 2996 2997 2998 2999 3000
言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
float[] Single Single float* FLOAT*

戻り値

関数が正常に終了した場合は、0(YDX_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は、0以外が返ります。
詳細は、戻り値一覧 を参照してください。

言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
int Integer Long int INT

備考

データバッファ形式によって以下の動作となります。

FIFOバッファ形式の場合

  • 古いデータを指定したサンプル数(sampleNum)読み出します。
  • 読み出されたデータはバッファから破棄されます。
  • アナログ入力が 動作中 でも実行できます。

リングバッファ形式の場合

  • 新しいデータを指定したサンプル数(sampleNum)読み出します。
  • 読み出されたデータはバッファから破棄されません。
    (再度読み出す事が可能)
  • アナログ入力が 動作中 は実行できません。

使用例

1000サンプリング分のデータを取得します。
(有効なチャネル数は、6チャネルの場合)

C#

int result;
int sampleNum = 1000;
float[] volt = new float[6000];
result = Ydx.AiGetDataVolt(id, ref sampleNum, volt);

VB(.NET2002以降)

Dim result As Integer
Dim sampleNum As Integer = 1000
Dim volt(5999) As Single
result = YdxAiGetDataVolt(id, sampleNum, volt)

VB6.0

Dim result As Long
Dim sampleNum As Long
Dim volt(5999) As Single
sampleNum = 1000
result = YdxAiGetDataVolt(id, sampleNum, volt(0))

C++/CLI

int result;
int sampleNum = 1000;
float volt[6000];
result = YdxAiGetDataVolt(id, &sampleNum, volt);

C/C++

INT result;
INT sampleNum = 1000;
float volt[6000];
result = YdxAiGetDataVolt(id, &sampleNum, volt);