YdxAoSetData¶
機能¶
データをバイナリ値で設定します。
書式¶
INT YdxAoSetData(
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++ |
---|---|---|---|---|---|
型 | int | Integer | Long | int | INT |
data¶
データを格納した変数へのポインタを指定します。
(sampleNum * 有効なチャネル 数)個分の配列を指定してください。
(例)サンプル数=1000、有効チャネル=CH0・CH1・CH3の場合、データは以下の順番で格納してください。
データ | CH0 | CH1 | CH3 | CH0 | CH1 | CH3 | ・・・ | CH0 | CH1 | CH3 | CH0 | CH1 | CH3 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
サンプル数 | 1 | 1 | 1 | 2 | 2 | 2 | ・・・ | 999 | 999 | 999 | 1000 | 1000 | 1000 |
データ数 | 1 | 2 | 3 | 4 | 5 | 6 | ・・・ | 2995 | 2996 | 2997 | 2998 | 2999 | 3000 |
データの値の範囲は、-32768~32767です。
電圧値からの換算式は以下のとおりです。
data = 電圧値 * 32767 / 10
言語 | 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バッファ形式に設定されている時は、残っていたデータの後に追加されます。
データバッファにデータが残った状態のまま、YdxAoSetBuffer関数 ・ YdxAoSetChannel関数 により設定が変更された場合、データはクリアされます。
設定を変更する場合は本関数の実行前におこなってください。
本関数は、データバッファがリングバッファ形式に設定されている時は、アナログ出力が 動作中 は実行できません。
(データバッファがFIFOバッファ形式に設定されている時は、アナログ出力が動作中でも実行できます)
使用例¶
1000サンプリング分のデータを設定します。
(有効なチャネル数は4チャネルになっていて、データは15,000にする場合)
C#¶
int result;
int[] data = new int[4000];
int i;
for (i = 0; i < 4000; i++)
{
data[i] = 15000;
}
result = Ydx.AoSetData(id, 1000, data);
VB(.NET2002以降)¶
Dim result As Integer
Dim data(3999) As Integer
Dim i As Integer
For i = 0 To 3999
data(i) = 15000
Next
result = YdxAoSetData(id, 1000, data)
VB6.0¶
Dim result As Long
Dim data(3999) As Long
Dim i As Long
For i = 0 To 3999
data(i) = 15000
Next
result = YdxAoSetData(id, 1000, data(0))
C++/CLI¶
int result;
int data[4000];
int i;
for (i = 0; i < 4000; i++)
{
data[i] = 15000;
}
result = YdxAoSetData(id, 1000, data);
C/C++¶
INT result;
INT data[4000];
INT i;
for (i = 0; i < 4000; i++)
{
data[i] = 15000;
}
result = YdxAoSetData(id, 1000, data);