機能
サンプリングバッファを設定します。
書式
Ret = CntSamplingSetBuffer ( Id , Buffer , ChNum , ScanNum , IsRing )
引数
Id
[ C: short ] [ Python: ctypes.c_short ]
CntInitで取得したデバイスIDを指定します。
Buffer
[ C: unsigned int * ] [ Python: ctypes.POINTER(ctypes.c_uint) ]
バッファの先頭アドレスを指定してください。
ChNum
[ C: short ] [ Python: ctypes.c_short ]
バッファのチャネル数を指定してください。
ScanNum
[ C: unsigned int ] [ Python: ctypes.c_uint ]
バッファのスキャン回数を指定してください。
指定可能範囲:
ChNum * ScanNum * 4Byte <= 64MByte
デバイス名称 |
設定可能範囲 |
CNT-3204IN-USB |
ChNum(チャネル数)× ScanNum(データ個数)×4Byte(データ単位)≦64MByte |
IsRing
[ C: short ] [ Python: ctypes.c_short ]
バッファを繰り返して使用するかどうかを設定してください。
定義 |
値 |
意味 |
CNTS_WRITE_ONCE |
0 |
1回転送 |
CNTS_WRITE_RING |
1 |
無限回転送 |
戻り値
Ret [ C: long ] [ Python: ctypes.c_long ]
定義 |
値 |
意味 |
CNT_ERR_SUCCESS |
0 |
正常終了 |
CNT_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました |
CNT_ERR_DLL_CALL_DRIVER |
10002 |
ドライバを呼び出せません。(ioctlに失敗) |
CNT_ERR_DLL_BUFF_ADDRESS |
10101 |
メモリの確保に失敗しました |
CNT_ERR_SYS_MEMORY |
20000 |
モードが指定可能範囲外です |
CNT_ERR_SYS_USING_OTHER_PROCESS |
20003 |
他のプロセスがデバイスを使用しているため、実行できません |
CNT_ERR_SYS_BUFFER |
21100 |
バッファが大きすぎて確保できませんでした |
CNT_ERR_SYS_LOCK_MEMORY |
21101 |
メモリがロックできませんでした |
CNT_ERR_SYS_SEQUENCE |
21102 |
実行手順エラー |
その他のエラー(参照:エラーコード詳細)
説明
バッファ設定は、転送開始前に毎回必ず実行してください。システムのメモリ状況によっては、64MByteの領域を設定できない場合があります。
サンプリング中にこの関数を実行した場合、実行手順エラーが発生します。必ず、サンプリングが完了したことを確認してから実行してください。
使用例
C |
Ret = CntSamplingSetBuffer(Id,
Buffer, ChNum, ScanNum, IsRing); |
Python |
Ret = ccnt.CntSamplingSetBuffer(Id,
Buffer, ChNum, ScanNum, IsRing) |
関連項目