コンテンツにスキップ
関数 > デジタル入力 >

YdxDiGetData

機能

データを取得します。

書式

INT YdxDiGetData(
    INT id,
    INT* sampleNum,
    INT* data
);

パラメータ

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*

data

データを格納する変数へのポインタを指定します。
データは、以下のフォーマットで格納されます。

サンプリング MSB LSB
1回目 IN15 IN14 IN13 IN12 IN11 IN10 IN9 IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0
2回目 IN15 IN14 IN13 IN12 IN11 IN10 IN9 IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0
3回目 IN15 IN14 IN13 IN12 IN11 IN10 IN9 IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0
IN15 IN14 IN13 IN12 IN11 IN10 IN9 IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0
IN15 IN14 IN13 IN12 IN11 IN10 IN9 IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0
IN15 IN14 IN13 IN12 IN11 IN10 IN9 IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0
言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
int[] Integer Long int* INT*

戻り値

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

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

備考

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

FIFOバッファ形式の場合

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

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

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

使用例

1000サンプリング分のデータを取得します。

C#

int result;
int sampleNum = 1000;
int[] data = new int[1000];
result = Ydx.DiGetData(id, ref sampleNum, data);

VB(.NET2002以降)

Dim result As Integer
Dim sampleNum As Integer = 1000
Dim data(999) As Integer
result = YdxDiGetData(id, sampleNum, data)

VB6.0

Dim result As Long
Dim sampleNum As Long
Dim data(999) As Long
sampleNum = 1000
result = YdxDiGetData(id, sampleNum, data(0))

C++/CLI

int result;
int sampleNum = 1000;
int data[1000];
result = YdxDiGetData(id, &sampleNum, data);

C/C++

INT result;
INT sampleNum = 1000;
INT data[1000];
result = YdxDiGetData(id, &sampleNum, data);