CntSamplingSetBuffer


機能

サンプリングバッファを設定します。

書式

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)
 

関連項目

CntSamplingStart