📄 emc_nml.hh
字号:
// For internal NML/CMS use only. void update(CMS * cms); int axes;};class EMC_TRAJ_SET_CYCLE_TIME:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_CYCLE_TIME():EMC_TRAJ_CMD_MSG (EMC_TRAJ_SET_CYCLE_TIME_TYPE, sizeof(EMC_TRAJ_SET_CYCLE_TIME)) { }; // For internal NML/CMS use only. void update(CMS * cms); double cycleTime;};class EMC_TRAJ_SET_MODE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_MODE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_MODE_TYPE, sizeof(EMC_TRAJ_SET_MODE)) { }; // For internal NML/CMS use only. void update(CMS * cms); enum EMC_TRAJ_MODE_ENUM mode;};class EMC_TRAJ_SET_VELOCITY:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_VELOCITY():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_VELOCITY_TYPE, sizeof(EMC_TRAJ_SET_VELOCITY)) { }; // For internal NML/CMS use only. void update(CMS * cms); double velocity; double ini_maxvel;};class EMC_TRAJ_SET_ACCELERATION:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_ACCELERATION():EMC_TRAJ_CMD_MSG (EMC_TRAJ_SET_ACCELERATION_TYPE, sizeof(EMC_TRAJ_SET_ACCELERATION)) { }; // For internal NML/CMS use only. void update(CMS * cms); double acceleration;};class EMC_TRAJ_SET_MAX_VELOCITY:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_MAX_VELOCITY():EMC_TRAJ_CMD_MSG (EMC_TRAJ_SET_MAX_VELOCITY_TYPE, sizeof(EMC_TRAJ_SET_MAX_VELOCITY)) { }; // For internal NML/CMS use only. void update(CMS * cms); double velocity;};class EMC_TRAJ_SET_MAX_ACCELERATION:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_MAX_ACCELERATION():EMC_TRAJ_CMD_MSG (EMC_TRAJ_SET_MAX_ACCELERATION_TYPE, sizeof(EMC_TRAJ_SET_MAX_ACCELERATION)) { }; // For internal NML/CMS use only. void update(CMS * cms); double acceleration;};class EMC_TRAJ_SET_SCALE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_SCALE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SCALE_TYPE, sizeof(EMC_TRAJ_SET_SCALE)) { }; // For internal NML/CMS use only. void update(CMS * cms); double scale;};class EMC_TRAJ_SET_SPINDLE_SCALE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_SPINDLE_SCALE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SPINDLE_SCALE_TYPE, sizeof(EMC_TRAJ_SET_SPINDLE_SCALE)) { }; // For internal NML/CMS use only. void update(CMS * cms); double scale;};class EMC_TRAJ_SET_FO_ENABLE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_FO_ENABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_FO_ENABLE_TYPE, sizeof(EMC_TRAJ_SET_FO_ENABLE)) { }; // For internal NML/CMS use only. void update(CMS * cms); unsigned char mode; //mode=0, override off (will work with 100% FO), mode != 0, override on, user can change FO};class EMC_TRAJ_SET_SO_ENABLE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_SO_ENABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SO_ENABLE_TYPE, sizeof(EMC_TRAJ_SET_SO_ENABLE)) { }; // For internal NML/CMS use only. void update(CMS * cms); unsigned char mode; //mode=0, override off (will work with 100% SO), mode != 0, override on, user can change SO};class EMC_TRAJ_SET_FH_ENABLE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_FH_ENABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_FH_ENABLE_TYPE, sizeof(EMC_TRAJ_SET_FH_ENABLE)) { }; // For internal NML/CMS use only. void update(CMS * cms); unsigned char mode; //mode=0, override off (feedhold is disabled), mode != 0, override on, user can use feedhold};class EMC_TRAJ_SET_MOTION_ID:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_MOTION_ID():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_MOTION_ID_TYPE, sizeof (EMC_TRAJ_SET_MOTION_ID)) { }; // For internal NML/CMS use only. void update(CMS * cms); int id;};class EMC_TRAJ_INIT:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_INIT():EMC_TRAJ_CMD_MSG(EMC_TRAJ_INIT_TYPE, sizeof(EMC_TRAJ_INIT)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_HALT:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_HALT():EMC_TRAJ_CMD_MSG(EMC_TRAJ_HALT_TYPE, sizeof(EMC_TRAJ_HALT)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_ENABLE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_ENABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_ENABLE_TYPE, sizeof(EMC_TRAJ_ENABLE)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_DISABLE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_DISABLE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_DISABLE_TYPE, sizeof(EMC_TRAJ_DISABLE)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_ABORT:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_ABORT():EMC_TRAJ_CMD_MSG(EMC_TRAJ_ABORT_TYPE, sizeof(EMC_TRAJ_ABORT)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_PAUSE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_PAUSE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_PAUSE_TYPE, sizeof(EMC_TRAJ_PAUSE)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_STEP:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_STEP():EMC_TRAJ_CMD_MSG(EMC_TRAJ_STEP_TYPE, sizeof(EMC_TRAJ_STEP)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_RESUME:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_RESUME():EMC_TRAJ_CMD_MSG(EMC_TRAJ_RESUME_TYPE, sizeof(EMC_TRAJ_RESUME)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_DELAY:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_DELAY():EMC_TRAJ_CMD_MSG(EMC_TRAJ_DELAY_TYPE, sizeof(EMC_TRAJ_DELAY)) { }; // For internal NML/CMS use only. void update(CMS * cms); double delay; // delay in seconds};class EMC_TRAJ_LINEAR_MOVE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_LINEAR_MOVE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_LINEAR_MOVE_TYPE, sizeof(EMC_TRAJ_LINEAR_MOVE)) { }; // For internal NML/CMS use only. void update(CMS * cms); int type; EmcPose end; // end point double vel, ini_maxvel, acc; int feed_mode;};class EMC_TRAJ_CIRCULAR_MOVE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_CIRCULAR_MOVE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_CIRCULAR_MOVE_TYPE, sizeof (EMC_TRAJ_CIRCULAR_MOVE)) { }; // For internal NML/CMS use only. void update(CMS * cms); EmcPose end; PM_CARTESIAN center; PM_CARTESIAN normal; int turn; int type; double vel, ini_maxvel, acc; int feed_mode;};class EMC_TRAJ_SET_TERM_COND:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_TERM_COND():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_TERM_COND_TYPE, sizeof (EMC_TRAJ_SET_TERM_COND)) { }; // For internal NML/CMS use only. void update(CMS * cms); int cond; double tolerance; // used to set the precision/tolerance of path deviation // during CONTINUOUS motion mode. };class EMC_TRAJ_SET_SPINDLESYNC:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_SPINDLESYNC():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_SPINDLESYNC_TYPE, sizeof(EMC_TRAJ_SET_SPINDLESYNC)) { }; void update(CMS * cms); double feed_per_revolution; bool velocity_mode; };class EMC_TRAJ_SET_OFFSET:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_OFFSET():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_OFFSET_TYPE, sizeof(EMC_TRAJ_SET_OFFSET)) { }; // For internal NML/CMS use only. void update(CMS * cms); EmcPose offset;};class EMC_TRAJ_SET_ORIGIN:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_ORIGIN():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_ORIGIN_TYPE, sizeof(EMC_TRAJ_SET_ORIGIN)) { }; // For internal NML/CMS use only. void update(CMS * cms); EmcPose origin;};class EMC_TRAJ_SET_HOME:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_HOME():EMC_TRAJ_CMD_MSG(EMC_TRAJ_SET_HOME_TYPE, sizeof(EMC_TRAJ_SET_HOME)) { }; // For internal NML/CMS use only. void update(CMS * cms); EmcPose home;};class EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG():EMC_TRAJ_CMD_MSG (EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG_TYPE, sizeof(EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_SET_TELEOP_ENABLE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_TELEOP_ENABLE():EMC_TRAJ_CMD_MSG (EMC_TRAJ_SET_TELEOP_ENABLE_TYPE, sizeof(EMC_TRAJ_SET_TELEOP_ENABLE)) { }; // For internal NML/CMS use only. void update(CMS * cms); int enable;};class EMC_TRAJ_SET_TELEOP_VECTOR:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_SET_TELEOP_VECTOR():EMC_TRAJ_CMD_MSG (EMC_TRAJ_SET_TELEOP_VECTOR_TYPE, sizeof(EMC_TRAJ_SET_TELEOP_VECTOR)) { }; // For internal NML/CMS use only. void update(CMS * cms); EmcPose vector;};class EMC_TRAJ_PROBE:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_PROBE():EMC_TRAJ_CMD_MSG(EMC_TRAJ_PROBE_TYPE, sizeof(EMC_TRAJ_PROBE)) { }; // For internal NML/CMS use only. void update(CMS * cms); EmcPose pos; int type; double vel, ini_maxvel, acc;};class EMC_TRAJ_RIGID_TAP:public EMC_TRAJ_CMD_MSG { public: EMC_TRAJ_RIGID_TAP():EMC_TRAJ_CMD_MSG(EMC_TRAJ_RIGID_TAP_TYPE, sizeof(EMC_TRAJ_RIGID_TAP)) { }; // For internal NML/CMS use only. void update(CMS * cms); EmcPose pos; double vel, ini_maxvel, acc;};// EMC_TRAJ status base classclass EMC_TRAJ_STAT_MSG:public RCS_STAT_MSG { public: EMC_TRAJ_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_TRAJ_STAT:public EMC_TRAJ_STAT_MSG { public: EMC_TRAJ_STAT(); // For internal NML/CMS use only. void update(CMS * cms); double linearUnits; // units per mm double angularUnits; // units per degree double cycleTime; // cycle time, in seconds int axes; // maximum axis number int axis_mask; // mask of axes actually present enum EMC_TRAJ_MODE_ENUM mode; // EMC_TRAJ_MODE_FREE, // EMC_TRAJ_MODE_COORD int enabled; // non-zero means enabled int inpos; // non-zero means in position int queue; // number of pending motions, counting // current int activeQueue; // number of motions blending int queueFull; // non-zero means can't accept another motion int id; // id of the currently executing motion int paused; // non-zero means motion paused double scale; // velocity scale factor double spindle_scale; // spindle velocity scale factor EmcPose position; // current commanded position EmcPose actualPosition; // current actual position, from forward kins double velocity; // system velocity, for subsequent motions double acceleration; // system acceleration, for subsequent // motions double maxVelocity; // max system velocity double maxAcceleration; // system acceleration EmcPose probedPosition; // last position where probe was tripped. int probe_index; // which wire or digital input is the probe // on. int probe_polarity; // which value should the probe look for to // trip. int probe_tripped; // Has the probe been tripped since the last // clear. int probing; // Are we currently looking for a probe // signal. int probeval; // Current value of probe input. int kinematics_type; // identity=1,serial=2,parallel=3,custom=4 int motion_type; double distance_to_go; // in current move double current_vel; // in current move int feed_override_enabled; int spindle_override_enabled; int adaptive_feed_enabled; int feed_hold_enabled;};// emc_MOTION is aggregate of all EMC motion-related status classes// EMC_MOTION command base classclass EMC_MOTION_CMD_MSG:public RCS_CMD_MSG { public: EMC_MOTION_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_MOTION_INIT:public EMC_MOTION_CMD_MSG { public: EMC_MOTION_INIT():EMC_MOTION_CMD_MSG(EMC_MOTION_INIT_TYPE, sizeof(EMC_MOTION_INIT)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_MOTION_HALT:public EMC_MOTION_CMD_MSG { public: EMC_MOTION_HALT():EMC_MOTION_CMD_MSG(EMC_MOTION_HALT_TYPE, sizeof(EMC_MOTION_HALT)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_MOTION_ABORT:public EMC_MOTION_CMD_MSG { public: EMC_MOTION_ABORT():EMC_MOTION_CMD_MSG(EMC_MOTION_ABORT_TYPE, sizeof(EMC_MOTION_ABORT)) { }; // For internal NML/CMS use only. void update(CMS * cms);};class EMC_MOTION_SET_AOUT:public EMC_MOTION_CMD_MSG { public: EMC_MOTION_SET_AOUT():EMC_MOTION_CMD_MSG(EMC_MOTION_SET_AOUT_TYPE, sizeof(EMC_MOTION_SET_AOUT)) { }; // For internal NML/CMS use only. void update(CMS * cms); unsigned char index; // which to set double start; // value at start double end; // value at end unsigned char now; // wether command is imediate or synched with motion};class EMC_MOTION_SET_DOUT:public EMC_MOTION_CMD_MSG { public: EMC_MOTION_SET_DOUT():EMC_MOTION_CMD_MSG(EMC_MOTION_SET_DOUT_TYPE, sizeof(EMC_MOTION_SET_DOUT)) { }; // For internal NML/CMS use only. void update(CMS * cms); unsigned char index; // which to set unsigned char start; // binary value at start unsigned char end; // binary value at end unsigned char now; // wether command is imediate or synched with motion};class EMC_MOTION_ADAPTIVE:public EMC_MOTION_CMD_MSG { public: EMC_MOTION_ADAPTIVE():EMC_MOTION_CMD_MSG(EMC_MOTION_ADAPTIVE_TYPE, sizeof(EMC_MOTION_ADAPTIVE)) { }; // For internal NML/CMS use only. void update(CMS * cms); unsigned char status; // status=0 stop; status=1 start.};// EMC_MOTION status base classclass EMC_MOTION_STAT_MSG:public RCS_STAT_MSG { public: EMC_MOTION_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) { heartbeat = 0; }; // For internal NML/CMS use only. void update(CMS * cms); unsigned long int heartbeat;};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -