状態監視

変換開始後、デバイスの様々な動作状態を監視する事ができます。

ステータス

AioGetCntStatus関数でデバイスのステータスを監視する事ができます。

Ret = AioGetCntStatus ( Id , CntChannel , CntStatus )

CntChannelには、カウンタのチャネル番号を設定します。

CntStatusにはステータスを格納する変数のアドレスを指定します。
CntStatusはビットごとに意味を持っているので、あるステータスの状態を調べるには対応するビットがONかOFFかを取得してください。

ステータス

マクロ

カウンタ動作中

CNTS_BUSY

00000001H

比較カウント一致

CNTS_DATA_NUM

00000010H

オーバーラン

CNTS_ORERR

00010000H

カウンタ動作エラー

CNTS_ERR

00010001H

カウンタの動作開始後に比較カウント一致が発生すると、比較カウント一致ステータスがON状態になります。
このステータスはAioResetCntStatus関数を実行する事によりOFFされます。

比較カウント一致ステータスがONの状態で再度比較カウント一致が発生すると、オーバーランステータスがON状態になります。
このステータスはAioResetCntStatus関数を実行する事によりOFFされます。
オーバーランステータスがONになっても、カウンタの動作は停止しません。

短い時間内に比較カウント一致が連続で発生する場合、デバイスドライバでの処理が間に合わない事があります。
この場合、カウンタ動作エラーステータスがON状態になり、カウンタ動作は停止します。

 

現在のカウント値の取得

AioGetCntCount関数を実行して、現在のカウント値を取得する事ができます。

Ret = AioGetCntCount ( ID , CntChannel , Count )

CntChannelには、カウンタのチャネル番号を設定します。
Countには現在のカウント値を格納する変数のアドレスを指定します。