AioSetAiStartInRange


Function

Sets In Range when the conversion start condition is In Range comparison.
This settings is necessary when the conversion start condition that is set by AioSetAiStartTrigger function is the In Range comparison.
This function doesn't need to be executed when the conversion start condition is not In Range comparison.

It can be set only 1ch for each device. The latest setting is available when you set it several times.

Format

Ret = AioSetAiStarInRange ( Id , AiChannel , Level1 , Level2 , StateTimes )

Parameters

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

AiChannel [ C, C++ : short ] [ Python : ctypes.c_short ]
Specifies the channel that performs the In Range comparison.

Level1 [ C, C++ : long ] [ Python : ctypes.c_long ]
Sets the upper limit of In Range comparison in binary value.
The available value differs by the device.

Resolution of device is 12 bit

0 to 4095

Resolution of device is 16 bit

0 to 65535

Level2 [ C, C++ : long ] [ Python : ctypes.c_long ]
Sets the lower limit of In Range comparison in binary value.
The available value differs by the device.

Resolution of device is 12 bit

0 to 4095

Resolution of device is 16 bit

0 to 65535

StateTimes [ C, C++ : long ] [ Python : ctypes.c_long ]
Sets the number of samplings within the state-held period after the condition of In Range comparison is satisfied.
In fact, the conversion is started after sampling time of StateTime elapses.

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.

12040

The value of AiChannel is outside the designated range of the function
Specify the channel setting in range: 0 <= AiChannel <= Max channel.

12041

The value of StateTimes is outside the designated range of the function

20001

This function can't be used by this device

20002

Can not use while by another device works
To use this function, analog input operation must be stopped.

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.

22040

The value of AiChannel is outside the designated range of the device being used

22041

Data to establish in the 12 bits device are within the range of 0 to 4095

22042

Data to establish in the 16 bits device are within the range of 0 to 65535

22044

The value of StateTimes is outside the designated range of the device being used

Initial value

In all devices, AiChannel = 0, StateTimes = 1, Level1 = 0, Level2 = 0

Remarks

This function cannot be used on devices without the analog input function.
If the device is in operation, the function cannot be performed.

Example

Sets In Range comparison start to channel 0.
The comparison data is 800H to 900H, state-held times is 1.

C, C++

long Ret;
Ret = AioSetAiStartInRange ( Id , 0 , 0x900 , 0x800 , 1 );
 

Python

Ret = ctypes.c_long()
Ret.value = caio.AioSetAiStartInRange ( Id , 0 , 0x900 , 0x800 , 1 )