Converts data from the general toolkit format to a format compatible with the given point type.
The Device Communications Toolkit calls user_read_data() to read data for multiple points at the same address. The data returned by user_read_data() should be in a format consistent with the device domain and the host data format.
For example, data from a word domain should be returned in little endian format (least significant byte first). If data in the device is in big endian format (most significant byte first), you should byte swap the data within user_read_data().
The Device Communications Toolkit calls user_cvt_data_from_device() for individual points to perform data conversions specific to the point data type.
For example, if the point data type is INT (16 bit integer), it may be necessary to byte swap the little endian data returned from user_read_data().
You can find the template for this subroutine in:
usrtm_cvtfrom.c
Syntax
void user_cvt_data_from_device ( device_struct,
address_struct, element_cnt, element_size,
pnt_data_type, data_buffer)
DEVICE_DATA *device_struct;
ADDR_DATA *address_struct;
int element_cnt;
int element_size;
int pnt_data_type;
char *data_buffer;
Input Arguments
device_struct
Is a pointer to the structure defining device data. DEVICE_DATA is a typedef to a structure defined in <inc_path/toolkit.h>.
address_struct
Is a pointer to the address from which the data was read. ADDR_DATA is a typedef to a structure defined in <inc_path/toolkit>.
element_cnt
Is the number of point elements to convert.
element_size
Is the number of bytes per point element.
pnt_data_type
Is the CIMPLICITY point type. The standard CIMPLICITY point types supported by the Device Communications Toolkit are:
TOOLKIT_BOOLEAN
TOOLKIT_BITSTRING
TOOLKIT_OCTETSTRING
TOOLKIT_TEXTPOINT
TOOLKIT_UNSIGNED_ANALOG8
TOOLKIT_UNSIGNED_ANALOG16
TOOLKIT_UNSIGNED_ANALOG32
TOOLKIT_ANALOG8
TOOLKIT_ANALOG16
TOOLKIT_ANALOG32
TOOLKIT_FLOATINGPOINT
Output Parameters
data_buffer
Is the buffer of data to be converted.
Return Value
None.
Device Communications toolkit subroutines. |