サンプリングステータスを取得します。
Ret = CntGetSamplingStatus ( Id , Status , Err )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
CntInitで取得したデバイスIDを指定します。
Status
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
ステータス情報(ステータス、警告)を返します。
いずれの条件も満たしていない場合は「0」となります。
例えば、一度もサンプリングスタートしていない場合や、開始条件でソフトウェアスタート以外を設定して開始条件が満たされない場合など。
定義 |
値 |
意味 |
CNTS_STATUS_BMSTOP |
01H |
サンプリングバッファへのデータの転送が完了したことを示します。 |
CNTS_STATUS_CNTSTART |
02H |
カウンタサンプリングが開始したことを示します。 |
CNTS_STATUS_CNTSTOP |
04H |
カウンタサンプリングが終了したことを示します。 |
CNTS_STATUS_TRGIN |
08H |
外部スタートでスタート信号が入ったことを示します。 |
CNTS_STATUS_OVERRUN |
10H |
外部スタートでスタート信号が2回以上はいったことを示します。 外部接続信号の仕様上問題がなければ無視してください。 |
Err
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
エラー情報を返します。
定義 |
値 |
意味 |
CNTS_STATUS_FIFOFULL |
02H |
FIFOがいっぱいになったことを示します。 主原因は、システムの負荷が高くサンプリングが間に合わないためです。 転送レートを下げる、システムの負荷を下げる等の対策が必要です。 |
CNTS_STATUS_SGOVERIN |
04H |
バッファがオーバーフローしたことを示します。 転送しようとしたデータ数がバッファのサイズを超えています。 バッファサイズを大きくしてください。 |
CNTS_STATUS_TRGERR |
08H |
外部スタートで、スタート信号とストップ信号が同時に入ったことを示します。 このステータスが立った場合、転送は行われません。 外部スタート信号と外部ストップ信号の入り方を確認してください。 |
CNTS_STATUS_CLKERR |
10H |
外部クロックで入力中に次のクロックが入ったことを示します。 このステータスが立った場合、指定のサンプリングクロックではサンプリングできません。 外部クロックの周期を下げることを検討してください。 なお、サンプリング開始時に一度サンプリングが行われることに注意してください。 このサンプリング時に外部クロックが入った場合にもこのエラーが発生します。 |
CNTS_STATUS_SLAVEHALT |
20H |
スレーブからの停止要因で強制停止したことを示します。 スレーブ側のエラーを確認してください。 |
CNTS_STATUS_MASTERHALT |
40H |
マスターからの停止要因で強制停止したことを示します。 マスター側のエラーを確認してください。 |
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
定義 |
値 |
意味 |
CNT_ERR_SUCCESS |
0 |
正常終了 |
CNT_ERR_SYS_RECOVERED_FROM_STANDBY |
7 |
スタンバイモードから復帰したため、CntResetDevice関数を実行してください |
CNT_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました |
CNT_ERR_DLL_CALL_DRIVER |
10002 |
ドライバーを呼び出せません。(デバイスI/Oコントロールに失敗) |
CNT_ERR_DLL_BUFF_ADDRESS |
10101 |
データバッファアドレスが不正です |
CNT_ERR_SYS_MEMORY |
20000 |
メモリの確保に失敗しました |
CNT_ERR_SYS_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません |
CNT_ERR_SYS_USING_OTHER_PROCESS |
20003 |
他のプロセスがデバイスを使用しているため、実行できません |
その他のエラー(参照:エラーコード詳細)
転送完了後は、必ずステータスをチェックするようにしてください。
通常、転送完了の確認にはCntNotifySamplingStop関数を使用しますが、この関数を使用してサンプリングの完了を確認する場合はCNTS_STATUS_BMSTOP のステータスを監視します。
サンプリングステータスを取得します。
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |