サンプリングバッファを設定します。
Ret = CntSamplingSetBuffer ( Id , Buffer , ChNum , ScanNum , IsRing )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
CntInitで取得したデバイスIDを指定します。
Buffer
[ VB.NET: IntPtr ] [ C, C++: unsigned long * ] [ C#: IntPtr ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
バッファの先頭アドレスを指定してください。
ChNum
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
バッファのチャネル数を指定してください。
ScanNum
[ VB.NET: Integer ] [ C, C++: unsigned long ] [ C#: uint ] [ Python: ctypes.c_ulong
]
バッファのスキャン回数(データ個数)を指定してください。1データは4Byteです。
「ChNum(チャネル数) × ScanNum(データ個数) 」の値は、デバイス毎にそれぞれに以下の範囲で指定できます。
デバイス名称 |
設定可能範囲 |
||||||
CNT-3204IN-USB |
ChNum(チャネル数) × ScanNum(データ個数) × 4Byte(データ単位) ≦ 64MByte |
||||||
CNT32-8M(PCI) |
これらのデバイスは、32bitバス幅でバスマスタ転送を実現しています。 32bitバス幅でのバスマスタ転送は、利用OSよるバッファサイズ制限を受けます。
最大64MByteのバスマスタ転送ができるようにハードウェア設計されています。 しかしながら、OS制限により64MBytesまで設定できません。ご注意ください。 詳細は以下の通りです。
|
※物理アドレス空間へのマッピングのされ方によっては、バスマスタ用バッファサイズを最大領域まで設定できない場合があります。
IsRing
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
バッファを繰り返して使用するかどうかを設定してください。
定義 |
値 |
意味 |
CNTS_WRITE_ONCE |
0 |
1回転送 |
CNTS_WRITE_RING |
1 |
無限回転送 |
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 |
他のプロセスがデバイスを使用しているため、実行できません |
CNT_ERR_SYS_BUFFER |
21100 |
バッファが大きすぎて確保できませんでした |
CNT_ERR_SYS_LOCK_MEMORY |
21101 |
メモリがロックできませんでした |
CNT_ERR_SYS_SEQUENCE |
21102 |
実行手順エラー |
その他のエラー(参照:エラーコード詳細)
バッファ設定は、転送開始前に毎回必ず実行してください。
USBデバイスの場合も、システムのメモリ状況によっては、64MByteの領域を設定できない場合があります。
サンプリング中にこの関数を実行した場合、実行手順エラーが発生します。
必ず、サンプリングが完了したことを確認してから実行してください。
チャネル0に対して、10000データ分のバッファを設定します。バッファは無限回転送として使用します。
VB.NET |
VisualBasic.NETでご使用の際の注意点を参照してください。 |
C, C++ |
long Ret; |
C# |
VisualC#.NETでご使用の際の注意点 を参照してください。 |
Python |
Ret = ctypes.c_long() |