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

YdxAoOutput

機能

アナログ出力端子を制御します。
データは、バイナリ値で指定します。

書式

INT YdxAoOutput(
    INT id,
    INT start,
    INT num,
    INT mode,
    INT* data
);

パラメータ

id

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

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

start

出力開始チャネルを指定します。
設定範囲は0~3です。

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

num

出力をするチャネル数を指定します。

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

mode

動作モードを指定します。

意味
0 出力の更新を、すぐにおこないます。
1 出力の更新を、次のサンプリング周期でおこないます。
(アナログ出力のサンプリングが停止中・待機中は、出力は更新されません)
ただし、出力が更新されるのは、チャネル設定 で無効になっているチャネルのみです。
(有効になっているチャネルは、データバッファからのデータで更新されます)
アナログ出力が 動作中 に実行する場合は、1を指定してください。
言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
int Integer Long int INT

data

出力データを格納した変数へのポインタを指定します。
データの値の範囲は、-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

備考

本関数は、modeに0を指定する場合は、アナログ出力が 動作中 には実行できません。
(modeに1を指定する場合は、アナログ出力が動作中でも実行できます)

使用例

アナログ出力チャネル0~3(AOUT0~AOUT3)に、15000を出力します。

C#

int result;
int[] data = new int[4];
int i;
for (i = 0; i < 4; i++)
{
    data[i] = 15000;
}
result = Ydx.AoOutput(id, 0, 4, 0, data);

VB(.NET2002以降)

Dim result As Integer
Dim data(3) As Integer
Dim i As Integer
For i = 0 To 3
    data(i) = 15000
Next
result = YdxAoOutput(id, 0, 4, 0, data)

VB6.0

Dim result As Long
Dim data(3) As Long
For i = 0 To 3
    data(i) = 15000
Next
result = YdxAoOutput(id, 0, 4, 0, data(0))

C++/CLI

int result;
int data[4];
int i;
for (i = 0; i < 4; i++)
{
    data[i] = 15000;
}
result = YdxAoOutput(id, 0, 4, 0, data);

C/C++

INT result;
INT data[4];
INT i;
for (i = 0; i < 4; i++)
{
    data[i] = 15000;
}
result = YdxAoOutput(id, 0, 4, 0, data);