AioSetAiMemorySize


機能

データ格納用メモリのサイズをバイト単位で設定します。Zシリーズ専用関数です。

書式

Ret = AioSetAiMemorySize ( Id , AiMemorySize)

引数

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

AiMemorySize [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
データ格納用メモリサイズをバイト単位で指定します。

戻り値

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

戻り値

内容

0

正常終了

7

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

10001

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

10002

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

11820

AiMemorySizeの値が指定範囲外です。

20001

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

20002

デバイスが動作中のため実行できません
この関数を使用するには、アナログ入力動作が停止している必要があります。

20003

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

21820

このデバイスではメモリサイズの設定はできません。

初期値

AiMemorySize = 1024*1024(1M Byte)です。

説明

アナログ入力機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。
Zシリーズ専用関数です。

デバイス別仕様

AI-1204Z-PE

設定可能なAiMemorySize は0~2147483648 (2GByte分)です。

AI-1204Z-PCI

これらのデバイスは、32bitバス幅でバスマスタ転送を実現しています。

32bitバス幅でのバスマスタ転送は、利用OSよるバッファサイズ制限を受けます。

 

最大64MByteのバスマスタ転送ができるようにハードウェア設計されています。
しかしながら、OS制限によりAiMemorySizeは67108864(64MBytes分)まで設定できません。ご注意ください。

詳細は以下の通りです。

利用OS

設定可能範囲

Windows10 Version 1703 以降 (Windows 11も含む)

設定可能なAiMemorySizeは1~2097152(2MByte分)です。

Windows10 Version 1607 以前

設定可能なAiMemorySizeは1~1048576(1MByte分)です。

使用例

メモリサイズを256*1024バイトに設定します。

VB.NET

Dim Ret As Integer
Ret = AioSetAiMemorySize ( Id , 256*1024)
 

C, C++

long Ret;
Ret = AioSetAiMemorySize ( Id , 256*1024);
 

C#

int Ret;
Ret = aio.SetAiMemorySize ( Id , 256*1024);
 

Python

Ret = ctypes.c_long()
Ret.value = caio.AioSetAiMemorySize ( Id , 256*1024)
 

関連項目

AioGetAiMemorySize