DioInpMultiBit


Function

Inputs multiple bits from input bits.

Format

Ret = DioInpMultiBit ( Id , BitNo , BitNum , Data )

Parameters

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify the device ID retrieved from DioInit.

BitNo [ VB.NET: Short ] [ C, C++: short * ] [ C#: out short ] [ Python: ctypes.POINTER(ctypes.c_short) ]
Store the logical input bit numbers into an array, and specify the base address of this array.

BitNum [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify the number of bits which are specified by BitNo. The maximum number of bits is 256.

Data [ VB.NET: Byte ] [ C, C++: BYTE * ] [ C#: out byte ] [ Python: ctypes.POINTER(ctypes.c_ubyte) ]
Specify the base address of the array to store the input data.

Return Value

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

Definition

Value

[Dec]

Description

DIO_ERR_SUCCESS

0

Normal completed.

DIO_ERR_SYS_RECOVERED_FROM_STANDBY

7

Execute DioResetDevice function because the device has recovered from standby mode.

DIO_ERR_DLL_INVALID_ID

10001

Invalid ID specified.

DIO_ERR_DLL_CALL_DRIVER

10002

Not call the driver (Failure on DEVICE I/O CONTROL).

DIO_ERR_DLL_BUFF_ADDRESS

10100

Invalid data buffer address.

DIO_ERR_SYS_NOT_SUPPORTED

20001

This board couldn't use this function.

DIO_ERR_SYS_BIT_NO

20102

Bit No. beyond the limit.

DIO_ERR_SYS_BIT_NUM

20103

Bit number beyond the limit.

The others (See also: Details of Error Code)

Initial Value

The initial values of input data are 0 in the state that other external equipment is not connected.

Remarks

Inputs multiple bits from input bits. Before this function is called, it is necessary that the logical bit numbers to be input are set into the array specified by BitNo. The input data are stored into the array named Data by the order of logical bits which are specified by BitNo.

In the case of a wireless I/O device, it acquires the data of the slave unit stored in the master unit.
Please note that it is not real time information of the slave unit.
Please use the DioInpMultiBitSR function when acquiring the real time information of the slave unit.

Example

Inputs data from bit 0 and bit 1.

VB.NET

Dim Ret As Integer
Dim BitNo(1) As Short
Dim Data(1) As Byte
BitNo(0) = 0
BitNo(1) = 1
Ret = DioInpMultiBit ( Id , BitNo , 2 , Data )
 

C, C++

long Ret;
short BitNo[2]
BYTE Data[2];
BitNo[0] = 0;
BitNo[1] = 1;
Ret = DioInpMultiBit ( Id , BitNo , 2 , Data );
 

C#

int Ret;
short[] BitNo = new short[2];
byte[] Data = new byte[2];
BitNo[0] = 0;
BitNo[1] = 1;
Ret = dio.DioInpMultiBit ( Id , out BitNo , 2 , out Data );
 

Python

Ret = ctypes.c_long()
BitNoType = ctypes.c_short * 2
BitNo = BitNoType()
DataType = ctypes.c_ubyte * 2
Data = DataType()
BitNo[0] = 0
BitNo[1] = 1
Ret.value = cdio.DioInpMultiBit ( Id , BitNo , 2 , Data )
 

See Also

DioInpByte DioInpBit DioInpMultiByte