AioSetDemoDiByte


機能

デモデバイスのデジタル入力をポート単位で設定する関数になります

書式

Ret = AioSetDemoDiByte ( Id , DiPortNum , DiPort , DiData )

引数

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

DiPortNum [ C, C++: short ] [ Python: ctypes.c_short ]
ポート番号配列数を指定します。

DiPort [ C, C++: short * ] [ Python: ctypes.POINTER(ctypes.c_short) ]
ポート番号を格納した配列のアドレスを指定します。

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

戻り値

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

戻り値

内容

0

正常終了

10001

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

10002

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

18123

DiPortまたはDiDataのポインタがNULLです

28120

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

28121

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

28122

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

28123

ドライバ内部エラーが発生しました

説明

デモデバイス専用関数です。

1ポートは、8ビットです。
初期値は0です。

なお、デジタル入力値の確認には、AioInputDiByte関数を利用してください。

使用例

0~7ポートにデジタル入力データFH(0、1、2、3ビットON)を設定します。

C, C++

long Ret;
short DiByte[8];
short DiData[8];
short i;
for( i = 0 ; i < 8 ; i++ ){
    DiByte[i] = i;
    DiData[i] = 0xF;
}
Ret = AioSetDemoDiByte ( Id , 8 , &DiByte[0] , &DiData[0] );
 

Python

Ret = ctypes.c_long()
DiByteType = ctypes.c_short * 8
DiByte = DiByteType()
DiDataType = ctypes.c_short * 8
DiData = DiDataType()
for i in range(8):
    DiByte[i] = i
    DiData[i] = 0xF
Ret.value = caio.AioSetDemoDiByte ( Id , 8 , DiByte , DiData )
 

関連項目

AioSetDemoDiBitAioInputDiByte