NexMotion  1.4.0
Open Robots & Machines [WIP]
NexMotionDef.h File Reference

A head file define more variable types for NexMotion Library. More...

#include "nex_type.h"
Include dependency graph for NexMotionDef.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Pos_T
 The general data types related to motion, which is defined in NexMotionDef.h. More...
 
struct  Xyz_T
 The data types related to motion in Cartesian system, which is defined in NexMotionDef.h. More...
 
struct  APos_T
 The data types related to motion in Axis system, which is defined in NexMotionDef.h. More...
 
struct  CPos_T
 The data types related to pose in Cartesian space, which is defined in NexMotionDef.h. More...
 
struct  RCfg_T
 
struct  RCPos_T
 
struct  CoordTrans_T
 The data structure to descibe the transformmed reslationship between two coordinate system. More...
 
struct  NmcTime_T
 A data structure is used to describe the system time. More...
 
struct  NmcMsg_T
 A data structure is used to describe the system message. More...
 
struct  MemEntryInfo_T
 A data structure is used to describe the information of memory entry. More...
 

Macros

#define NMC_DEVICE_TYPE_SIMULATOR   (0)
 Use Simulator as device types. More...
 
#define NMC_DEVICE_TYPE_ETHERCAT   (1)
 Use EtherCAT as Device types. More...
 
#define NMC_WAIT_TIME_INFINITE   (0xFFFFFFFF)
 Waiting for the completion of the function execution. More...
 
#define NMC_DEVICE_STATE_INIT   (1)
 Init: The device parameters are not configured or have been removed. More...
 
#define NMC_DEVICE_STATE_READY   (2)
 Ready: The device parameters have been configured.
 
#define NMC_DEVICE_STATE_ERROR   (3)
 Error: The device enters a critical error state, such as the communication failure. More...
 
#define NMC_DEVICE_STATE_OPERATION   (4)
 Operation.
 
#define NMC_SAFETY_STATE_DISABLE   (0)
 
#define NMC_SAFETY_STATE_READY   (1)
 
#define NMC_SAFETY_STATE_ERROR   (2)
 
#define NMC_SAFETY_MODE_OP_T1   (0)
 
#define NMC_SAFETY_MODE_OP_T2   (1)
 
#define NMC_SAFETY_MODE_OP_AUT   (2)
 
#define NMC_SAFETY_WDT_TIMEOUT_STOP0   (0)
 
#define NMC_SAFETY_WDT_TIMEOUT_STOP1   (1)
 
#define NMC_COORD_MCS   (0)
 (MCS) Mechanical also called base/world coordinate system
 
#define NMC_COORD_PCS   (1)
 (PCS) Programming also called product/work coordinate system
 
#define NMC_COORD_ACS   (2)
 (ACS) Axis coordinate system
 
#define NMC_AXIS_STATE_DISABLE   (0)
 Disable: The servo is OFF. More...
 
#define NMC_AXIS_STATE_STAND_STILL   (1)
 Enable: The servo is stand still. More...
 
#define NMC_AXIS_STATE_HOMING   (2)
 Executing the Homing motion. More...
 
#define NMC_AXIS_STATE_DISCRETE_MOTION   (3)
 Executing the point-to-point motion. More...
 
#define NMC_AXIS_STATE_CONTINUOUS_MOTION   (4)
 Executing the continuous motion. More...
 
#define NMC_AXIS_STATE_STOPPING   (5)
 Receiving the Stop command and slowing down to stop. More...
 
#define NMC_AXIS_STATE_STOPPED   (6)
 Receiving the Stop command and stopped. More...
 
#define NMC_AXIS_STATE_WAIT_SYNC   (7)
 Receiving the Wait command and waiting for SYNC signal. More...
 
#define NMC_AXIS_STATE_GROUP_MOTION   (8)
 
#define NMC_AXIS_STATE_ERROR   (10)
 Stop for error. More...
 
#define NMC_AXIS_STATUS_EMG   (0)
 A latched signal is issued at the EMG signal (*1). More...
 
#define NMC_AXIS_STATUS_ALM   (1)
 A latched signal is issued at the servo Alarm (*1). More...
 
#define NMC_AXIS_STATUS_PEL   (2)
 A latched signal is issued at the positive limit signal (*1). More...
 
#define NMC_AXIS_STATUS_NEL   (3)
 A latched signal is issued at the negative limit signal (*1). More...
 
#define NMC_AXIS_STATUS_PSEL   (4)
 A latched signal is issued at the software positive limit signal (*1). More...
 
#define NMC_AXIS_STATUS_NSEL   (5)
 A latched signal is issued at the software negitive limit signal (*1). More...
 
#define NMC_AXIS_STATUS_ENA   (6)
 The axis is Enable or Disable. More...
 
#define NMC_AXIS_STATUS_ERR   (7)
 Axis error.
 
#define NMC_AXIS_STATUS_TAR   (8)
 The axis has reached the target position. More...
 
#define NMC_AXIS_STATUS_CSTP   (9)
 The axis commands to Stop. More...
 
#define NMC_AXIS_STATUS_ACC   (10)
 The axis is operating in acceleration. More...
 
#define NMC_AXIS_STATUS_DEC   (11)
 The axis is operating in decceleration. More...
 
#define NMC_AXIS_STATUS_MV   (12)
 The axis is operating at the maximum velocity. More...
 
#define NMC_AXIS_STATUS_OP   (13)
 The axis is operating. More...
 
#define NMC_AXIS_STATUS_STOP   (14)
 The axis is STOP. More...
 
#define NMC_AXIS_STATUS_RPEL   (16)
 Positive limit signal: 1: Triggered, 0: Not Triggered.
 
#define NMC_AXIS_STATUS_RNEL   (17)
 Negative limit signal: 1: Triggered, 0: Not Triggered.
 
#define NMC_AXIS_STATUS_RHOM   (18)
 Home signal: 1: High level, 0: Low Level.
 
#define NMC_AXIS_STATUS_MASK_EMG   (0x00000001)
 The mask for a latched signal issued at the EMG signal (*1). More...
 
#define NMC_AXIS_STATUS_MASK_ALM   (0x00000002)
 The mask for a latched signal issued at the servo Alarm (*1). More...
 
#define NMC_AXIS_STATUS_MASK_PEL   (0x00000004)
 The mask for a latched signal issued at the positive limit signal (*1). More...
 
#define NMC_AXIS_STATUS_MASK_NEL   (0x00000008)
 The mask for a latched signal issued at the negative limit signal (*1). More...
 
#define NMC_AXIS_STATUS_MASK_PSEL   (0x00000010)
 The mask for a latched signal issued at the software positive signal (*1). More...
 
#define NMC_AXIS_STATUS_MASK_NSEL   (0x00000020)
 The mask for a latched signal issued at the software negative signal (*1). More...
 
#define NMC_AXIS_STATUS_MASK_ENA   (0x00000040)
 The mask to indicate the axis is Enable or Disable. More...
 
#define NMC_AXIS_STATUS_MASK_ERR   (0x00000080)
 The mask for axis error. More...
 
#define NMC_AXIS_STATUS_MASK_TAR   (0x00000100)
 The mask to indicate the axis has reached the target position. More...
 
#define NMC_AXIS_STATUS_MASK_CSTP   (0x00000200)
 The mask to indicate the axis commands to Stop. More...
 
#define NMC_AXIS_STATUS_MASK_ACC   (0x00000400)
 The mask to indicate the axis is operating in acceleration. More...
 
#define NMC_AXIS_STATUS_MASK_DEC   (0x00000800)
 The mask to indicate the axis is operating in decceleration. More...
 
#define NMC_AXIS_STATUS_MASK_MV   (0x00001000)
 The mask to indicate the axis is operating at the maximum velocity. More...
 
#define NMC_AXIS_STATUS_MASK_OP   (0x00002000)
 The mask to indicate the axis is operating. More...
 
#define NMC_AXIS_STATUS_MASK_STOP   (0x00004000)
 The mask to indicate the axis is STOP. More...
 
#define NMC_AXIS_STATUS_MASK_RPEL   (0x00010000)
 The mask for the positive limit signal: 1:Triggered, 0: Not Triggered. More...
 
#define NMC_AXIS_STATUS_MASK_RNEL   (0x00020000)
 The mask for the negative limit signal: 1:Triggered, 0: Not Triggered. More...
 
#define NMC_AXIS_STATUS_MASK_RHOM   (0x00040000)
 The mask for the home signal: 1: High level, 0: Low level. More...
 
#define NMC_GROUP_STATE_DISABLE   (0)
 Disable: The group servo is OFF. More...
 
#define NMC_GROUP_STATE_STAND_STILL   (1)
 Enable: The group servo is stand still. More...
 
#define NMC_GROUP_STATE_STOPPED   (2)
 Receiving the Stop command and stopped. More...
 
#define NMC_GROUP_STATE_STOPPING   (3)
 Receiving the Stop command and slowing down to stop. More...
 
#define NMC_GROUP_STATE_MOVING   (4)
 Executing the move command. More...
 
#define NMC_GROUP_STATE_HOMING   (5)
 Executing the Homing motion. More...
 
#define NMC_GROUP_STATE_ERROR   (6)
 Stop for error. More...
 
#define NMC_GROUP_STATUS_EMG   (0)
 A latched signal is issued at the external EMG signal (*1). More...
 
#define NMC_GROUP_STATUS_ALM   (1)
 A latched signal is issued at a group axis servo Alarm (*1). More...
 
#define NMC_GROUP_STATUS_PEL   (2)
 A latched signal is issued at the positive limit signal of a group axis (*1). More...
 
#define NMC_GROUP_STATUS_NEL   (3)
 A latched signal is issued at the negative limit signal of a group axis (*1). More...
 
#define NMC_GROUP_STATUS_PSEL   (4)
 A latched signal is issued at the software positive limit signal of a group axis (*1). More...
 
#define NMC_GROUP_STATUS_NSEL   (5)
 A latched signal is issued at the software negative limit signal of a group axis (*1). More...
 
#define NMC_GROUP_STATUS_ENA   (6)
 The group is Enable or Disable. More...
 
#define NMC_GROUP_STATUS_ERR   (7)
 Group (a group of axis) error.
 
#define NMC_GROUP_STATUS_CSTP   (9)
 No displacement of all group axis (i.e. More...
 
#define NMC_GROUP_STATUS_ACC   (10)
 Moving in the Cartesian coordinate system (along a line or an arc) and accelerating to the maximum velocity or decelerating. More...
 
#define NMC_GROUP_STATUS_DEC   (11)
 Moving in the Cartesian coordinate system (along a line or an arc) and deccelerating to the target position or STOP. More...
 
#define NMC_GROUP_STATUS_MV   (12)
 Moving in the Cartesian coordinate system (along a line or an arc) at the maximum velocity. More...
 
#define NMC_GROUP_STATUS_OP   (13)
 The group is moving. More...
 
#define NMC_GROUP_STATUS_STOP   (14)
 The group is STOP. More...
 
#define NMC_GROUP_STATUS_MASK_EMG   (0x00000001)
 
#define NMC_GROUP_STATUS_MASK_ALM   (0x00000002)
 
#define NMC_GROUP_STATUS_MASK_PEL   (0x00000004)
 
#define NMC_GROUP_STATUS_MASK_NEL   (0x00000008)
 
#define NMC_GROUP_STATUS_MASK_PSEL   (0x00000010)
 
#define NMC_GROUP_STATUS_MASK_NSEL   (0x00000020)
 
#define NMC_GROUP_STATUS_MASK_ENA   (0x00000040)
 
#define NMC_GROUP_STATUS_MASK_ERR   (0x00000080)
 
#define NMC_GROUP_STATUS_MASK_CSTP   (0x00000200)
 
#define NMC_GROUP_STATUS_MASK_ACC   (0x00000400)
 
#define NMC_GROUP_STATUS_MASK_DEC   (0x00000800)
 
#define NMC_GROUP_STATUS_MASK_MV   (0x00001000)
 
#define NMC_GROUP_STATUS_MASK_OP   (0x00002000)
 
#define NMC_GROUP_STATUS_MASK_STOP   (0x00004000)
 
#define NMC_MAX_AXES_IN_GROUP   (8)
 
#define NMC_MAX_POS_SIZE   (8)
 Pos_T array size definition.
 
#define NMC_MAX_XYZ_SIZE   (3)
 Xyz_T array size definition.
 
#define NMC_MAX_AXIS_POS_SIZE   (NMC_MAX_AXES_IN_GROUP)
 APos_T array size definition.
 
#define NMC_MAX_CARTESIAN_POS_SIZE   (6)
 CPos_T array size definition.
 
#define NMC_GROUP_AXIS_X   (0)
 X axis of the coordinate system.
 
#define NMC_GROUP_AXIS_Y   (1)
 Y axis of the coordinate system.
 
#define NMC_GROUP_AXIS_Z   (2)
 Z axis of the coordinate system.
 
#define NMC_GROUP_AXIS_A   (3)
 A axis of the coordinate system.
 
#define NMC_GROUP_AXIS_B   (4)
 B axis of the coordinate system.
 
#define NMC_GROUP_AXIS_C   (5)
 C axis of the coordinate system.
 
#define NMC_GROUP_AXIS_U   (6)
 U axis of the coordinate system.
 
#define NMC_GROUP_AXIS_V   (7)
 V axis of the coordinate system.
 
#define NMC_GROUP_AXIS_MASK_X   (0x00000001)
 The mask for X axis of the coordinate system.
 
#define NMC_GROUP_AXIS_MASK_Y   (0x00000002)
 The mask for Y axis of the coordinate system.
 
#define NMC_GROUP_AXIS_MASK_Z   (0x00000004)
 The mask for Z axis of the coordinate system.
 
#define NMC_GROUP_AXIS_MASK_A   (0x00000008)
 The mask for A axis of the coordinate system.
 
#define NMC_GROUP_AXIS_MASK_B   (0x00000010)
 The mask for B axis of the coordinate system.
 
#define NMC_GROUP_AXIS_MASK_C   (0x00000020)
 The mask for C axis of the coordinate system.
 
#define NMC_GROUP_AXIS_MASK_U   (0x00000040)
 The mask for U axis of the coordinate system.
 
#define NMC_GROUP_AXIS_MASK_V   (0x00000080)
 The mask for V axis of the coordinate system.
 
#define NMC_GROUP_AXIS_MASK_ALL   (0x000000FF)
 The mask for all axes of the coordinate system.
 
#define NMC_TRACE_MODE_DISABLE   (0)
 Turn off the trace function and do not output anything.
 
#define NMC_TRACE_MODE_ERROR   (1)
 Output the APIs with errors only.
 
#define NMC_TRACE_MODE_ALL   (2)
 Output all APIs.
 
#define NMC_MAX_MSG_SOURCE_SIZE   (128)
 
#define NMC_MAX_MSG_TEXT_SIZE   (1024)
 
#define NMC_MSG_TYPE_NORMAL   (0)
 
#define NMC_MSG_TYPE_WARNING   (1)
 
#define NMC_MSG_TYPE_ERROR   (2)
 
#define NMC_MSG_TYPE_DEBUGING   (3)
 
#define NMC_MEM_ENTRY_NAME_SIZE   (128)
 
#define NMC_MEM_ENTRY_CLASS_DIO   (0)
 
#define NMC_MEM_ENTRY_CLASS_DATA   (1)
 
#define NMC_MAX_POSE_DATA_SIZE   (6)
 
#define NMC_TOOL_NONE   (-1)
 
#define NMC_BASE_NONE   (-1)
 
#define RCFG_BIT0   0
 
#define RCFG_BIT1   1
 
#define RCFG_BIT2   2
 
#define RCFG_SIZE   4
 
#define RCFG_1   0
 
#define RCFG_4   1
 
#define RCFG_6   2
 
#define RCFG_X   3
 
#define RCFG_OPTION   10
 
#define RCFG_INI   20
 
#define RCFG_UNUSE   30
 
#define MAX_POS_SIZE   (NMC_MAX_POS_SIZE)
 Pos_T array size definition. More...
 
#define MAX_XYZ_SIZE   (NMC_MAX_XYZ_SIZE)
 Xyz_T array size definition.
 
#define GROUP_AXIS_X   (0)
 X axis of the coordinate system.
 
#define GROUP_AXIS_Y   (1)
 Y axis of the coordinate system.
 
#define GROUP_AXIS_Z   (2)
 Z axis of the coordinate system.
 
#define GROUP_AXIS_A   (3)
 A axis of the coordinate system.
 
#define GROUP_AXIS_B   (4)
 B axis of the coordinate system.
 
#define GROUP_AXIS_C   (5)
 C axis of the coordinate system.
 
#define GROUP_AXIS_U   (6)
 U axis of the coordinate system.
 
#define GROUP_AXIS_V   (7)
 V axis of the coordinate system.
 
#define GROUP_AXIS_MASK_X   (0x00000001)
 The mask for X axis of the coordinate system.
 
#define GROUP_AXIS_MASK_Y   (0x00000002)
 The mask for Y axis of the coordinate system.
 
#define GROUP_AXIS_MASK_Z   (0x00000004)
 The mask for Z axis of the coordinate system.
 
#define GROUP_AXIS_MASK_A   (0x00000008)
 The mask for A axis of the coordinate system.
 
#define GROUP_AXIS_MASK_B   (0x00000010)
 The mask for B axis of the coordinate system.
 
#define GROUP_AXIS_MASK_C   (0x00000020)
 The mask for C axis of the coordinate system.
 
#define GROUP_AXIS_MASK_U   (0x00000040)
 The mask for U axis of the coordinate system.
 
#define GROUP_AXIS_MASK_V   (0x00000080)
 The mask for V axis of the coordinate system.
 

Typedefs

typedef void(* PF_NmcHookAPI) (const void *FPFuncAddress, const char *PFuncName, RTN_ERR ReturnCode, void *PUserData)
 Hook function type definition. More...
 

Detailed Description

A head file define more variable types for NexMotion Library.

Author
NexCOBOT, Inc.

Macro Definition Documentation

#define NMC_MAX_AXES_IN_GROUP   (8)

Group axis number definition

#define NMC_MAX_POSE_DATA_SIZE   (6)

Coordinate transform

#define NMC_WAIT_TIME_INFINITE   (0xFFFFFFFF)

Waiting for the completion of the function execution.

Wait functions timeout

Typedef Documentation

typedef void(* PF_NmcHookAPI) (const void *FPFuncAddress, const char *PFuncName, RTN_ERR ReturnCode, void *PUserData)

Hook function type definition.

Parameters
*FPFuncAddressThe index of the called function.
*PFuncNameThe name of the called function.
ReturnCodeThe return value of the called function.
*PUserDataThe index of user data set by NMC_DebugSetHookData().
Returns
None