Sets the user buffer that stores the output
data.
This settings is necessary when the transfer mode of the conversion data
that is set by AioSetAoTransferMode function is User buffer mode.
This function needn't be executed if the transfer mode of the conversion
data is Device buffer.
Ret = AioSetAoTransferData ( Id , DataNumber , Buffer )
Id
[ VB.NET : Short ] [ C, C++ : short ] [ C# : short ] [ Python : ctypes.c_short
]
Specifies the ID retrieved from AioInit function.
DataNumber
[ VB.NET : Integer ] [ C, C++ : long ] [ C# : int ] [ Python : ctypes.c_long
]
Specifies the array size of the user buffer that you want to set. please
specify the size that is the number of elements in the array.
Buffer
[ VB.NET : IntPtr ] [ C, C++ : long * ] [ C# : IntPtr ] [ Python : ctypes.POINTER(ctypes.c_long)
]
Specifies the address of the user buffer.
Ret [ VB.NET : Integer ] [ C, C++ : long ] [ C# : int ] [ Python : ctypes.c_long ]
Return values |
Content |
0 |
Normality completion |
7 |
Execute AioResetDevice function because the device has recovered from standby mode |
10001 |
Invalid
Id was specified |
10002 |
AIO
driver can't be called |
13600 |
The value of DataNumber is outside the designated range of the function |
13601 |
Pointer
to Buffer is NULL |
13602 |
It failed in securing a buffer for Bus-Master transfer |
20001 |
This function can't be used by this device |
20002 |
Can
not use while by another device works |
20003 |
Can
not use because another process is using the device |
23600 |
The value of DataNumber is outside the designated range of the device being used |
When the conversion data are stored to the user buffer, please refer to [User buffer setting]
When the user buffer is set, in advance, you need calculate the number of packets (=the number of elements in the array) of one generating. If you use AioGetAoSamplingDataSize function, the number of packets for one generating can be retrieved.
This function cannot be used on devices without
the analog output function.
If the device is in operation, the function cannot be performed.
Before this function is executed, please perform AioSetAoMemoryType
function.
DataNumber (array size) can be specified within the following ranges for each device.
AIO-163202G-PE |
DataNumber that can be set is 1 to 536870912 (2 GBytes).
These devices implement bus master transfers with a 64-bit bus width. Bus master transfer with 64-bit bus width has no buffer size limit depending on the OS used. |
||||||
AIO-163202F-PE |
These devices implement bus master transfers with a 32-bit bus width. Bus master transfers
with a 32-bit bus width are subject to buffer size restrictions
depending on the OS used. However, DataNumber cannot be set up to 16777216 (64MBytes) due to OS restrictions. please note. The details are as follows.
|
*Depending on how the physical address space is mapped, it may not be possible to set the bus master buffer size up to the maximum area.
Sets the user buffer with the size of 10000 packets.
VB.NET |
Please refer to Notes of Using
VisualBasic .NET |
C, C++ |
long Ret; |
C# |
Please refer to Notes of Using
Visual C# |
Python |
Ret = ctypes.c_long() |