AioGetAiTransferSize


機能

ユーザーバッファモードの転送サイズを取得します。

書式

Ret = AioGetAiTransferSize ( Id, AutoMode, TransferSize )

引数

Id [ C, C++: short ][ Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。

AutoMode [ C, C++ : short *  ][ Python : ctypes.POINTER(ctypes.c_short) ]
転送サイズの設定方法を格納します。

マクロ

 

AI_TRANSFERSIZE_MANUAL

0

転送サイズを手動設定

AI_TRANSFERSIZE_AUTO

1

転送サイズを自動設定

TransferSize [ C, C++ : long *  ][ Python : cytpes.POINTER(ctypes.c_long) ]
転送サイズを格納します。
転送サイズはパケット数で設定されています。

戻り値

Ret [ C, C++: long ][ Python: ctypes.c_long ]

戻り値

内容

0

正常終了

7

スタンバイモードから復帰したため、AioResetDevice関数を実行してください

10001

無効なIDが指定されました
関数に指定するIDは、AioInitで取得したIDを使用してください。

10002

ドライバを呼び出せません
始めにAioInit関数を実行しください。

12530

AutoModeがNULLです。パラメータには変数のアドレスを指定してください

12531

TransferSizeがNULLです。パラメータには変数のアドレスを指定してください

20001

使用しているデバイスではこの関数を使用することができません

20003

他のプロセスがデバイスを使用しているため、実行できません
他のプロセスがデバイスを使用しているときは、マルチプロセス対応関数以外実行できません。

22520

ドライバ内部エラーが発生しました。

初期値

すべてのデバイスで以下となります
AutoMode = 1
TransferSize = 転送サイズを自動で設定のためデバイスによって異なります。

AI-1664UG-PE
AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE

1

説明

ユーザーバッファモードで1回に転送する転送サイズを取得します。

自動設定の仕様についてはAioSetAiTransferSize関数をご参照ください。

使用例

転送サイズと転送サイズの設定方法を取得します。

C, C++

long Ret;

short AutoMode;
long TransferSize;
Ret = AioGetAiTransferSize ( Id , &AutoMode , &TransferSize );
 

Python

Ret = ctypes.c_long()
AutoMode = ctypes.c_long()
TransferSize = ctypes.c_long()
Ret.value = caio.AioGetAiTransferSize ( Id , ctypes.byref(AutoMode) , ctypes.byref(TransferSize) )