数控系统中的解释器源代码
源代码在线查看: message.hh
#ifndef MASSAGE_HH
#define MASSAGE_HH
/* message.hh
Declarations for temp NML vocabulary
Modification history:
4-11-2005 WPIN added status message.
4-11-2005 WPIN created .
*/
#include "rcs.hh"
#define INTERP_THIRD_AXIS_LINEAR_TYPE ((NMLTYPE) 101)
#define INTERP_AUX_MOVE_TYPE ((NMLTYPE) 102)
#define INTERP_AUX_SPINDLE_TYPE ((NMLTYPE) 103)
#define INTERP_AUX_TOOL_TYPE ((NMLTYPE) 104)
#define INTERP_AUX_MID_END_TYPE ((NMLTYPE) 105)
#define INTERP_DWELL_TYPE ((NMLTYPE) 106)
#define INTERP_SET_FEED_RATE_TYPE ((NMLTYPE) 107)
#define INTERP_SUB_CALL_TYPE ((NMLTYPE) 108)
class INTERP_CMD_MSG : public RCS_CMD_MSG
{ public: INTERP_CMD_MSG(NMLTYPE t, size_t s): RCS_CMD_MSG(t, s) {};
// For internal NML/CMS use only. //void update(CMS *cms);
};
/** * Set the the third axis linear motion message.
* .
*/ class INTERP_THIRD_AXIS_LINEAR : public INTERP_CMD_MSG
{ public: INTERP_THIRD_AXIS_LINEAR(): INTERP_CMD_MSG(INTERP_THIRD_AXIS_LINEAR_TYPE, sizeof(INTERP_THIRD_AXIS_LINEAR)) {};
// For internal NML/CMS use only. //void update(CMS *cms);
double pos_third;
double feed;
int canon_plane;
};
/** * Set the the m code motion message.
* .
*/
class INTERP_AUX_MOVE : public INTERP_CMD_MSG
{ public: INTERP_AUX_MOVE(): INTERP_CMD_MSG(INTERP_AUX_MOVE_TYPE, sizeof(INTERP_AUX_MOVE)) {};
// For internal NML/CMS use only. //void update(CMS *cms);
int m_code[4][4];
};
/** * Set the the S code motion message.
* .
*/
class INTERP_AUX_SPINDLE : public INTERP_CMD_MSG
{ public: INTERP_AUX_SPINDLE(): INTERP_CMD_MSG(INTERP_AUX_SPINDLE_TYPE, sizeof(INTERP_AUX_SPINDLE)) {};
// For internal NML/CMS use only. //void update(CMS *cms);
double s;
};
/** * Set the the T code motion message.
* .
*/
class INTERP_AUX_TOOL : public INTERP_CMD_MSG
{ public: INTERP_AUX_TOOL(): INTERP_CMD_MSG(INTERP_AUX_TOOL_TYPE, sizeof(INTERP_AUX_TOOL)) {};
// For internal NML/CMS use only. //void update(CMS *cms);
int t;
};
/** * Set the feed rate message.
* .
*/
class INTERP_SET_FEED_RATE : public INTERP_CMD_MSG
{ public: INTERP_SET_FEED_RATE(): INTERP_CMD_MSG(INTERP_SET_FEED_RATE_TYPE, sizeof(INTERP_SET_FEED_RATE)) {};
// For internal NML/CMS use only. //void update(CMS *cms);
double feed_rate;
};
/** * Set the the mid M code end message.
* .
*/
class INTERP_AUX_MID_END : public INTERP_CMD_MSG
{ public: INTERP_AUX_MID_END(): INTERP_CMD_MSG(INTERP_AUX_MID_END_TYPE, sizeof(INTERP_AUX_MID_END)) {};
// For internal NML/CMS use only. // void update(CMS *cms);
};
class INTERP_DWELL : public INTERP_CMD_MSG
{ public: INTERP_DWELL(): INTERP_CMD_MSG(INTERP_DWELL_TYPE, sizeof(INTERP_DWELL)) {};
// For internal NML/CMS use only. //void update(CMS *cms);
double time;
};
//add by wp for sub call class INTERP_SUB_CALL:public INTERP_CMD_MSG
{ public: INTERP_SUB_CALL() : INTERP_CMD_MSG(INTERP_SUB_CALL_TYPE, sizeof(INTERP_SUB_CALL)) {};
// For internal NML/CMS use only. //void update(CMS *cms);
int sublevel; //0--main, 1--1 lvevel ,2--level }; //end
#endif