AioGetAiSamplingCount


Function

Retrieves the sampling count (location) from the device memory (software memory).
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 = AioGetAiSamplingCount ( ID , AiSamplingCount )

Parameters

Id [ C, C++ : short ] [ Python : ctypes.c_short ]
Specifies the Device ID retrieved from AioInit function.

AiSamplingCount [ C, C++ : long * ] [ Python : ctypes.POINTER(ctypes.c_long) ]
Specifies the address of the variable that stores the sampling count

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
Use the Id retrieved from AioInit to specify the Id in this function.

10002

AIO driver can't be called
At first, perform AioInit function.

11520

Pointer to AiSamplingCount is NULL
Specify the address of variable to parameter.

20001

This function can't be used by this device

20003

Can not use because another process is using the device
When another process is using the device, all functions except for those that support multi-process can not be performed.

Initial value

In all devices, AiSamplingCount = 0

Remarks

Resets this value to 0 by calling AioResetAiMemory function.

Stores the sampling count (location) that belong to the channels used by AioStartAi.
In the Ring memory format, return 0 to the sampling count at the gap of memory.
This function can be executed if the device is working.
This function cannot be used on devices without the analog input function.

In the case of Z-series devices such as AI-1204Z-PE, data is transferred to the PC side every 128-512 samplings for optimization.
Therefore, there is such a possibility that the count doesn't work when the clocks input, but the sampling is performed.
When the transfer is completed, the rest of the data will also be transferred.

Example

Retrieves the sampling count (location) from the device memory (software memory).

C, C++

long Ret;
long AiSamplingCount;
Ret = AioGetAiSamplingCount ( Id , &AiSamplingCount );
 

Python

Ret = ctypes.c_long()
AiSamplingCount = ctypes.c_long()
Ret.value = caio.AioGetAiSamplingCount ( Id , ctypes.byref(AiSamplingCount) )
 

See also

AioResetAiMemory