DioInpBitSR


Function

Inputs one bit from an input port on the wireless I/O device.

Format

Ret = DioInpBitSR ( Id , BitNo , Data , Timestamp , Mode )

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#: short ] [ Python: ctypes.c_short ]
Specify the logical input bit number. The logical input bit number is a number, which is allocated from the first input bit of a device as 0 to the last one serially.

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

Timestamp [ VB.NET: UShort ] [ C, C++: unsigned short * ] [ C#: out ushort ] [ Python: ctypes.POINTER(ctypes.c_ushort) ]
Specify the address of the variable to store the timestamp.

Mode [ VB.NET: Byte ] [ C, C++: BYTE ] [ C#: out byte ] [ Python: ctypes.c_ubyte ]
Specify where to refer to the input data.

Definition

Value

[Dec]

Description

DIONET_MODE_DIRECT

0

Refer to the input data of Terminal.

DIONET_MODE_AP

1

Refer to the input data of Gateway.

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_NET_TIMEOUT_WIO

22064

Wireless communication timeout occurred.

The others (See also: Details of Error Code)

Initial Value

The initial value of the input datum is 0 in the state that other external equipment is not connected.

Remarks

Inputs a bit from an input port. The returned bit datum is either 0 or 1.
To acquire data, there are two methods. One is acquiring data stored in master unit, the other one is acquiring data directly from slave unit.
Please refer to the wireless I/O specification for features of each acquisition method.

For the data acquisition method, when acquiring the data stored in the master unit, you can acquire the time stamp of the data stored in the master unit.
The time stamp returns the time since the last update in seconds.
If the time stamp is longer than the update interval of the slave unit, the data from the slave unit is not reaching the master unit for some reason.
Please use it to check the validity of the data saved in the master unit.

Example

Inputs datum from bit 0.

VB.NET

Dim Ret As Integer
Dim Data As Byte
Dim Timestamp As UShort
Dim Mode As Byte
Mode = 0
Ret = DioInpBitSR ( Id , 0 , Data , Timestamp , Mode )
 

C, C++

long Ret;
BYTE Data;
unsigned short Timestamp;
BYTE Mode;
Mode = 0;
Ret = DioInpBitSR ( Id , 0 , &Data , &Timestamp , Mode );
 

C#

int Ret;
byte Data;
ushort Timestamp;
byte Mode;
Mode = 0;
Ret = dio.InpBitSR ( Id , 0 , out Data , out Timestamp , Mode );
 

Python

Ret = ctypes.c_long()
Data = ctypes.c_ubyte()
Timestamp = ctypes.c_ushort()
Mode = ctypes.c_ubyte()
Mode.value = 0
Ret = DioInpBitSR ( Id , 0 , ctypes.byref(Data) , ctypes.byref(Timestamp) , Mode )
 

See Also

DioInpByteSR DioInpMultiByteSR DioInpMultiBitSR