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 );
}