Python 3でのプログラム例です。変換データやエラー内容は、アウトプットウィンドウに表示されます。
AioSingleAiを使用したプログラム例
AioSingleAiを使用したプログラム例
#---------------------------
# 変数宣言
#---------------------------
Ret = ctypes.c_long() #関数の戻り値
Id = ctypes.c_short() #ID
ErrorString = ctypes.create_string_buffer(256) #エラー文字列格納用配列
AiData = ctypes.c_long() #変換データ
#---------------------------
# デバイスの初期化
# デバイス名:Aio000
#---------------------------
Ret.value = caio.AioInit ( b"AIO000" , ctypes.byref(Id) )
if Ret.value != 0:
caio.AioGetErrorString( Ret, ErrorString )
print( f"AioInit : {ErrorString.value.decode('sjis')}"
)
sys.exit()
#---------------------------
# アナログ入力方式の設定
# 入力方式:シングルエンド入力
#---------------------------
Ret.value = caio.AioSetAiInputMethod( Id , 0 )
if Ret.value != 0:
caio.AioGetErrorString( Ret , ErrorString )
print( f"AioSetAiInputMethod : {ErrorString.value.decode('sjis')}"
)
Ret.value = caoi.AioExit( Id )
sys.exit( )
#---------------------------
# アナログ入力レンジの設定
# レンジ:±10V
#---------------------------
Ret.value = caio.AioSetAiRangeAll( Id , caio.PM10 )
if Ret.value != 0:
AioGetErrorString( Ret , ErrorString )
print( f"AioSetAiRangeAll : {ErrorString.value.decode('sjis')}"
)
Ret.value = caio.AioExit( Id )
sys.exit( )
#---------------------------
# 指定チャネルを1回アナログ入力
# 入力チャネル:0
#---------------------------
Ret.value = caio.AioSingleAi( Id , 0 , ctypes.byref(AiData) )
if Ret.value != 0:
AioGetErrorString( Ret , ErrorString )
print( f"AioSingleAi : {ErrorString.value.decode('sjis')}"
)
Ret.value = caio.AioExit( Id )
sys.exit( )
print( f"チャネル0 : {AiData.value}\n" )
#---------------------------
# デバイスの終了
#---------------------------
Ret.value = caio.AioExit ( Id )
if Ret.value != 0:
AioGetErrorString( Ret , ErrorString )
print( f"AioExit : {ErrorString.value.decode('sjis')}"
)
Ret.value = caio.AioExit( Id )
sys.exit( )