DioReadCountSR


Function

Retrieves the count values on the wireless I/O device.

Format

Ret = DioReadCountSR ( Id , ChNo , ChNum , Count, Timestamp , Mode )

Parameters

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

ChNo [ VB.NET: Short ] [ C, C++: short * ] [ C#: out short ] [ Python: ctypes.POINTER(ctypes.c_short) ]
Specify the start address of the array that stores the channel numbers for which count values are to be acquired.

ChNum [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
Specify the number of channels specified in ChNo.

Count[ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C#: out uint ] [ Python: ctypes.POINTER(ctypes.c_ulong) ]
Specify the start address of the array that stores the count values.

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_CH_NO

20105

Channel No. is outside the setting range.

DIO_ERR_SYS_CH_NUM

20106

Channel number is outside the setting range.

The others (See also: Details of Error Code)

Remarks

Retrieves the count values of the specified channels.
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

Retrieves the count values of channel 0 and channel 1.

VB.NET

Dim Ret As Integer
Dim ChNo As Short
Dim Count As Integer
Dim Timestamp As UShort
Dim Mode As Byte

ChNo(0) = 0
ChNo(1) = 1
Mode = 0
Ret = DioReadCountSR( Id , ChNo , 2 , Count , Timestamp , Mode )
 

C, C++

long Ret;
short ChNo[2]
unsigned long Count[2];
unsigned short Timestamp;
BYTE Mode;

ChNo[0] = 0;
ChNo[1] = 1;
Mode = 0;
Ret = DioReadCountSR( Id , ChNo , 2 , Count , &Timestamp , Mode );
 

C#

int Ret;
short[] ChNo = new short[2];
uint[] Count = new uint[2];
ushort Timestamp;
byte Mode;

ChNo[0] = 0;
ChNo[1] = 1;
Mode = 0;
Ret = dio.DioReadCountSR( Id , ChNo , 2 , Count , out Timestamp , Mode );
 

Python

Ret = ctypes.c_long()
ChNoType = ctypes.c_short * 2
ChNo = ChNoType()
CountType = ctypes.c_ulong * 2
Count = CountType()
Timestamp = ctypes.c_ushort()
Mode = ctypes.c_ubyte()

ChNo[0] = 0
ChNo[1] = 1
Mode.value = 0
Ret.value = cdio.DioReadCountSR( Id , ChNo , 2 , Count , ctypes.byref(Timestamp) , Mode )
 

See Also

DioStartCount DioReadCount