AioSetDemoDiBit


機能

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

書式

Ret = AioSetDemoDiBit ( Id , DiBitNum , DiBit , DiData )

引数

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

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

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

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

0

OFF

1

ON

戻り値

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

戻り値

内容

0

正常終了

10001

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

10002

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

18103

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

28100

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

28101

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

28102

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

28103

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

説明

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

初期値は0 (OFF)です。

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

使用例

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

C, C++

long Ret;
short DiBit[8];
short DiData[8];
short i;
for( i = 0 ; i < 8 ; i++ ){
    DiBit[i] = i;
    DiData[i] = 1;
}
Ret = AioSetDemoDiBit ( Id , 8 , &DiBit[0] , &DiData[0] );
 

Python

Ret = ctypes.c_long()
DiBitType = ctypes.c_short * 8
DiBit = DiBitType()
DiDataType = ctypes.c_short * 8
DiData = DiDataType()
for i in range(8):
    DiBit[i] = i
    DiData[i] = 1
Ret.value = caio.AioSetDemoDiBit ( Id , 8 , DiBit , DiData )
 

関連項目

AioSetDemoDiByteAioInputDiBit