カウンタのステータスを取得します。
Ret = AioGetCntStatus ( Id , CntChannel , CntStatus )
Id
[ C, C++: short ] [ Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。
CntChannel
[ C, C++: short ] [ Python: ctypes.c_short ]
カウンタのチャネルを設定します。
CntStatus
[ C, C++: long * ] [ Python: ctypes.POINTER(ctypes.c_long) ]
ステータスを格納する変数のアドレスを指定します。
CntStatusはビット単位で以下のような意味を持ちます。
ステータス |
マクロ |
値 |
カウンタ動作中 |
CNTS_BUSY |
00000001H |
比較カウント一致 |
CNTS_DATA_NUM |
00000010H |
オーバーラン |
CNTS_ORERR |
00010000H |
カウンタ動作エラー |
CNTS_ERR |
00020000H |
Ret [ C, C++: long ] [ Python: ctypes.c_long ]
戻り値 |
内容 |
0 |
正常終了 |
7 |
スタンバイモードから復帰したため、AioResetDevice関数を実行してください |
10001 |
無効なIDが指定されました |
10002 |
ドライバを呼び出せません |
15200 |
CntChannelの値が関数の指定範囲外です |
15201 |
CntStatusのポインタがNULLです |
20001 |
使用しているデバイスではこの関数を使用することができません |
20003 |
他のプロセスがデバイスを使用しているため、実行できません |
25200 |
CntChannelの値がデバイスの指定範囲外です |
全てのデバイスでCntStatus = 0
カウンタの動作開始後に比較カウント一致が発生すると、比較カウント一致ステータスがON状態になります。
このステータスはAioResetCntStatus関数を実行する事によりOFFされます。
比較カウント一致ステータスがONの状態で再度比較カウント一致が発生すると、オーバーランステータスがON状態になります。
このステータスはAioResetCntStatus関数を実行する事によりOFFされます。
オーバーランステータスがONになっても、カウンタの動作は停止しません。
短い時間内に比較カウント一致が連続で発生する場合、ドライバでの処理が間に合わない事があります。
この場合、カウンタ動作エラーステータスがON状態になり、カウンタ動作は停止します。
カウンタ機能を持たないデバイスでは使用できません。
デバイス動作中での実行が可能です。
チャネル0のカウンタステータスを取得します。
C, C++ |
long
Ret; |
Python |
Ret
= ctypes.c_long() |