⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emc_nml.hh

📁 CNC 的开放码,EMC2 V2.2.8版
💻 HH
📖 第 1 页 / 共 4 页
字号:
    double aout[EMC_AUX_MAX_AOUT];	// digital output readings    double ain[EMC_AUX_MAX_AIN];	// digital input readings};// EMC_SPINDLE type declarations// EMC_SPINDLE command base classclass EMC_SPINDLE_CMD_MSG:public RCS_CMD_MSG {  public:    EMC_SPINDLE_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_SPINDLE_INIT:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_INIT():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_INIT_TYPE,					   sizeof(EMC_SPINDLE_INIT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_SPINDLE_HALT:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_HALT():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_HALT_TYPE,					   sizeof(EMC_SPINDLE_HALT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_SPINDLE_ABORT:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_ABORT():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_ABORT_TYPE,					    sizeof(EMC_SPINDLE_ABORT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_SPINDLE_ON:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_ON():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_ON_TYPE,					 sizeof(EMC_SPINDLE_ON)),	speed(0), factor(0), xoffset(0) {    };    // For internal NML/CMS use only.    void update(CMS * cms);    double speed;   // commanded speed in RPMs or maximum speed for CSS    double factor;  // Zero for constant RPM.  numerator of speed for CSS    double xoffset; // X axis offset compared to center of rotation, for CSS};class EMC_SPINDLE_OFF:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_OFF():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_OFF_TYPE,					  sizeof(EMC_SPINDLE_OFF)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_SPINDLE_FORWARD:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_FORWARD():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_FORWARD_TYPE,					      sizeof(EMC_SPINDLE_FORWARD))    {    };    // For internal NML/CMS use only.    void update(CMS * cms);    double speed;		// commanded speed in RPMs};class EMC_SPINDLE_REVERSE:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_REVERSE():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_REVERSE_TYPE,					      sizeof(EMC_SPINDLE_REVERSE))    {    };    // For internal NML/CMS use only.    void update(CMS * cms);    double speed;		// commanded speed in RPMs};class EMC_SPINDLE_STOP:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_STOP():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_STOP_TYPE,					   sizeof(EMC_SPINDLE_STOP)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_SPINDLE_INCREASE:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_INCREASE():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_INCREASE_TYPE,					       sizeof					       (EMC_SPINDLE_INCREASE)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);    double speed;		// commanded speed in RPMs};class EMC_SPINDLE_DECREASE:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_DECREASE():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_DECREASE_TYPE,					       sizeof					       (EMC_SPINDLE_DECREASE)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);    double speed;		// commanded speed in RPMs};class EMC_SPINDLE_CONSTANT:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_CONSTANT():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_CONSTANT_TYPE,					       sizeof					       (EMC_SPINDLE_CONSTANT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);    double speed;		// commanded speed in RPMs};class EMC_SPINDLE_BRAKE_RELEASE:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_BRAKE_RELEASE():EMC_SPINDLE_CMD_MSG	(EMC_SPINDLE_BRAKE_RELEASE_TYPE,	 sizeof(EMC_SPINDLE_BRAKE_RELEASE)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_SPINDLE_BRAKE_ENGAGE:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_BRAKE_ENGAGE():EMC_SPINDLE_CMD_MSG	(EMC_SPINDLE_BRAKE_ENGAGE_TYPE, sizeof(EMC_SPINDLE_BRAKE_ENGAGE)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_SPINDLE_ENABLE:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_ENABLE():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_ENABLE_TYPE,					     sizeof(EMC_SPINDLE_ENABLE)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_SPINDLE_DISABLE:public EMC_SPINDLE_CMD_MSG {  public:    EMC_SPINDLE_DISABLE():EMC_SPINDLE_CMD_MSG(EMC_SPINDLE_DISABLE_TYPE,					      sizeof(EMC_SPINDLE_DISABLE))    {    };    // For internal NML/CMS use only.    void update(CMS * cms);};// EMC_COOLANT type declarations// EMC_COOLANT command base classclass EMC_COOLANT_CMD_MSG:public RCS_CMD_MSG {  public:    EMC_COOLANT_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_COOLANT_INIT:public EMC_COOLANT_CMD_MSG {  public:    EMC_COOLANT_INIT():EMC_COOLANT_CMD_MSG(EMC_COOLANT_INIT_TYPE,					   sizeof(EMC_COOLANT_INIT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_COOLANT_HALT:public EMC_COOLANT_CMD_MSG {  public:    EMC_COOLANT_HALT():EMC_COOLANT_CMD_MSG(EMC_COOLANT_HALT_TYPE,					   sizeof(EMC_COOLANT_HALT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_COOLANT_ABORT:public EMC_COOLANT_CMD_MSG {  public:    EMC_COOLANT_ABORT():EMC_COOLANT_CMD_MSG(EMC_COOLANT_ABORT_TYPE,					    sizeof(EMC_COOLANT_ABORT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_COOLANT_MIST_ON:public EMC_COOLANT_CMD_MSG {  public:    EMC_COOLANT_MIST_ON():EMC_COOLANT_CMD_MSG(EMC_COOLANT_MIST_ON_TYPE,					      sizeof(EMC_COOLANT_MIST_ON))    {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_COOLANT_MIST_OFF:public EMC_COOLANT_CMD_MSG {  public:    EMC_COOLANT_MIST_OFF():EMC_COOLANT_CMD_MSG(EMC_COOLANT_MIST_OFF_TYPE,					       sizeof					       (EMC_COOLANT_MIST_OFF)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_COOLANT_FLOOD_ON:public EMC_COOLANT_CMD_MSG {  public:    EMC_COOLANT_FLOOD_ON():EMC_COOLANT_CMD_MSG(EMC_COOLANT_FLOOD_ON_TYPE,					       sizeof					       (EMC_COOLANT_FLOOD_ON)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_COOLANT_FLOOD_OFF:public EMC_COOLANT_CMD_MSG {  public:    EMC_COOLANT_FLOOD_OFF():EMC_COOLANT_CMD_MSG(EMC_COOLANT_FLOOD_OFF_TYPE,						sizeof						(EMC_COOLANT_FLOOD_OFF)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};// EMC_COOLANT status base classclass EMC_COOLANT_STAT_MSG:public RCS_STAT_MSG {  public:    EMC_COOLANT_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_COOLANT_STAT:public EMC_COOLANT_STAT_MSG {  public:    EMC_COOLANT_STAT();    // For internal NML/CMS use only.    void update(CMS * cms);    int mist;			// 0 off, 1 on    int flood;			// 0 off, 1 on};// EMC_LUBE type declarations// EMC_LUBE command base classclass EMC_LUBE_CMD_MSG:public RCS_CMD_MSG {  public:    EMC_LUBE_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_LUBE_INIT:public EMC_LUBE_CMD_MSG {  public:    EMC_LUBE_INIT():EMC_LUBE_CMD_MSG(EMC_LUBE_INIT_TYPE,				     sizeof(EMC_LUBE_INIT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_LUBE_HALT:public EMC_LUBE_CMD_MSG {  public:    EMC_LUBE_HALT():EMC_LUBE_CMD_MSG(EMC_LUBE_HALT_TYPE,				     sizeof(EMC_LUBE_HALT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_LUBE_ABORT:public EMC_LUBE_CMD_MSG {  public:    EMC_LUBE_ABORT():EMC_LUBE_CMD_MSG(EMC_LUBE_ABORT_TYPE,				      sizeof(EMC_LUBE_ABORT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_LUBE_ON:public EMC_LUBE_CMD_MSG {  public:    EMC_LUBE_ON():EMC_LUBE_CMD_MSG(EMC_LUBE_ON_TYPE, sizeof(EMC_LUBE_ON)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_LUBE_OFF:public EMC_LUBE_CMD_MSG {  public:    EMC_LUBE_OFF():EMC_LUBE_CMD_MSG(EMC_LUBE_OFF_TYPE,				    sizeof(EMC_LUBE_OFF)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};// EMC_LUBE status base classclass EMC_LUBE_STAT_MSG:public RCS_STAT_MSG {  public:    EMC_LUBE_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_LUBE_STAT:public EMC_LUBE_STAT_MSG {  public:    EMC_LUBE_STAT();    // For internal NML/CMS use only.    void update(CMS * cms);    int on;			// 0 off, 1 on    int level;			// 0 low, 1 okay};// EMC IO configuration classesclass EMC_SET_DIO_INDEX:public RCS_CMD_MSG {  public:    EMC_SET_DIO_INDEX():RCS_CMD_MSG(EMC_SET_DIO_INDEX_TYPE,				    sizeof(EMC_SET_DIO_INDEX)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);    int value;			// one of enum EMC_SET_DIO_INDEX_XXX    int index;			// index, 0..max};class EMC_SET_AIO_INDEX:public RCS_CMD_MSG {  public:    EMC_SET_AIO_INDEX():RCS_CMD_MSG(EMC_SET_AIO_INDEX_TYPE,				    sizeof(EMC_SET_AIO_INDEX)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);    int value;			// one of enum EMC_SET_AIO_INDEX_XXX    int index;			// index, 0..max};// EMC_IO is aggregate of all EMC IO-related status classes// EMC_IO command base classclass EMC_IO_CMD_MSG:public RCS_CMD_MSG {  public:    EMC_IO_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_IO_INIT:public EMC_IO_CMD_MSG {  public:    EMC_IO_INIT():EMC_IO_CMD_MSG(EMC_IO_INIT_TYPE, sizeof(EMC_IO_INIT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_IO_HALT:public EMC_IO_CMD_MSG {  public:    EMC_IO_HALT():EMC_IO_CMD_MSG(EMC_IO_HALT_TYPE, sizeof(EMC_IO_HALT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_IO_ABORT:public EMC_IO_CMD_MSG {  public:    EMC_IO_ABORT():EMC_IO_CMD_MSG(EMC_IO_ABORT_TYPE, sizeof(EMC_IO_ABORT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_IO_SET_CYCLE_TIME:public EMC_IO_CMD_MSG {  public:    EMC_IO_SET_CYCLE_TIME():EMC_IO_CMD_MSG(EMC_IO_SET_CYCLE_TIME_TYPE,					   sizeof(EMC_IO_SET_CYCLE_TIME)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);    double cycleTime;};// EMC_IO status base classclass EMC_IO_STAT_MSG:public RCS_STAT_MSG {  public:    EMC_IO_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;};class EMC_IO_STAT:public EMC_IO_STAT_MSG {  public:    EMC_IO_STAT():EMC_IO_STAT_MSG(EMC_IO_STAT_TYPE, sizeof(EMC_IO_STAT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);    // top-level stuff    double cycleTime;    int debug;			// copy of EMC_DEBUG global    // aggregate of IO-related status classes    EMC_TOOL_STAT tool;    EMC_COOLANT_STAT coolant;    EMC_AUX_STAT aux;    EMC_LUBE_STAT lube;};// EMC is aggregate of EMC_TASK, EMC_TRAJ, EMC_IO, etc.// EMC command base classclass EMC_CMD_MSG:public RCS_CMD_MSG {  public:    EMC_CMD_MSG(NMLTYPE t, size_t s):RCS_CMD_MSG(t, s) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_INIT:public EMC_CMD_MSG {  public:    EMC_INIT():EMC_CMD_MSG(EMC_INIT_TYPE, sizeof(EMC_INIT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_HALT:public EMC_CMD_MSG {  public:    EMC_HALT():EMC_CMD_MSG(EMC_HALT_TYPE, sizeof(EMC_HALT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_ABORT:public EMC_CMD_MSG {  public:    EMC_ABORT():EMC_CMD_MSG(EMC_ABORT_TYPE, sizeof(EMC_ABORT)) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};// EMC status base classclass EMC_STAT_MSG:public RCS_STAT_MSG {  public:    EMC_STAT_MSG(NMLTYPE t, size_t s):RCS_STAT_MSG(t, s) {    };    // For internal NML/CMS use only.    void update(CMS * cms);};class EMC_STAT:public EMC_STAT_MSG {  public:    EMC_STAT();    // For internal NML/CMS use only.    void update(CMS * cms);    // the top-level EMC_TASK status class    EMC_TASK_STAT task;    // subordinate status classes    EMC_MOTION_STAT motion;    EMC_IO_STAT io;    int debug;			// copy of EMC_DEBUG global};/*   Declarations of EMC status class implementations, for major subsystems.   These are defined in the appropriate main() files, and referenced   by code in other files to get EMC status.   */#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -