AioInputDiByte


機能

指定デジタル入力ポートからバイト単位でデータを入力します。マルチプロセス対応関数です。

書式

Ret = AioInputDiByte ( Id , DiPort , DiData )

引数

Id [ C, C++: short ] [ Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。

DiPort [ C, C++: short ] [ Python: ctypes.c_short ]
デジタル入力ポートを指定します。

DiData [ C, C++: short * ] [ Python: ctypes.POINTER(ctypes.c_short) ]
入力データを格納する変数のアドレスを指定します。

戻り値

Ret [ C, C++: long ] [ Python: ctypes.c_long ]

戻り値

内容

0

正常終了

7

スタンバイモードから復帰したため、AioResetDevice関数を実行してください

10001

無効なIDが指定されました
関数に指定するIDは、AioInitで取得したIDを使用してください。

10002

ドライバを呼び出せません
始めにAioInit関数を実行しください。

14010

DiPortの値が関数の指定範囲外です
デジタル入力ポートは 0≦DiPort≦最大ポート の範囲で指定してください。

14011

DiDataのポインタがNULLです

20001

このデバイスではこの関数は使用できません

24010

DiPortの値が使用しているデバイスの範囲外です

説明

デジタル入力機能を持たないデバイスでは使用できません。

デジタル入力と外部制御信号入力が兼用のデバイスは、どちらかの機能しか使用することができません。
外部制御信号を設定している時にデジタル入力を行うと、外部制御信号の設定が無効になります。

デバイス別仕様

AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE

デバイス上の「Eシリーズ設定」用ジャンパによって動作が異なります。

 

デバイス上の「Eシリーズ設定」用ジャンパが「Eシリーズ互換として使用しない」の場合、AioSetDioDirectionで入出力方向を切り替えることができます。

DIO00~DIO07へアクセスする場合、引数DiPortは0を指定します。

DIO08~DIO15へアクセスする場合、引数DiPortは1を指定します。

デジタル出力ポートの場合は、エコーバック値となります。

 

デバイス上の「Eシリーズ設定」用ジャンパが「Eシリーズ互換として使用する」の場合、DIO00~DIO07が入力、DIO08~DIO15が出力固定です。

DIO00~DIO07へアクセスする場合、引数DiPortは0を指定します。

DIO08~DIO15へはアクセスできません。

AIO-121602LN-USB

AIO-120802LN-USB

AioSetDioDirectionで入出力方向を切り替えることができます。

 

DIO00~DIO07へアクセスする場合、引数DiPortは0を指定します。

DIO08~DIO15へアクセスする場合、引数DiPortは1を指定します。

デジタル出力ポートの場合は、エコーバック値となります。

使用例

0ポートからデジタルデータを入力します。

C, C++

long Ret;
short DiData;
Ret = AioInputDiByte ( Id , 0 , &DiData );
 

Python

Ret = ctypes.c_long()
DiData = ctypes.c_short()
Ret.value = caio.AioInputDiByte ( Id , 0 , ctypes.byref(DiData) )
 

関連項目

AioInputDiBit