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 + -
显示快捷键?