Tani OpcPipe protocol  1.0.5
Tani OpcPipe protocol
Macros
PlcDataTypes.h File Reference

PLC data type constants. More...

Macros

#define TYP_USE_UNSPECIFIED   0x00
 
#define TYP_USE_BIT   0x01
 bit arrays are formatted from lowest bit in byte without gaps
 
#define TYP_USE_INT8   0x02
 
#define TYP_USE_UINT8   0x03
 
#define TYP_USE_INT16   0x04
 
#define TYP_USE_UINT16   0x05
 
#define TYP_USE_INT32   0x06
 
#define TYP_USE_UINT32   0x07
 
#define TYP_USE_INT64   0x08
 
#define TYP_USE_UINT64   0x09
 
#define TYP_USE_STRING   0x0A
 32 bit length + data (allows embedded 0 chars); the length is not included in PLC_REQ::Count, memlen required is PLC_REQ::Count + 4
 
#define TYP_USE_FLOAT32   0x0B
 
#define TYP_USE_FLOAT64   0x0C
 
#define TYP_USE_FLOAT128   0x0D
 
#define TYP_USE_TIMESTAMP   0x0E
 W_UINT64 seconds (unix time) + W_UINT32 nanoseconds.
 
#define TYP_USE_STRUCTURE   0x0F
 
#define TYP_USE_RPC   0x10
 general function call
 
#define TYP_USE_FILE   0x11
 file object
 
#define TYP_USE_DIRECTORY   0x12
 directory object
 
#define TYP_USE_ENUMERATION   0x13
 always Int32 as base type
 
#define TYP_USE_MULTILANG_STRING   0x14
 Multilanguage string: 16 bit number of translations + n * (32 bit locale length + locale + 32 bit data length + data)
 
#define TYP_USE_TRIGGER_BIT   0xFFFF
 
#define IsNumberType(f)   ((((f) >= TYP_USE_INT8) && ((f) <= TYP_USE_UINT64)) || (((f) >= TYP_USE_FLOAT32) && ((f) <= TYP_USE_FLOAT128)))
 
#define TYP_FLAGS_ENDIAN_MASK   0x000F
 
#define TYP_FLAGS_ENDIAN_UNSPECIFIED   0x0000
 unknown endian value or cpu format
 
#define TYP_FLAGS_ENDIAN_1234   0x0001
 big endian format, is default
 
#define TYP_FLAGS_ENDIAN_4321   0x0002
 little endian format
 
#define TYP_FLAGS_ENDIAN_3412   0x0003
 wordswap big endian format
 
#define TYP_FLAGS_ENDIAN_2143   0x0004
 wordswap little endian format
 
#define TYP_FLAGS_ALWAYS_NEW   0x0010
 always send this value, even if it is equal to the previous one (e.g sync read on inactive item)
 
#define TYP_FLAGS_CREATE_ACTIVATED   0x0020
 immediately activate on create item
 
#define TYP_FLAGS_ARRAY   0x0040
 
#define TYP_FLAGS_BLOCKED   0x0080
 partial data, more data for same item follow; use only for sync read/write
 
#define TYP_FLAGS_BITARRAY_LEN_MASK   0x0700
 exact length of bit array (= number of used bits in last data byte); 0 = all 8 bits used
 
#define TYP_FLAGS_BITARRAY_LEN_SHIFT   8
 shift amount for TYP_FLAGS_BITARRAY_LEN_MASK
 
#define TYP_FLAGS_ERROR_IF_IMPOSSIBLE   0x0800
 Brings an error if the conversion may be impossible (e.g. -20 to unsigned)
 
#define TYP_FLAGS_ERROR_IF_WRONG_TYPE   0x1000
 Brings an error if any conversion is needed (e.g. 8-bit to 16-bit, even if the value would fit in)
 
#define TYP_FLAGS_ENDIAN_LOCAL_CPU   TYP_FLAGS_ENDIAN_4321
 

Detailed Description

PLC data type constants.