📄 emc.hh
字号:
/********************************************************************* Description: emc.hh* Declarations for EMC NML vocabulary** Derived from a work by Fred Proctor & Will Shackleford** Author:* License: GPL Version 2* System: Linux** Copyright (c) 2004 All rights reserved.** Last change:* $Revision: 1.55 $* $Author: alex_joni $* $Date: 2007/08/20 22:47:20 $********************************************************************/#ifndef EMC_HH#define EMC_HH#include "config.h"#include "emcglb.h" // EMC_AXIS_MAX#include "nml_type.hh"// Forward class declarationsclass EMC_AXIS_STAT;class EMC_TRAJ_STAT;class EMC_MOTION_STAT;class EMC_TASK_STAT;class EMC_TOOL_STAT;class EMC_AUX_STAT;class EMC_SPINDLE_STAT;class EMC_COOLANT_STAT;class EMC_LUBE_STAT;class EMC_IO_STAT;class EMC_STAT;class CMS;class RCS_CMD_CHANNEL;class RCS_STAT_CHANNEL;class NML;class EmcPose;class PM_CARTESIAN;// ---------------------// EMC TYPE DECLARATIONS// ---------------------// NML for base EMC#define EMC_OPERATOR_ERROR_TYPE ((NMLTYPE) 11)#define EMC_OPERATOR_TEXT_TYPE ((NMLTYPE) 12)#define EMC_OPERATOR_DISPLAY_TYPE ((NMLTYPE) 13)#define EMC_NULL_TYPE ((NMLTYPE) 21)#define EMC_SET_DEBUG_TYPE ((NMLTYPE) 22)#define EMC_SYSTEM_CMD_TYPE ((NMLTYPE) 30)// NML for EMC_AXIS#define EMC_AXIS_SET_AXIS_TYPE ((NMLTYPE) 101)#define EMC_AXIS_SET_UNITS_TYPE ((NMLTYPE) 102)/* gap because of deleted message types */#define EMC_AXIS_SET_MIN_POSITION_LIMIT_TYPE ((NMLTYPE) 107)#define EMC_AXIS_SET_MAX_POSITION_LIMIT_TYPE ((NMLTYPE) 108)#define EMC_AXIS_SET_MIN_OUTPUT_LIMIT_TYPE ((NMLTYPE) 109)#define EMC_AXIS_SET_MAX_OUTPUT_LIMIT_TYPE ((NMLTYPE) 110)#define EMC_AXIS_SET_FERROR_TYPE ((NMLTYPE) 111)#define EMC_AXIS_SET_HOMING_PARAMS_TYPE ((NMLTYPE) 112)// gap because of deleted message types#define EMC_AXIS_SET_MIN_FERROR_TYPE ((NMLTYPE) 115)#define EMC_AXIS_SET_MAX_VELOCITY_TYPE ((NMLTYPE) 116)// gap because of deleted message types#define EMC_AXIS_INIT_TYPE ((NMLTYPE) 118)#define EMC_AXIS_HALT_TYPE ((NMLTYPE) 119)#define EMC_AXIS_ABORT_TYPE ((NMLTYPE) 120)#define EMC_AXIS_ENABLE_TYPE ((NMLTYPE) 121)#define EMC_AXIS_DISABLE_TYPE ((NMLTYPE) 122)#define EMC_AXIS_HOME_TYPE ((NMLTYPE) 123)#define EMC_AXIS_JOG_TYPE ((NMLTYPE) 124)#define EMC_AXIS_INCR_JOG_TYPE ((NMLTYPE) 125)#define EMC_AXIS_ABS_JOG_TYPE ((NMLTYPE) 126)#define EMC_AXIS_ACTIVATE_TYPE ((NMLTYPE) 127)#define EMC_AXIS_DEACTIVATE_TYPE ((NMLTYPE) 128)#define EMC_AXIS_OVERRIDE_LIMITS_TYPE ((NMLTYPE) 129)#define EMC_AXIS_SET_OUTPUT_TYPE ((NMLTYPE) 130)#define EMC_AXIS_LOAD_COMP_TYPE ((NMLTYPE) 131)// gap because of deleted message type (EMC_AXIS_ALTER_TYPE)#define EMC_AXIS_SET_STEP_PARAMS_TYPE ((NMLTYPE) 133)#define EMC_AXIS_SET_BACKLASH_TYPE ((NMLTYPE) 134)#define EMC_AXIS_STAT_TYPE ((NMLTYPE) 199)// NML for EMC_TRAJ// defs for termination conditions#define EMC_TRAJ_TERM_COND_STOP 1#define EMC_TRAJ_TERM_COND_BLEND 2#define EMC_TRAJ_SET_AXES_TYPE ((NMLTYPE) 201)#define EMC_TRAJ_SET_UNITS_TYPE ((NMLTYPE) 202)#define EMC_TRAJ_SET_CYCLE_TIME_TYPE ((NMLTYPE) 203)#define EMC_TRAJ_SET_MODE_TYPE ((NMLTYPE) 204)#define EMC_TRAJ_SET_VELOCITY_TYPE ((NMLTYPE) 205)#define EMC_TRAJ_SET_ACCELERATION_TYPE ((NMLTYPE) 206)#define EMC_TRAJ_SET_MAX_VELOCITY_TYPE ((NMLTYPE) 207)#define EMC_TRAJ_SET_MAX_ACCELERATION_TYPE ((NMLTYPE) 208)#define EMC_TRAJ_SET_SCALE_TYPE ((NMLTYPE) 209)#define EMC_TRAJ_SET_MOTION_ID_TYPE ((NMLTYPE) 210)#define EMC_TRAJ_INIT_TYPE ((NMLTYPE) 211)#define EMC_TRAJ_HALT_TYPE ((NMLTYPE) 212)#define EMC_TRAJ_ENABLE_TYPE ((NMLTYPE) 213)#define EMC_TRAJ_DISABLE_TYPE ((NMLTYPE) 214)#define EMC_TRAJ_ABORT_TYPE ((NMLTYPE) 215)#define EMC_TRAJ_PAUSE_TYPE ((NMLTYPE) 216)#define EMC_TRAJ_STEP_TYPE ((NMLTYPE) 217)#define EMC_TRAJ_RESUME_TYPE ((NMLTYPE) 218)#define EMC_TRAJ_DELAY_TYPE ((NMLTYPE) 219)#define EMC_TRAJ_LINEAR_MOVE_TYPE ((NMLTYPE) 220)#define EMC_TRAJ_CIRCULAR_MOVE_TYPE ((NMLTYPE) 221)#define EMC_TRAJ_SET_TERM_COND_TYPE ((NMLTYPE) 222)#define EMC_TRAJ_SET_OFFSET_TYPE ((NMLTYPE) 223)#define EMC_TRAJ_SET_ORIGIN_TYPE ((NMLTYPE) 224)#define EMC_TRAJ_SET_HOME_TYPE ((NMLTYPE) 225)/* gap because of removed messages */#define EMC_TRAJ_CLEAR_PROBE_TRIPPED_FLAG_TYPE ((NMLTYPE) 228)#define EMC_TRAJ_PROBE_TYPE ((NMLTYPE) 229)#define EMC_TRAJ_SET_TELEOP_ENABLE_TYPE ((NMLTYPE) 230)#define EMC_TRAJ_SET_TELEOP_VECTOR_TYPE ((NMLTYPE) 231)#define EMC_TRAJ_SET_SPINDLESYNC_TYPE ((NMLTYPE) 232)#define EMC_TRAJ_SET_SPINDLE_SCALE_TYPE ((NMLTYPE) 233)#define EMC_TRAJ_SET_FO_ENABLE_TYPE ((NMLTYPE) 234)#define EMC_TRAJ_SET_SO_ENABLE_TYPE ((NMLTYPE) 235)#define EMC_TRAJ_SET_FH_ENABLE_TYPE ((NMLTYPE) 236)#define EMC_TRAJ_RIGID_TAP_TYPE ((NMLTYPE) 237)#define EMC_TRAJ_STAT_TYPE ((NMLTYPE) 299)// EMC_MOTION aggregate class type declaration#define EMC_MOTION_INIT_TYPE ((NMLTYPE) 301)#define EMC_MOTION_HALT_TYPE ((NMLTYPE) 302)#define EMC_MOTION_ABORT_TYPE ((NMLTYPE) 303)#define EMC_MOTION_SET_AOUT_TYPE ((NMLTYPE) 304)#define EMC_MOTION_SET_DOUT_TYPE ((NMLTYPE) 305)#define EMC_MOTION_ADAPTIVE_TYPE ((NMLTYPE) 306)#define EMC_MOTION_STAT_TYPE ((NMLTYPE) 399)// NML for EMC_TASK#define EMC_TASK_INIT_TYPE ((NMLTYPE) 501)#define EMC_TASK_HALT_TYPE ((NMLTYPE) 502)#define EMC_TASK_ABORT_TYPE ((NMLTYPE) 503)#define EMC_TASK_SET_MODE_TYPE ((NMLTYPE) 504)#define EMC_TASK_SET_STATE_TYPE ((NMLTYPE) 505)#define EMC_TASK_PLAN_OPEN_TYPE ((NMLTYPE) 506)#define EMC_TASK_PLAN_RUN_TYPE ((NMLTYPE) 507)#define EMC_TASK_PLAN_READ_TYPE ((NMLTYPE) 508)#define EMC_TASK_PLAN_EXECUTE_TYPE ((NMLTYPE) 509)#define EMC_TASK_PLAN_PAUSE_TYPE ((NMLTYPE) 510)#define EMC_TASK_PLAN_STEP_TYPE ((NMLTYPE) 511)#define EMC_TASK_PLAN_RESUME_TYPE ((NMLTYPE) 512)#define EMC_TASK_PLAN_END_TYPE ((NMLTYPE) 513)#define EMC_TASK_PLAN_CLOSE_TYPE ((NMLTYPE) 514)#define EMC_TASK_PLAN_INIT_TYPE ((NMLTYPE) 515)#define EMC_TASK_PLAN_SYNCH_TYPE ((NMLTYPE) 516)#define EMC_TASK_PLAN_SET_OPTIONAL_STOP_TYPE ((NMLTYPE) 517)#define EMC_TASK_PLAN_SET_BLOCK_DELETE_TYPE ((NMLTYPE) 518)#define EMC_TASK_PLAN_OPTIONAL_STOP_TYPE ((NMLTYPE) 519)#define EMC_TASK_STAT_TYPE ((NMLTYPE) 599)// EMC_TOOL type declarations#define EMC_TOOL_INIT_TYPE ((NMLTYPE) 1101)#define EMC_TOOL_HALT_TYPE ((NMLTYPE) 1102)#define EMC_TOOL_ABORT_TYPE ((NMLTYPE) 1103)#define EMC_TOOL_PREPARE_TYPE ((NMLTYPE) 1104)#define EMC_TOOL_LOAD_TYPE ((NMLTYPE) 1105)#define EMC_TOOL_UNLOAD_TYPE ((NMLTYPE) 1106)#define EMC_TOOL_LOAD_TOOL_TABLE_TYPE ((NMLTYPE) 1107)#define EMC_TOOL_SET_OFFSET_TYPE ((NMLTYPE) 1108)#define EMC_TOOL_STAT_TYPE ((NMLTYPE) 1199)// EMC_AUX type declarations#define EMC_AUX_INIT_TYPE ((NMLTYPE) 1201)#define EMC_AUX_HALT_TYPE ((NMLTYPE) 1202)#define EMC_AUX_ABORT_TYPE ((NMLTYPE) 1203)#define EMC_AUX_DIO_WRITE_TYPE ((NMLTYPE) 1204)#define EMC_AUX_AIO_WRITE_TYPE ((NMLTYPE) 1205)#define EMC_AUX_ESTOP_ON_TYPE ((NMLTYPE) 1206)#define EMC_AUX_ESTOP_OFF_TYPE ((NMLTYPE) 1207)#define EMC_AUX_ESTOP_RESET_TYPE ((NMLTYPE) 1208)#define EMC_AUX_INPUT_WAIT_TYPE ((NMLTYPE) 1209)#define EMC_AUX_STAT_TYPE ((NMLTYPE) 1299)// EMC_SPINDLE type declarations#define EMC_SPINDLE_INIT_TYPE ((NMLTYPE) 1301)#define EMC_SPINDLE_HALT_TYPE ((NMLTYPE) 1302)#define EMC_SPINDLE_ABORT_TYPE ((NMLTYPE) 1303)#define EMC_SPINDLE_ON_TYPE ((NMLTYPE) 1304)#define EMC_SPINDLE_OFF_TYPE ((NMLTYPE) 1305)#define EMC_SPINDLE_FORWARD_TYPE ((NMLTYPE) 1306)#define EMC_SPINDLE_REVERSE_TYPE ((NMLTYPE) 1307)#define EMC_SPINDLE_STOP_TYPE ((NMLTYPE) 1308)#define EMC_SPINDLE_INCREASE_TYPE ((NMLTYPE) 1309)#define EMC_SPINDLE_DECREASE_TYPE ((NMLTYPE) 1310)#define EMC_SPINDLE_CONSTANT_TYPE ((NMLTYPE) 1311)#define EMC_SPINDLE_BRAKE_RELEASE_TYPE ((NMLTYPE) 1312)#define EMC_SPINDLE_BRAKE_ENGAGE_TYPE ((NMLTYPE) 1313)#define EMC_SPINDLE_ENABLE_TYPE ((NMLTYPE) 1314)#define EMC_SPINDLE_DISABLE_TYPE ((NMLTYPE) 1315)#define EMC_SPINDLE_STAT_TYPE ((NMLTYPE) 1399)// EMC_COOLANT type declarations#define EMC_COOLANT_INIT_TYPE ((NMLTYPE) 1401)#define EMC_COOLANT_HALT_TYPE ((NMLTYPE) 1402)#define EMC_COOLANT_ABORT_TYPE ((NMLTYPE) 1403)#define EMC_COOLANT_MIST_ON_TYPE ((NMLTYPE) 1404)#define EMC_COOLANT_MIST_OFF_TYPE ((NMLTYPE) 1405)#define EMC_COOLANT_FLOOD_ON_TYPE ((NMLTYPE) 1406)#define EMC_COOLANT_FLOOD_OFF_TYPE ((NMLTYPE) 1407)#define EMC_COOLANT_STAT_TYPE ((NMLTYPE) 1499)// EMC_LUBE type declarations#define EMC_LUBE_INIT_TYPE ((NMLTYPE) 1501)#define EMC_LUBE_HALT_TYPE ((NMLTYPE) 1502)#define EMC_LUBE_ABORT_TYPE ((NMLTYPE) 1503)#define EMC_LUBE_ON_TYPE ((NMLTYPE) 1504)#define EMC_LUBE_OFF_TYPE ((NMLTYPE) 1505)#define EMC_LUBE_STAT_TYPE ((NMLTYPE) 1599)// EMC IO point configuration declarations#define EMC_SET_DIO_INDEX_TYPE ((NMLTYPE) 5001)#define EMC_SET_AIO_INDEX_TYPE ((NMLTYPE) 5002)// digital IO point indicesenum { // spindle EMC_SET_DIO_INDEX_SPINDLE_FORWARD = 5101, EMC_SET_DIO_INDEX_SPINDLE_REVERSE, EMC_SET_DIO_INDEX_SPINDLE_DECREASE, EMC_SET_DIO_INDEX_SPINDLE_INCREASE, EMC_SET_DIO_INDEX_SPINDLE_BRAKE, EMC_SET_DIO_INDEX_SPINDLE_ENABLE, // coolant EMC_SET_DIO_INDEX_COOLANT_MIST, EMC_SET_DIO_INDEX_COOLANT_FLOOD, // lube EMC_SET_DIO_INDEX_LUBE_SENSE, // aux EMC_SET_DIO_INDEX_ESTOP_SENSE, EMC_SET_DIO_INDEX_ESTOP_WRITE};// analog IO point indicesenum { // spindle EMC_SET_AIO_INDEX_SPINDLE_ON = 5201};// EMC_IO aggregate class type declaration#define EMC_IO_INIT_TYPE ((NMLTYPE) 1601)#define EMC_IO_HALT_TYPE ((NMLTYPE) 1602)#define EMC_IO_ABORT_TYPE ((NMLTYPE) 1603)#define EMC_IO_SET_CYCLE_TIME_TYPE ((NMLTYPE) 1604)#define EMC_IO_STAT_TYPE ((NMLTYPE) 1699)// EMC aggregate class type declaration// these are placeholders#define EMC_LOG_TYPE_IO_CMD 21 // command into EMC IO controller#define EMC_LOG_TYPE_TASK_CMD 51 // command into EMC Task controller#define EMC_INIT_TYPE ((NMLTYPE) 1901)#define EMC_HALT_TYPE ((NMLTYPE) 1902)#define EMC_ABORT_TYPE ((NMLTYPE) 1903)#define EMC_STAT_TYPE ((NMLTYPE) 1999)// types for EMC_TASK modeenum EMC_TASK_MODE_ENUM { EMC_TASK_MODE_MANUAL = 1, EMC_TASK_MODE_AUTO = 2, EMC_TASK_MODE_MDI = 3};// types for EMC_TASK stateenum EMC_TASK_STATE_ENUM { EMC_TASK_STATE_ESTOP = 1, EMC_TASK_STATE_ESTOP_RESET = 2, EMC_TASK_STATE_OFF = 3, EMC_TASK_STATE_ON = 4};// types for EMC_TASK execStateenum EMC_TASK_EXEC_ENUM {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -