Function
Inputs multiple bits from the input bits on the wireless I/O device.
Format
Ret = DioInpMultiBitSR ( Id , &BitNo[0] , BitNum , &Data[0] , &Timestamp , Mode )
Parameters
Id
[C:short] [Python: ctypes.c_short]
Specifies the device ID retrieved from DioInit.
BitNo [C:short
*] [Python: ctypes.POINTER(ctypes.c_short)]
Stores the logical input bit numbers into a array. Specifies the base address
of this array.
BitNum [C:short]
[Python: ctypes.c_short]
Specifies the number of bits which are specified by BitNo. The maximum
number of bits is 256.
Data [C:unsigned
char *] [Python: ctypes.POINTER(ctypes.c_ubyte)]
Specifies the base address of array to store the input data.
Timestamp
[C: unsigned short *] [Python: ctypes.POINTER(ctypes.c_ushort)]
Specify the address of the variable to store the timestamp.
Mode [C:
unsigned char] [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 [C:long] [Python: ctypes.c_long]
Definition |
Value [Dec] |
Description |
DIO_ERR_SUCCESS |
0 |
Normal complete |
DIO_ERR_DLL_INVALID_ID |
10001 |
Invalid ID is specified. |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
Driver cannot be called (failed in ioctl). |
DIO_ERR_DLL_BUFF_ADDRESS |
10100 |
Invalid data buffer address. |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
This function cannot be used for this device. |
DIO_ERR_SYS_BIT_NO |
20102 |
Bit number is outside of the available range. |
DIO_ERR_SYS_BIT_NUM |
20103 |
Number of bits is outside of the available range. |
The other errors: (See also: Error code details)
Initial Value
The initial values of input data are 0, if no external device is connected.
Remarks
Inputs multiple bits from the 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 Data in the order that the logical
bits are specified by BitNo. The input data are 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
C |
Ret = DioInpMultiBitSR(
Id , &BitNo[0] , BitNum , &Data[0] , &Timestamp ,
Mode ); |
Python |
Ret = cdio.DioInpMultiBitSR(
Id , BitNo , BitNum , Data , ctypes.byref(Timestamp) , Mode ) |
See Also
DioInpByteSR
DioInpBitSR
DioInpMultiByteSR
Logic_Bit