The present invention relates to a numerical controller, and more particularly, to a numerical controller which detects displacement of a moving path of a tool.
In a five-axis machining tool, a control point path is obtained for a commanded tool tip path while rotation of a tool and rotation of a table are taken into account. By making a motor operate on the control point path, a tool tip of an actual machine eventually operates on the commanded path (for example, Japanese Patent Laid-Open No. 2003-196917, or the like). While there exists a numerical controller for obtaining a tool tip path from a control point path (for example, Japanese Patent Laid-Open No. 2011-43874), this tool is directed to verification after machining is finished, and is not directed to preventing erroneous operation during machining.
There is a case where, during automatic operation of work machining using a five-axis machining tool, automatic operation is interrupted and the operation is switched to manual operation by an operator to change a tool or confirm a status of machining. While it is necessary for the operator to move a tool from a position when automatic operation is interrupted by manual operation to change the tool or confirm the status of machining, there is a problem that, when the operator moves a tip of the tool to an erroneous position after the operator accomplishes the purpose (without restoring the tip of the tool to the original position after manual operation) and restarts machining, an actual tool tip position deviates from the commanded path, which causes erroneous cutting or machine interference.
As illustrated in
The numerical controller of the present invention controls a five-axis machining tool which drives a tool tip point of a tool which performs machining on a workpiece attached on a table, using axes including three straight axes and two rotation axes, on the basis of a program, includes a command analyzing unit configured to read out and analyze a block of the program and output a moving command data generated on the basis of the analysis result, an interpolating unit configured to generate interpolation data by performing interpolation processing on the basis of the moving command data and output the generated interpolation data, a servo control unit configured to control the axes on the basis of the interpolation data, a path displacement determining unit configured to calculate a distance between a program command path commanded by the program and a tool tip point of the tool after moving amounts of the axes in this control period are added on the basis of the moving command data, the interpolation data and current positions of the axes and determine whether or not the calculated distance is equal to or greater than an acceptable amount defined in advance, and an alerting unit configured to output alert in the case where the path displacement determining unit determines that the distance is equal to or greater than the acceptable amount defined in advance.
According to the present invention, by displacement of the path being constantly monitored during machining, it is possible to prevent erroneous cutting and machine interference which are caused by an unexpected problem.
The above-described and other objects and characteristics of the present invention will become apparent from the following description of an embodiment with reference to the following accompanying drawings:
An embodiment of the present invention will be described below along with the drawings. Outline of a path displacement detecting function of the present invention will be described first using
In the example of
The numerical controller of the present invention calculates a distance between the program command path and the position of the tool tip point T in each of three cases.
A configuration of the numerical controller according to an embodiment of the present invention will be described below.
A non-volatile memory 14 is configured as a memory in which a storage state is maintained even if the numerical controller 1 is powered down, by, for example, a power source being backed up with a battery which is not illustrated. In the non-volatile memory 14, a machining program loaded via an interface 15 and a machining program input via an indicator/MDI unit 70 which will be described later are stored. While, in the non-volatile memory 14, a program for machining program operation processing to be used for operating the machining program, or the like, is further stored, these programs are expanded in the RAM 13 upon execution. Further, in the ROM 12, various kinds of system programs for executing processing of an editing mode which is required for creating and editing the machining programs are written in advance.
The interface 15 is an interface for connecting the numerical controller 1 and external equipment 72 such as an adapter. The machining programs, various kinds of parameters, or the like, are loaded from the external equipment 72 side. Further, the machining program edited within the numerical controller 1 can be stored in external storage means via the external equipment 72. A PMC (programmable machine controller) 16 performs control by outputting signals to peripheral apparatuses (for example, an actuator such as a robot hand for changing a tool) of the machining tool via an I/O unit 17 using a sequence program incorporated in the numerical controller 1. Further, the PMC 16 receives signals from various kinds of switches and the like on an operation board disposed on the body of the machining tool, performs necessary signal processing and passes the signals to the CPU 11.
The indicator/MDI unit 70 is a manual data input apparatus including a display, a keyboard, or the like, and the interface 18 receives a command and data from the keyboard of the indicator/MDI unit 70 and passes the command and data to the CPU 11. An interface 19 is connected to an operation board 71 including a manual pulse generator, or the like.
An axis control circuit 30 for controlling axes provided at the machining tool receives a commanded amount of movement of axes from the CPU 11 and outputs the command for the axes to a servo amplifier 40. The servo amplifier 40 which receives this command drives a servo motor 50 which moves the axes provided at the machining tool. The servo motor 50 of the axes has a built-in position and speed detector, feeds back a position and speed feedback signal from the position and speed detector to the axis control circuit 30 and performs feedback control of the position and the speed. Note that, while in the hardware configuration diagram in
A spindle control circuit 60 receives a principal axis rotation command to the machining tool and outputs a spindle speed signal to a spindle amplifier 61. The spindle amplifier 61 which receives this spindle speed signal, rotates a spindle motor 62 of the machining tool at a commanded rotation speed to drive the tool.
A position coder 63 is coupled to the spindle motor 62, and the position coder 63 outputs a feedback pulse in synchronization with rotation of the principal axis, and the feedback pulse is read by the CPU 11.
The command analyzing unit 100 analyzes a block of machining commands included in the program read out from a memory which is not illustrated to generate data relating to a moving command, and outputs the generated data relating to the moving command to the interpolating unit 110 and the path displacement determining unit 140.
The interpolating unit 110 generates interpolation data calculated by interpolating points on a commanded path commanded by the data relating to the moving command with a control period on the basis of the data relating to the moving command accepted from the command analyzing unit 100 and outputs the generated interpolation data (an amount of movement of each axis of each control period) to the servo control unit 130.
The servo control unit 130 then controls the servo motor 50 which controls each axis to be controlled on the basis of the output of the interpolating unit 110.
The path displacement determining unit 140 obtains a program command path commanded by each block on the basis of the data relating to the moving command analyzed by the command analyzing unit 100, executes the above-described processing on the basis of the interpolation data (an amount of movement of each axis of each control period) input from the interpolating unit 110 to the servo control unit 130 and a current position of each axis held by the servo control unit 130 on the basis of feedback, or the like, from the servo motor 50, calculates a distance between a program command path which is currently being executed and a position of a tool tip point after a moving amount of this control period is added to each axis, and determines whether or not the calculated distance is equal to or greater than an acceptable amount δ defined in advance. In the case where the distance between the program command path which is currently being executed and the position of the tool tip point after the moving amount of this control circuit is added to each axis is equal to or greater than the acceptable amount δ defined in advance, the path displacement determining unit 140 commands output of an alert to the alerting unit 150.
When the alerting unit 150 receives a command to output an alert from the path displacement determining unit 140, the alerting unit 150 commands the servo control unit 130 to stop addition of the moving amount of each axis after this control period (output of a movement pulse), and notifies the operator of the alert by, for example, sound, light or display at an indicator of the indicator/MDI unit 70.
While the embodiment of the present invention has been described above, the present invention is not limited to only the example of the above-described embodiment and can be implemented in various forms by making changes as appropriate.
Number | Date | Country | Kind |
---|---|---|---|
2016-249676 | Dec 2016 | JP | national |