saicanon.cc
来自「CNC 的开放码,EMC2 V2.2.8版」· CC 代码 · 共 1,223 行 · 第 1/3 页
CC
1,223 行
(axis == CANON_AXIS_X) ? "CANON_AXIS_X" : (axis == CANON_AXIS_Y) ? "CANON_AXIS_Y" : (axis == CANON_AXIS_Z) ? "CANON_AXIS_Z" : (axis == CANON_AXIS_A) ? "CANON_AXIS_A" : (axis == CANON_AXIS_B) ? "CANON_AXIS_B" : (axis == CANON_AXIS_C) ? "CANON_AXIS_C" : "UNKNOWN");}/* Program Functions */void PROGRAM_STOP(){PRINT0("PROGRAM_STOP()\n");}void SET_BLOCK_DELETE(bool state){block_delete = state;} //state == ON, means we don't interpret lines starting with "/"bool GET_BLOCK_DELETE(){return block_delete;} //state == ON, means we don't interpret lines starting with "/"void SET_OPTIONAL_PROGRAM_STOP(bool state){optional_program_stop = state;} //state == ON, means we stopbool GET_OPTIONAL_PROGRAM_STOP(){return optional_program_stop;} //state == ON, means we stopvoid OPTIONAL_PROGRAM_STOP(){PRINT0("OPTIONAL_PROGRAM_STOP()\n");}void PROGRAM_END(){PRINT0("PROGRAM_END()\n");}/*************************************************************************//* Canonical "Give me information" functionsIn general, returned values are valid only if any canonical do it commandsthat may have been called for have been executed to completion. If a functionreturns a valid value regardless of execution, that is noted in the commentsbelow.*//* The interpreter is not using this function// Returns the system angular unit factor, in units / degreeextern double GET_EXTERNAL_ANGLE_UNIT_FACTOR(){ return 1;}*//* MGS - FIXME - These functions should not be stubbed out to return constants.They should return variable values... */int GET_EXTERNAL_ADAPTIVE_FEED_ENABLE() {return 0;}int GET_EXTERNAL_FEED_OVERRIDE_ENABLE() {return 1;}double GET_EXTERNAL_MOTION_CONTROL_TOLERANCE() { return 0.1;}double GET_EXTERNAL_LENGTH_UNITS() {return 0.03937007874016;}int GET_EXTERNAL_FEED_HOLD_ENABLE() {return 1;}int GET_EXTERNAL_AXIS_MASK() {return 7;} // XYZ machinedouble GET_EXTERNAL_ANGLE_UNITS() {return 1.0;}int GET_EXTERNAL_SELECTED_TOOL_SLOT() { return 0; }int GET_EXTERNAL_SPINDLE_OVERRIDE_ENABLE() {return 1;}void START_SPEED_FEED_SYNCH(double sync, bool vel) {}CANON_MOTION_MODE motion_mode;void SET_MOTION_CONTROL_MODE(CANON_MOTION_MODE mode, double tolerance) { _motion_mode = mode; }void SET_MOTION_CONTROL_MODE(double tolerance) { }int GET_EXTERNAL_DIGITAL_INPUT(int index) { return 1; }double GET_EXTERNAL_ANALOG_INPUT(int index) { return 1.0; }void WAIT(int index, int input_type, int wait_type, int timeout) {}/* Returns the system feed rate */double GET_EXTERNAL_FEED_RATE(){ return _feed_rate;}/* Returns the system flood coolant setting zero = off, non-zero = on */int GET_EXTERNAL_FLOOD(){ return _flood;}/* Returns the system length unit factor, in units per mm */extern double GET_EXTERNAL_LENGTH_UNIT_FACTOR(){ return 1/_length_unit_factor;}/* Returns the system length unit type */CANON_UNITS GET_EXTERNAL_LENGTH_UNIT_TYPE(){ return _length_unit_type;}/* Returns the system mist coolant setting zero = off, non-zero = on */extern int GET_EXTERNAL_MIST(){ return _mist;}// Returns the current motion control modeextern CANON_MOTION_MODE GET_EXTERNAL_MOTION_CONTROL_MODE(){ return _motion_mode;}/* The interpreter is not using these six GET_EXTERNAL_ORIGIN functions#ifdef AA// returns the current a-axis origin offsetdouble GET_EXTERNAL_ORIGIN_A(){ return _program_origin_a;}#endif#ifdef BB// returns the current b-axis origin offsetdouble GET_EXTERNAL_ORIGIN_B(){ return _program_origin_b;}#endif#ifdef CC// returns the current c-axis origin offsetdouble GET_EXTERNAL_ORIGIN_C(){ return _program_origin_c;}#endif// returns the current x-axis origin offsetdouble GET_EXTERNAL_ORIGIN_X(){ return _program_origin_x;}// returns the current y-axis origin offsetdouble GET_EXTERNAL_ORIGIN_Y(){ return _program_origin_y;}// returns the current z-axis origin offsetdouble GET_EXTERNAL_ORIGIN_Z(){ return _program_origin_z;}*/void GET_EXTERNAL_PARAMETER_FILE_NAME( char * file_name, /* string: to copy file name into */ int max_size) /* maximum number of characters to copy */{ // Paranoid checks if (0 == file_name) return; if (max_size < 0) return; if (strlen(_parameter_file_name) < (unsigned int)max_size) strcpy(file_name, _parameter_file_name); else file_name[0] = 0;}CANON_PLANE GET_EXTERNAL_PLANE(){ return _active_plane;}#ifdef AA/* returns the current a-axis position */double GET_EXTERNAL_POSITION_A(){ return _program_position_a;}#endif#ifdef BB/* returns the current b-axis position */double GET_EXTERNAL_POSITION_B(){ return _program_position_b;}#endif#ifdef CC/* returns the current c-axis position */double GET_EXTERNAL_POSITION_C(){ return _program_position_c;}#endif/* returns the current x-axis position */double GET_EXTERNAL_POSITION_X(){ return _program_position_x;}/* returns the current y-axis position */double GET_EXTERNAL_POSITION_Y(){ return _program_position_y;}/* returns the current z-axis position */double GET_EXTERNAL_POSITION_Z(){ return _program_position_z;}// XXX fix sai for uvwdouble GET_EXTERNAL_POSITION_U(){ return 0.;}double GET_EXTERNAL_POSITION_V(){ return 0.;}double GET_EXTERNAL_POSITION_W(){ return 0.;}double GET_EXTERNAL_PROBE_POSITION_U(){ return 0.;}double GET_EXTERNAL_PROBE_POSITION_V(){ return 0.;}double GET_EXTERNAL_PROBE_POSITION_W(){ return 0.;}#ifdef AA/* returns the a-axis position at the last probe trip. This is only valid once the probe command has executed to completion. */double GET_EXTERNAL_PROBE_POSITION_A(){ return _probe_position_a;}#endif#ifdef BB/* returns the b-axis position at the last probe trip. This is only valid once the probe command has executed to completion. */double GET_EXTERNAL_PROBE_POSITION_B(){ return _probe_position_b;}#endif#ifdef CC/* returns the c-axis position at the last probe trip. This is only valid once the probe command has executed to completion. */double GET_EXTERNAL_PROBE_POSITION_C(){ return _probe_position_c;}#endif/* returns the x-axis position at the last probe trip. This is only valid once the probe command has executed to completion. */double GET_EXTERNAL_PROBE_POSITION_X(){ return _probe_position_x;}/* returns the y-axis position at the last probe trip. This is only valid once the probe command has executed to completion. */double GET_EXTERNAL_PROBE_POSITION_Y(){ return _probe_position_y;}/* returns the z-axis position at the last probe trip. This is only valid once the probe command has executed to completion. */double GET_EXTERNAL_PROBE_POSITION_Z(){ return _probe_position_z;}/* Returns the value for any analog non-contact probing. *//* This is a dummy of a dummy, returning a useless value. *//* It is not expected this will ever be called. */extern double GET_EXTERNAL_PROBE_VALUE(){ return 1.0;}/* Returns zero if queue is not empty, non-zero if the queue is empty *//* In the stand-alone interpreter, there is no queue, so it is always empty */extern int GET_EXTERNAL_QUEUE_EMPTY(){ return 1;}/* Returns the system value for spindle speed in rpm */double GET_EXTERNAL_SPEED(){ return _spindle_speed;}/* Returns the system value for direction of spindle turning */extern CANON_DIRECTION GET_EXTERNAL_SPINDLE(){ return _spindle_turning;}/* Returns the system value for the carousel slot in which the toolcurrently in the spindle belongs. Return value zero means there is notool in the spindle. */extern int GET_EXTERNAL_TOOL_SLOT(){ return _active_slot;}/* Returns maximum number of tools */int GET_EXTERNAL_TOOL_MAX(){ return _tool_max;}/* Returns the CANON_TOOL_TABLE structure associated with the tool in the given pocket */extern CANON_TOOL_TABLE GET_EXTERNAL_TOOL_TABLE(int pocket){ return _tools[pocket];}/* Returns the system traverse rate */double GET_EXTERNAL_TRAVERSE_RATE(){ return _traverse_rate;}USER_DEFINED_FUNCTION_TYPE USER_DEFINED_FUNCTION[USER_DEFINED_FUNCTION_NUM] = {0};int USER_DEFINED_FUNCTION_ADD(USER_DEFINED_FUNCTION_TYPE func, int num){ if (num < 0 || num >= USER_DEFINED_FUNCTION_NUM) { return -1; } USER_DEFINED_FUNCTION[num] = func; return 0;}void SET_MOTION_OUTPUT_BIT(int index){ return;}void CLEAR_MOTION_OUTPUT_BIT(int index){ return;}void SET_MOTION_OUTPUT_VALUE(int index, double value){ return;}void SET_AUX_OUTPUT_BIT(int index){ return;}void CLEAR_AUX_OUTPUT_BIT(int index){ return;}void SET_AUX_OUTPUT_VALUE(int index, double value){ return;}double GET_EXTERNAL_TOOL_LENGTH_ZOFFSET(){ return _tool_zoffset;}double GET_EXTERNAL_TOOL_LENGTH_XOFFSET(){ return _tool_xoffset;}void FINISH(void) { PRINT0("FINISH()\n");}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?