AioSetAiStartLevel


Function

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

Only one level comparison setting can be set for one device. If specified multiple times, only the last data is valid.

Format

Ret = AioSetAiStartLevel ( Id , AiChannel , AiStartLevel , AiDirection )

Parameters

Id [ VB.NET : Short ] [ C, C++ : short ] [ C# : short ] [ Python : ctypes.c_short ]
Specifies the ID retrieved from AioInit function.

AiChannel [ VB.NET : Short ] [ C, C++ : short ] [ C# : short ] [ Python : ctypes.c_short ]
Specifies the channel that performs the level comparison.

AiStartLevel [ VB.NET : Integer ] [ C, C++ : long ] [ C# : int ] [ Python : ctypes.c_long ]
Sets the data that performs the level comparison from the following range.
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

AiDirection [ VB.NET : Short ] [ C, C++ : short ] [ C# : short ] [ Python : ctypes.c_short ]
Sets the direction of the level comparison from the following range.

0

Both edges

1

Rising edge

2

Falling edge

Return value

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
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.

11180

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

11181

The value of AiDirection is outside the designated range of the function
Set 0(both sides), 1(rising) or 2(falling) to AiDirection.

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.

21180

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

21181

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

21182

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

21184

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

Initial value

In all devices, AiChannel = 0, AiDirection = 0

Resolution of device is 12 bit

AiStartLevel = 800H

Resolution of device is 16 bit

AiStartLevel = 8000H

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 level comparison start for channel 0.
Level data is 800H, Level direction is Both edges.

VB.NET

Dim Ret As Integer
Ret = AioSetAiStartLevel ( Id , 0 , &H800 , 0 )
 

C, C++

long Ret;
Ret = AioSetAiStartLevel ( Id , 0 , 0x800 , 0 );
 

C#

int Ret;
Ret = aio.SetAiStartLevel ( Id , 0 , 0x800 , 0 );
 

Python

Ret = ctypes.c_long()
Ret.value = caio.AioSetAiStartLevel ( Id , 0 , 0x800 , 0 )
 

See also

AioGetAiStartLevel