機能
比較レジスタを設定します。
書式
Ret = DioSetCountMatchValue( Id , ChNo , ChNum , CompareRegNo, CompareCount )
引数
Id
[ C: short ] [ Python: ctypes.c_short ]
DioInitで取得したデバイスIDを指定します。
ChNo
[ C: short * ] [ Python: ctypes.POINTER(ctypes.c_short) ]
設定を行うチャネル番号を格納した配列の先頭アドレスを指定します。
ChNum
[ C: short ] [ Python: ctypes.c_short ]
ChNoで指定したチャネル数を指定します。
CompareRegNo
[ C: short * ] [ Python: ctypes.POINTER(ctypes.c_short) ]
比較レジスタのレジスタ番号を格納した配列の先頭アドレスを指定します。
デバイス |
設定可能値 |
CPSN-DI-16BCL |
0のみ |
CompareCount
[ C:unsigned int *] [ Python: ctypes.POINTER(ctypes.c_uint) ]
比較レジスタに設定する比較値を格納した配列の先頭アドレスを指定します。
指定可能範囲:
32ビットカウンタデバイスの場合 : 0h <= Count <= FFFFFFFFh
戻り値
Ret [ C: long ] [ Python: ctypes.c_long ]
定義 |
値 [Dec] |
意味 |
DIO_ERR_SUCCESS |
0 |
正常終了 |
DIO_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
ドライバを呼び出せません(ioctlに失敗)。 |
DIO_ERR_DLL_BUFF_ADDRESS |
10100 |
データバッファアドレスが不正です。 |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません。 |
DIO_ERR_SYS_CH_NO |
20105 |
チャネル番号が指定可能範囲を超えています。 |
DIO_ERR_SYS_CH_NUM |
20106 |
チャネル数が指定可能範囲を超えています。 |
DIO_ERR_SYS_CMP_REG_NO |
20800 |
比較レジスタ番号が指定可能範囲外です。 |
DIO_ERR_SYS_CMP_REG_VAL |
20801 |
比較レジスタ値が指定可能範囲外です。 |
その他のエラー(参照:エラーコード詳細)
説明
・指定したカウント値に一致したかどうかを DioGetCountStatus
にて確認することができます。
使用例
C |
Ret = DioSetCountMatchValue(Id,
&ChNo[0], ChNum, &CompareRegNo[0], &CompareCount[0]); |
Python |
Ret = cdio.DioSetCountMatchValue(Id,
ChNo, ChNum, CompareRegNo, CompareCount) |
関連項目