4 Appendix
4-17
long p8; // Additional axis 2 (Motor 8 axis)
} PULSE;
/************************************************************/
/* Real-time function communication data packet */
/************************************************************/
typedef struct enet_rtcmd_str {
unsigned short Command; // Command
#define MXT_CMD_NULL 0 // Real-time external command invalid
#define MXT_CMD_MOVE 1 // Real-time external command valid
#define MXT_CMD_END 255 // Real-time external command end
unsigned short SendType; // Command data type designation
unsigned short RecvType; // Monitor data type designation
//////////// Command or monitor data type ///
#define MXT_TYP_NULL 0 // No data
// For the command and monitor ////////////////////
#define MXT_TYP_POSE 1 // XYZ data
#define MXT_TYP_JOINT 2 // Joint data
#define MXT_TYP_PULSE 3 // pulse data
///////////// For position related monitor ///
#define MXT_TYP_FPOSE 4 // XYZ data (after filter process)
#define MXT_TYP_FJOINT 5 // Joint data (after filter process)
#define MXT_TYP_FPULSE 6 // Pulse data (after filter process)
#define MXT_TYP_FB_POSE 7 // XYZ data (Encoder feedback value)
#define MXT_TYP_FB_JOINT 8 // Joint data (Encoder feedback value)
#define MXT_TYP_FB_PULSE 9 // Pulse data (Encoder feedback value)
// For current related monitors ////////////////////
#define MXT_TYP_CMDCUR 10 // Electric current command
#define MXT_TYP_FBKCUR 11 // Electric current feedback
union rtdata { // Command data
POSE pos; // XYZ type [mm/rad]
JOINT jnt; // Joint type [rad]
PULSE pls; // Pulse type [pls]
long lng1[8]; // Integer type [% / non-unit]
} dat;
unsigned short SendIOType; // Send input/output signal data designation
unsigned short RecvIOType; // Return input/output signal data designation
#define MXT_IO_NULL 0 // No data
#define MXT_IO_OUT 1 // Output signal
#define MXT_IO_IN 2 // Input signal
unsigned short BitTop; // Head bit No.
unsigned short BitMask; // Transmission bit mask pattern designation (0x0001-0xffff)
unsigned short IoData; // Input/output signal data (0x0000-0xffff)
unsigned short TCount; // Timeout time counter value
unsigned long CCount; // Transmission data counter value
unsigned short RecvType1; // Reply data-type specification 1
union rtdata1 { // Monitor data 1
POSE pos1; // XYZ type [mm/rad]
JOINT jnt1; // JOINT type [mm/rad]
PULSE pls1; // PULSE type [mm/rad]
long lng1[8]; // Integer type [% / non-unit]
} dat1;
unsigned short RecvType2; // Reply data-type specification 2