アナログ出力

指定チャネルのアナログ出力

指定チャネルのアナログ出力には、AioSingleAo関数またはAioSingleAoEx関数を使用します。
AioSingleAo関数は変換データをバイナリ値で設定し、AioSingleAoEx関数は変換データを電圧または電流値で設定します。

Ret = AioSingleAo ( Id , AoChannel , AoData )

Ret = AioSingleAoEx ( Id , AoChannel , AoData )

AoChannelには、アナログ出力を行うチャネルを指定します。
チャネルは0, 1, 2 ,...のように数えますので、例えばアナログ出力のチャネル数が4チャネルのデバイスの場合、指定できるチャネルは0, 1, 2, 3です。

AoDataには、アナログ出力データをバイナリ値で指定します。
AioSingleAoの場合、バイナリ値の範囲は12ビット分解能デバイスの場合で0~4095、16ビット分解能デバイスの場合で0~65535です。
AioSingleAiExの場合、アナログ入力データは電圧または電流値で設定します。

リレー回路を持つデバイスの場合、変換に使用するチャネルのリレー回路を自動的にON状態に設定します。
リレー回路をOFF状態にするには、AioDisableAo関数を使用してください。

複数チャネルのアナログ出力

指定チャネルのアナログ出力には、AioMultiAo関数またはAioMultiAoEx関数を使用します。
AioMultiAo関数は変換データをバイナリ値で設定し、AioMultiAoEx関数は変換データを電圧または電流値で設定します。

Ret = AioMultiAo ( Id , AoChannels , AoData )

Ret = AioMultiAoEx ( Id , AoChannels , AoData )

AoChannelsにアナログ出力を行うチャネル数を指定します。各チャネルの出力は同時に行われるため、チャネルの順序に関しては特に意味を持ちません。

AoChannelsに4を指定した場合、0, 1, 2, 3チャネルの変換を行います。
AoChannelsに4を指定して0, 2, 4, 6チャネルの変換を行うような使い方はできません。

AoChannels

変換されるチャネル

1

0

2

0, 1

3

0, 1, 2

AoDataには、出力データを格納した配列のアドレスを指定します。
配列は必ずAoChannelsで指定するチャネル数分のサイズを確保してください。
配列の添え字=出力チャネルデータ となります。

配列( 0 )

チャネル0の出力データ

配列( 1 )

チャネル1の出力データ

配列( 2 )

チャネル2の出力データ

  :

  :

AoData配列には、アナログ出力データをバイナリで値指定します。
AioSingleAoの場合、バイナリ値の範囲は12ビット分解能デバイスの場合で0~4095、16ビット分解能デバイスの場合で0~65535です。
AioSingleAiExの場合、アナログ入力データは電圧または電流値で設定します。

同期出力機能を持つデバイスの場合、設定されたチャネルに対して出力は同時に行われます。
同期出力機能を持たないデバイスの場合、出力はトランスペアレント(逐次出力)で0, 1, 2チャネルの順に行われます。

リレー回路を持つデバイスの場合、変換に使用するチャネルのリレー回路を自動的にON状態に設定します。
リレー回路をOFF状態にするには、AioDisableAo関数を使用してください。

電圧からバイナリ値への変換

アナログ出力関数(AioSingleAo、AioMultiAo)は出力データをバイナリ値で指定します。
電圧値からバイナリ値への変換は以下の式で行います。

バイナリ値 = 分解能 × ( 電圧値 - レンジの最小値 ) ÷ ( レンジの最大値 - レンジの最小値 )
分解能は12ビットの場合4096、16ビットの場合65536です。

例)アナログ出力レンジ:±5V、分解能:12ビット、2.5Vをバイナリ値に変換
バイナリ値 = 4096 × ( 2.5 - (-5) ) ÷ ( 5 - (-5) ) ≒ 3072

電流からバイナリ値への変換

アナログ出力関数(AioSingleAo、AioMultiAo)は出力データをバイナリ値で指定します。
電流値からバイナリ値への変換は以下の式で行います。

バイナリ値 = 分解能 × ( 電流値 - レンジの最小値 ) ÷ ( レンジの最大値 - レンジの最小値 )
分解能は12ビットの場合4096、16ビットの場合65536です。

例)アナログ出力レンジ:4~20mA、分解能:12ビット、10mAをバイナリ値に変換
バイナリ値 = 4096 × ( 10.0 - 4 ) ÷ (20 -4 ) = 1536