Visual C++ (MFC)

Visual C++でのプログラム例です。変換データやエラー内容は、アウトプットウィンドウに表示されます。
AioSingleAoを使用したプログラム例

AioMultiAoを使用したプログラム例


AioSingleAoを使用したプログラム例

//---------------------------
// 変数宣言

//---------------------------

long Ret; //関数の戻り値
short Id; //ID
char ErrorString[256]; //エラー文字列格納用配列

//---------------------------
// デバイスの初期化
// デバイス名:Aio000
//---------------------------

Ret = AioInit( "Aio000" , &Id );
if( Ret != 0 ){
    AioGetErrorString( Ret , ErrorString );
    TRACE( "AioInit : %s\n" , ErrorString );
    exit( 0 );
}

//---------------------------
// アナログ出力レンジの設定
// レンジ:±10V
//---------------------------

Ret = AioSetAoRangeAll( Id , PM10 );
if( Ret != 0 ){
    AioGetErrorString( Ret , ErrorString );
    TRACE( "AioSetAoRangeAll : %s\n" , ErrorString );
    Ret = AioExit( Id );
    exit( 0 );
}

//---------------------------
// 指定チャネルを1回アナログ出力
// 出力チャネル:0
// 出力データ:800H
//---------------------------

Ret = AioSingleAo( Id , 0 , 0x800 );
if( Ret != 0 ){
    AioGetErrorString( Ret , ErrorString );
    TRACE( "AioSingleAo : %s\n" , ErrorString );
    Ret = AioExit( Id );
    exit( 0 );
}
TRACE( "チャネル0:%d\n" , 0x800 );

//---------------------------
// デバイスの終了
//---------------------------

Ret = AioExit( Id );
if( Ret != 0 ){
    AioGetErrorString( Ret , ErrorString );
    TRACE( "AioExit : %s\n" , ErrorString );
    exit( 0 );
}


AioMultiAoを使用したプログラム例

//---------------------------
// 変数宣言

//---------------------------

long Ret; //関数の戻り値
short Id; //ID
char ErrorString[256]; //エラー文字列格納用配列
long AoData[8]; //変換データ
short i;

//---------------------------
// デバイスの初期化
// デバイス名:Aio000
//---------------------------

Ret = AioInit( "Aio000" , &Id );
if( Ret != 0 ){
    AioGetErrorString( Ret , ErrorString );
    TRACE( "AioInit : %s\n" , ErrorString );
    exit( 0 );
}

//---------------------------
// アナログ出力レンジの設定
// レンジ:±10V
//---------------------------

Ret = AioSetAoRangeAll( Id , PM10 );
if( Ret != 0 ){
    AioGetErrorString( Ret , ErrorString );
    TRACE( "AioSetAoRangeAll : %s\n" , ErrorString );
    Ret = AioExit( Id );
    exit( 0 );
}

//---------------------------
// 複数チャネルを1回アナログ出力
// 出力チャネル数:8
//---------------------------

for( i = 0 ; i < 8 ; i++ ){
 AoData[ i ] = i * 100;
 TRACE( "チャネル%d:%d\n" , i , AoData[ i ] );
}

Ret = AioMultiAo( Id , 8 , &AoData[ 0 ] );
if( Ret != 0 ){
    AioGetErrorString( Ret , ErrorString );
    TRACE( "AioMultiAo : %s\n" , ErrorString );
    Ret = AioExit( Id );
    exit( 0 );
}

//---------------------------
// デバイスの終了
//---------------------------

Ret = AioExit( Id );
if( Ret != 0 ){
    AioGetErrorString( Ret , ErrorString );
    TRACE( "AioExit : %s\n" , ErrorString );
    exit( 0 );
}