DioInpByteSR


Function

Inputs a byte (8 bits) from an input port on the wireless I/O device.

Format

Ret = DioInpByteSR ( Id , PortNo , Data , Timestamp , Mode )

Parameters

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

PortNo [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify the logic input port number. The logical input port number is a number, which is allocated from the first input port 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_PORT_NO

20100

Port 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 byte (8 bits) from an input port. When you want to get necessary information for a bit, please use the bit operators corresponding to each language.
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 port 0.

VB.NET

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

C, C++

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

C#

int Ret;
byte Data;
ushort Timestamp;
byte Mode;
Mode = 0;
Ret = dio.InpByte ( 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.value = cdio.DioInpByte ( Id , 0 , ctypes.byref(Data) , ctypes.byref(Timestamp) , Mode )
 

See Also

DioInpBitSR DioInpMultiByteSR DioInpMultiBitSR