Visual C++ (MFC)

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

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


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

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

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

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

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

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

//---------------------------
// アナログ入力方式の設定
// 入力方式:シングルエンド入力
//---------------------------

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

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

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

//---------------------------
// 指定チャネルを1回アナログ入力
// 入力チャネル:0
//---------------------------

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

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

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


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

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

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

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

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

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

//---------------------------
// アナログ入力方式の設定
// 入力方式:シングルエンド入力
//---------------------------

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

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

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

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

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

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

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

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