Function
Reads the sampling data of specified times
from the device memory (software memory). The converted data are stored
in Voltage or Current.
This function can only be used when the transfer mode of the conversion
data that is set by AioSetAiTransferMode is Device buffer mode.
It cannot be used when the transfer mode of the conversion data is User
buffer mode.
Format
Ret = AioGetAiSamplingDataEx ( Id , AiSamplingTimes , AiData )
Parameters
Id
[ C, C++ : short ] [ Python : ctypes.c_short ]
Specifies the Device ID retrieved from AioInit function.
AiSamplingTimes
[ C, C++ : long * ] [ Python : ctypes.POINTER(ctypes.c_long) ]
Specifies the address of variable which has stored the sampling times of
acquiring
data.
After this function is executed, return the actual number of samplings
which has been read.
AiData
[ C, C++ : float * ] [ Python : ctypes.POINTER(ctypes.c_float) ]
Specifies the address of array which stores the converted data. The converted
data are stored in Voltage or Current.
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 |
11880 |
Pointer
to AiSamplingTimes is NULL |
11881 |
Pointer
to AiData is NULL |
11882 |
The value of AiSamplingTimes is outside the designated range of the function |
20001 |
This function can't be used by this device |
20003 |
Can
not use because another process is using the device |
21880 |
The value of AiChannels is outside the designated range of the device being used |
21881 |
It
tried to acquire data beyond the converted number |
21885 |
FIFO is empty |
21886 |
It tried to acquire data beyond the memory size. AiSamplingTimes is changed to the maximum value |
Remarks
In AioStartAi, the used data are stored by each channel.
The usage differs by the memory type.
In FIFO memory:
Usually the old data is read in.
The data that has ever been read cannot be reread.
It can be used if the device is in operation.
In RING memory:
Retrieves the data of the specified sampling number from the latest data.
The same data can be repeated retrieved.
It can't be used if the device is in operation.
When you use this function and "simple functions", please refer "How to use simple functions and continuous functions at the same time" topics.
This function cannot be used on devices without the analog input function.
Example
Reads the sampling data of 1000 times.
C, C++ |
long
Ret; |
Python |
Ret
= ctypes.c_long() |
See also