データバッファ上の転送位置を取得します。
Ret = DioDmGetWritePointer ( Id , Direction , WritePointer , Count , Carry )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
DioInitで取得したデバイスIDを指定します。
Direction
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
転送方向を設定してください。
定義 |
値 [Dec] |
意味 |
DIODM_DIR_IN |
1 |
入力 |
DIODM_DIR_OUT |
2 |
出力 |
WritePointer
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
転送位置を格納する変数のアドレスを指定してください。
Count
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
転送カウント数を格納する変数のアドレスを指定してください。
Carry
[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python:
ctypes.POINTER(ctypes.c_ulong) ]
キャリーカウント数を格納する変数のアドレスを指定してください。
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
定義 |
値 [Dec] |
意味 |
DIO_ERR_SUCCESS |
0 |
正常終了 |
DIO_ERR_SYS_RECOVERED_FROM_STANDBY |
7 |
スタンバイモードから復帰したため、DioResetDevice関数を実行してください |
DIO_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
ドライバーを呼び出せません(デバイスI/Oコントロールに失敗)。 |
DIO_ERR_DLL_BUFF_ADDRESS |
10100 |
データバッファアドレスが不正です。 |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません。 |
DIO_ERR_SYS_IODIRECTION |
20500 |
入出力方向が設定範囲外です。 |
その他のエラー(参照:エラーコード詳細)
なし
データバッファ上で、どこまでデータが書き込まれているかを知ることができます。 転送カウント数が0で転送位置が0の時は、データが転送されていない状態を表すため、実際に書き込まれている位置はこの関数で取得できる転送カウント数のひとつ前のデータとなります。
DIO-32DM3-PEの場合、最適化のため2 ~ 2048サンプリング毎にPC側へのデータ転送処理を行います。
そのため、クロック入力時に転送位置およびカウントが進まないことがありますが、サンプリングは行われております。
入力転送データバッファ上の転送位置を取得します。
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |