Function
Sets the user buffer that stores the conversion data.
This settings is necessary when the transfer mode of the conversion data that is set by AioSetAiTransferMode function is User buffer mode.
This function needn't be executed if the transfer mode of the conversion data is Device buffer.
Format
Ret = AioSetAiTransferData ( Id , DataNumber , Buffer )
Parameters
Id [ C, C++ : short ] [ Python : ctypes.c_short ]
Specifies the Device ID retrieved from AioInit function.
DataNumber [ C, C++ : long ] [ 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 packets.
Buffer [ C, C++ : long * ] [ Python : ctypes.POINTER(ctypes.c_long) ]
Specifies the address of the user buffer. When used on 64bit OS, please declare the buffer as int and cast the starting address of the buffer to long *.
Return value
Ret [ C, C++ : long ] [ 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 |
11980 |
The value of DataNumber is outside the designated range of the function |
11981 |
Pointer to Buffer is NULL |
11982 |
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 |
21980 |
The value of DataNumber is outside the designated range of the device being used |
Remarks
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 sampling. If you use AioGetAiSamplingDataSize function, the number of packets for one sampling can be retrieved.
This function cannot be used on devices without the analog input function.
If the device is in operation, the function cannot be performed.
Before this function is executed, please perform AioSetAiMemoryType function.
Specifications based on devices
AI-1204Z-PE |
Usable DataNumber is 1 to 536870912 (2GBytes) |
Example
Sets the user buffer with the size of 10000 packets.
C, C++ |
long Ret; |
Python |
Ret = ctypes.c_long() |