機能
転送カウント数を取得します。
書式
Ret = DioDmGetCount ( Id , Dir , &Count , &Carry )
引数
Id
[ C: short ] [ Python: ctypes.c_short ]
DioInitで取得したデバイスIDを指定します。
Dir[C:unsigned
long] [Python: ctypes.c_ulong]
転送方向を設定してください。
定義 |
値 [Dec] |
意味 |
DIODM_DIR_IN |
1 |
入力 |
DIODM_DIR_OUT |
2 |
出力 |
Count[C:unsigned
long *] [Python: ctypes.POINTER(ctypes.c_ulong)]
カウント数を格納する変数のアドレスを指定してください。
Carry[C:unsigned
long *] [Python: ctypes.POINTER(ctypes.c_ulong)]
キャリーカウントを格納する変数のアドレスを指定してください。
戻り値
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_DIRECTION |
50000 |
入出力方向が設定範囲外です。 |
その他のエラー(参照:エラーコード詳細)
初期値
なし
説明
CountとCarryを合わせると、64ビットのカウント数を返します。
DIO-32DM3-PEの場合、最適化のため2 ~ 2048サンプリング毎にPC側へのデータ転送処理を行います。
そのため、クロック入力時にカウントが進まないことがありますが、サンプリングは行われております。
使用例
C |
Ret =DioDmGetCount(Id,
DIODM_DIR_IN, &Count, &Carry); |
Python |
Ret =cdio.DioDmGetCount(Id,
cdio.DIODM_DIR_IN, ctypes.byref(Count), ctypes.byref(Carry)) |
関連項目