Python

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( )