CN115362420A - Numerical control device and numerical control method - Google Patents

Numerical control device and numerical control method Download PDF

Info

Publication number
CN115362420A
CN115362420A CN202080099251.3A CN202080099251A CN115362420A CN 115362420 A CN115362420 A CN 115362420A CN 202080099251 A CN202080099251 A CN 202080099251A CN 115362420 A CN115362420 A CN 115362420A
Authority
CN
China
Prior art keywords
robot
unit
machining
program
numerical control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080099251.3A
Other languages
Chinese (zh)
Inventor
马场健辅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN115362420A publication Critical patent/CN115362420A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • B25J11/006Deburring or trimming
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23CMILLING
    • B23C2220/00Details of milling processes
    • B23C2220/20Deburring
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23DPLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
    • B23D79/00Methods, machines, or devices not covered elsewhere, for working metal by removal of material
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45151Deburring

Abstract

A numerical control device (1) controls a machine tool (2) and a robot (3), wherein the machine tool (2) cuts a workpiece, and the robot (3) is provided with a tool for deburring the workpiece. A numerical control device (1) is provided with: a boundary point calculation unit (34) that calculates a plurality of boundary points that represent the boundaries of regions of a workpiece that have been removed by cutting, based on the analysis result of a machining program (21) that is executed to control cutting; and a robot program generation unit (32) that generates a robot program (22) for moving the tool on a path along the plurality of boundary points.

Description

Numerical control device and numerical control method
Technical Field
The present invention relates to a numerical control device and a numerical control method for controlling a machine tool for machining a workpiece and a robot for deburring the workpiece.
Background
A workpiece subjected to cutting by a machine tool may be subjected to deburring by a tool attached to a robot. In the deburring by the driving of the robot, it is necessary to perform position control of the robot for moving the tool. In the following description, a tool attached to a tool of a machine tool and used for cutting may be referred to as a machining tool, and a tool attached to a robot and used for deburring may be referred to as a robot tool.
Patent document 1 discloses a method of acquiring ideal shape data of a workpiece from CAD (Computer Aided Design) data that is Design data of the workpiece, and moving a robot tool along an ideal shape indicated by the ideal shape data.
Patent document 1: japanese patent laid-open No. 2012-20348
Disclosure of Invention
A Numerical Control device that controls a machine tool by executing an NC (Numerical Control) program as a machining program performs position Control of the machine tool so that a machining tool moves along a path slightly different from a path along a command point generated based on CAD data in order to shorten a cutting time or the like. According to the conventional technique disclosed in patent document 1, since the position of the robot is not controlled in consideration of the shape of the workpiece after the cutting process by the machine tool, there is a problem that it is difficult to remove the burr with high accuracy from the workpiece subjected to the cutting process.
The present invention has been made in view of the above circumstances, and an object thereof is to obtain a numerical control device capable of removing a burr of a workpiece subjected to cutting with high accuracy.
In order to solve the above-described problems and achieve the object, a numerical control device according to the present invention controls a machine tool that performs cutting of a workpiece, and a robot to which a tool for deburring the workpiece is attached. The numerical control device according to the present invention includes: a boundary point calculation unit that calculates a plurality of boundary points indicating boundaries of regions of a workpiece that are removed by cutting, based on analysis results of a machining program executed to control cutting; and a robot program generating unit that generates a robot program for moving the tool on a path along the plurality of boundary points.
ADVANTAGEOUS EFFECTS OF INVENTION
The numerical control device according to the present invention has an effect of being capable of removing burrs with high accuracy for a workpiece subjected to cutting.
Drawings
Fig. 1 is a diagram showing a control system including a numerical control device according to embodiment 1.
Fig. 2 is a diagram showing a schematic configuration of a numerical control device according to embodiment 1.
Fig. 3 is a block diagram showing the configuration of the numerical control device and the configuration of the machine tool according to embodiment 1.
Fig. 4 is a diagram for explaining processing of a simulation unit included in the numerical control device according to embodiment 1.
Fig. 5 is a diagram for explaining processing of a boundary point calculation unit included in the numerical control device according to embodiment 1.
Fig. 6 is a diagram for explaining the processing performed by each of the boundary point calculation unit and the robot program generation unit included in the numerical control device according to embodiment 1.
Fig. 7 is a flowchart showing a processing procedure performed by the interpolation point calculation unit included in the numerical control device according to embodiment 1.
Fig. 8 is a flowchart showing a processing procedure performed by the boundary point calculation unit included in the numerical control device according to embodiment 1.
Fig. 9 is a flowchart showing a processing procedure performed by the robot program generating unit included in the numerical control device according to embodiment 1.
Fig. 10 is a diagram showing an example of a machining program and a robot program stored in the numerical control device according to embodiment 1.
Fig. 11 is a flowchart showing an operation procedure of the numerical control device when the numerical control device according to embodiment 1 automatically starts up a machining program or a robot program.
Fig. 12 is a diagram for explaining an example of deburring achieved by execution of a robot program generated in the numerical control device according to embodiment 1.
Fig. 13 is a diagram showing an example of a machining program and a robot program stored in the numerical control device according to embodiment 2.
Fig. 14 is a diagram showing an example of a screen on which a calculation result of a boundary point obtained by the numerical control device according to embodiment 2 is displayed.
Fig. 15 is a diagram for explaining the operation of the machine tool and the robot when the machining program and the robot program are executed in the numerical control device according to embodiment 2.
Fig. 16 is a flowchart showing a processing procedure performed by a machining program analyzing unit included in the numerical control device according to embodiment 2.
Fig. 17 is a flowchart showing a processing procedure performed by the interpolation point calculation unit included in the numerical control device according to embodiment 2.
Fig. 18 is a flowchart showing a processing procedure performed by the boundary point calculation unit included in the numerical control device according to embodiment 2.
Fig. 19 is a flowchart showing a processing procedure performed by a robot program generating unit included in the numerical control device according to embodiment 2.
Fig. 20 is a flowchart showing an operation procedure of the numerical control device according to embodiment 2 when the numerical control device automatically starts up a machining program or a robot program.
Detailed Description
The numerical control device and the numerical control method according to the embodiment will be described in detail below with reference to the drawings.
Embodiment 1.
Fig. 1 is a diagram showing a control system including a numerical control device according to embodiment 1. The control system includes the numerical control device 1 according to embodiment 1, a machine tool 2 that performs cutting of a workpiece, a robot 3 that performs additional machining, i.e., burr removal, a robot controller 4 that drives the robot 3, and an input operation unit 5 that receives an operation to the numerical control device 1 and an operation to the robot 3. The robot 3 removes burrs from the workpiece after the cutting process. The numerical control device 1 controls the work machine 2 and the robot 3 by executing an NC program.
A machine tool 2 as an NC machine tool is connected to the numerical control device 1. The robot 3 is connected to the numerical control device 1 via a robot controller 4. The numerical control device 1, the work machine 2, and the robot controller 4 are communicably connected to each other via a communication network. The communication Network is, for example, a LAN (Local Area Network). The numerical control device 1 controls the robot 3 via the robot controller 4. In the following description, the control of the robot 3 by the numerical control device 1 may be omitted from passing through the robot controller 4.
The input operation unit 5 includes an input/output unit 6, an operation panel 7, a manual handle 8, and an emergency stop button 9. The operation panel 7 receives an operation from a user, and transmits a signal corresponding to the operation to the input/output unit 6. The emergency stop button 9, if pressed by the user, transmits a signal for stopping the robot controller 4 to the robot controller 4, and transmits a signal for stopping the work machine 2 to the input-output unit 6. The input/output unit 6 transmits a signal transmitted from the operation panel 7 and a signal transmitted from the emergency stop button 9 to the numerical control device 1. The emergency stop button 9 and the input/output unit 6 may be disposed on the operation panel 7. The robot controller 4 emergently stops the robot 3 if receiving a signal from the emergency stop button 9. The numerical control device 1, upon receiving a signal for stopping the work machine 2 from the input/output unit 6, emergently stops the work machine 2.
Next, the configuration of the numerical controller 1 will be explained. Fig. 2 is a diagram showing a schematic configuration of a numerical control device according to embodiment 1. The numerical control device 1 is a computer system such as a personal computer. A control program for collectively performing the control described in embodiment 1 is installed in a computer system. Fig. 2 shows a functional configuration of the numerical control device 1 and a hardware configuration for realizing the functions of the numerical control device 1.
The numerical control device 1 includes a processor 10 as a processing unit for executing various processes, a memory 11 as an internal memory, a storage device 12 for storing information, and an interface 13 connected to a device external to the numerical control device 1.
The processor 10 is a CPU (Central Processing Unit). The Processor 10 may be a processing device, an arithmetic device, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor). The Memory 11 is a RAM (Random Access Memory), a ROM (Read Only Memory), a flash Memory, an EPROM (Erasable Programmable Read Only Memory), or an EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory). The storage device 12 is an HDD (Hard Disk Drive) or SSD (Solid State Drive). The control program is stored in the storage device 12. The processor 10 reads out the control program stored in the storage device 12 to the memory 11 and executes the control program. The interface 13 is connected to the work machine 2, the robot controller 4, and the input operation unit 5.
The numerical control device 1 includes a program analysis unit 14 that analyzes an NC program, a machining control unit 15 that controls the machine tool 2, and a robot control unit 16 that controls the robot 3. The machining control unit 15 controls the machine tool 2 by executing a machining program that is an NC program. The robot control unit 16 controls the robot 3 by executing a robot program that is an NC program. The numerical control device 1 includes: a robot program generation processing unit 17 that executes processing for generating a robot program; and an input/output processing unit 18 that performs processing for input from the input operation unit 5 and output to the input operation unit 5.
The functions of the program analyzing unit 14, the machining control unit 15, the robot control unit 16, the robot program generating unit 17, and the input/output processing unit 18 are realized by a combination of the processor 10 and software. The functions may be realized by a combination of the processor 10 and firmware, or may be realized by a combination of the processor 10, software, and firmware. The software or firmware is described as a program and stored in the storage device 12. The details of each function will be described later.
Fig. 3 is a block diagram showing the configuration of the numerical control device and the configuration of the machine tool according to embodiment 1. Fig. 3 also shows the robot 3, the robot controller 4, and the input operation unit 5.
The machine tool 2 includes a drive unit 40 that drives a machining tool and a workpiece. The driving unit 40 drives the machining tool in a linear motion while driving the workpiece in a rotational motion. The machining tool can be driven linearly in 3 directions of the X-axis direction, the Y-axis direction, and the Z-axis direction. The X, Y, and Z axes are 3 axes perpendicular to each other. The machine tool 2 is not limited to the machine tool that can perform the linear driving of the machining tool in the 3 directions. The direction in which the machining tool can be driven straight can be set as appropriate by the configuration of the machine tool 2.
The drive unit 40 includes a servo motor 44, a drive shaft that rotates upon receiving a drive force generated by the servo motor 44, and a mechanism that converts the rotational drive of the drive shaft into a linear drive. In the following description, the drive shaft for driving the machining tool in a straight line may be referred to as a straight feed shaft. In fig. 3, the linear feed shaft and the mechanism are not shown.
The driving unit 40 has a linear feed shaft for driving the machining tool in the X-axis direction, a linear feed shaft for driving the machining tool in the Y-axis direction, and a linear feed shaft for driving the machining tool in the Z-axis direction. The drive unit 40 includes a detector 48 for detecting the rotation angle and speed of the servo motor 44. The drive controller 41 of the drive unit 40 receives a movement command from the numerical control device 1. The drive controller 41 includes a servo control unit 42 that controls a servo motor 44 based on a movement command from the numerical control device 1. The servo control unit 42 performs feedback control of the servo motor 44 based on the detection result obtained by the detector 48.
The driving unit 40 includes a combination of a servo control unit 42, a servo motor 44, and a detector 48 for linear driving in the X-axis direction, a servo control unit 42, a servo motor 44, and a detector 48 for linear driving in the Y-axis direction, and a servo control unit 42, a servo motor 44, and a detector 48 for linear driving in the Z-axis direction. The work machine 2 may have 2 or more tool rests for simultaneously machining 2 or more workpieces. In this case, the driving portion 40 has the above-described combination for each tool post.
The drive unit 40 includes a spindle, which is a main spindle for rotating the workpiece, and a spindle motor 45 for applying a driving force to the spindle. The machine tool 2 is driven to rotate about a rotation axis, thereby changing the posture of the workpiece with respect to the machining tool. In fig. 3, the rotary shaft is not shown. The drive unit 40 includes a detector 49 for detecting the rotation angle and speed of the spindle motor 45. The driving part 40 has 1 or more rotation shafts. The machine tool 2 may change the posture of the workpiece with respect to the machining tool by rotating the machining tool with respect to the workpiece. Therefore, the rotation axis of the driving unit 40 is not limited to the rotation axis for rotating the workpiece, and may be a rotation axis for rotating the machining tool.
The drive controller 41 includes a spindle control unit 43, and the spindle control unit 43 controls the spindle motor 45 based on a movement command from the numerical control device 1. The spindle control unit 43 performs feedback control of the spindle motor 45 based on the detection result obtained by the detector 49. In the case where the machine tool 2 has 2 or more tool rests, the driving unit 40 has a combination of the spindle control unit 43, the spindle motor 45, and the detector 49 for each tool rest.
The robot controller 4 receives a robot command from the numerical control device 1. The robot controller 4 calculates commands for driving the plurality of joints constituting the robot 3, respectively, based on the robot commands. The robot controller 4 transmits the calculated command to the robot 3, thereby driving the robot 3.
The input operation unit 5 includes a display unit 46 that displays a screen corresponding to image data input from the numerical control device 1, and an input unit 47 that receives an operation to the numerical control device 1. Each function of the display unit 46 and the input unit 47 is realized by an input device having a touch panel. The buttons constituting the input unit 47 are displayed on the display unit 46. The operation panel 7, the manual handle 8, and the emergency stop button 9 shown in fig. 1 may be included in the input unit 47. The input/output unit 6 may be provided in the input device.
The numerical control device 1 includes a storage unit 20. The function of the storage unit 20 is realized by using the storage device 12. The storage unit 20 stores a machining program 21 and a robot program 22. The machining program 21 is an NC program created by a CAM (Computer Aided Manufacturing) device. The robot program 22 is an NC program generated by the robot program generation processing unit 17. The storage unit 20 stores machine tool data 23, workpiece data 24, machining tool data 25, and robot tool data 26.
The machine tool data 23 is mainly structural data indicating the structure of the machine tool 2, and includes data indicating the specification of the machine tool 2. The numerical control device 1 uses the machine tool data 23 to recognize the position of the machining tool. The workpiece data 24 includes data indicating the size of the workpiece and the installation position of the workpiece. The machining tool data 25 is data relating to the shape of the machining tool used for the cutting process performed by the machine tool 2. The machining tool data 25 includes data such as the diameter of the machining tool and the length of the machining tool. The robot tool data 26 is data relating to the shape of the robot tool used in the deburring by the robot 3. The robot tool data 26 includes data such as a radius of the robot tool and a length of the robot tool.
The program analysis unit 14 reads the machining program 21 from the storage unit 20. The program analysis unit 14 analyzes the command position and the command speed based on the contents of the processing described in the machining program 21. The program analysis unit 14 analyzes the command angle of the workpiece based on the contents of the processing described in the machining program 21. The program analysis unit 14 outputs the analysis results of the command position, the command speed, and the command angle to the machining control unit 15.
The machining control unit 15 includes an interpolation processing unit 27, an acceleration/deceleration processing unit 28, and an axis command output unit 29. The interpolation processing unit 27 obtains the movement amount for each control cycle for each of the 3 directions in which the machining tool is driven straight based on the analysis results of the command position and the command speed in the program analysis unit 14. The interpolation processing unit 27 generates interpolation points indicating the position of the machining tool for each control cycle by interpolation processing. The interpolation processing unit 27 also obtains the rotation angle of the workpiece for each control cycle based on the analysis result of the command angle in the program analysis unit 14. The interpolation processing unit 27 generates interpolation points indicating the rotation angle of the workpiece for each control cycle by interpolation processing. The interpolation processing unit 27 outputs the interpolation result as the generated interpolation point.
The acceleration/deceleration processing unit 28 executes acceleration/deceleration processing of the interpolation result. The axis command output unit 29 generates a movement command related to the linear driving of the machining tool in each axis direction based on the interpolation result after the acceleration/deceleration processing. The axis command output unit 29 generates a movement command related to the rotational driving of the workpiece based on the interpolation result after the acceleration/deceleration processing. The move instruction is a set of interpolation points for each control cycle. The axis command output unit 29 outputs the generated movement command to the servo control unit 42 and the spindle control unit 43, respectively.
The program analysis unit 14 reads the robot program 22 from the storage unit 20. The program analysis unit 14 analyzes the command position and the command speed of the robot tool based on the contents of the processing described in the robot program 22. The program analysis unit 14 outputs the analysis result of the command position and the command speed to the robot control unit 16. The robot control unit 16 generates a set of interpolation points for each unit time based on the analysis result. The robot control unit 16 converts the generated interpolation point group into a robot command, which is a command in a format that can be interpreted by the robot controller 4. The robot control unit 16 outputs a robot command to the robot controller 4.
The input/output processing unit 18 includes an image processing unit 35 that generates image data and an input control unit 36 that executes processing for input from the input operation unit 5. The image processing unit 35 outputs the generated image data to the display unit 46. When the button displayed on the display unit 46 is pressed, the input unit 47 notifies the input control unit 36 of the content of the operation.
A start button for instructing the start of the generation of the robot program is displayed on the display unit 46. When the start button is pressed, the input unit 47 notifies the input control unit 36 of the start of the generation of the robot program. In response to the notification, the input control unit 36 activates the robot program generation processing unit 17.
The robot program generation processing unit 17 includes a machining program analyzing unit 30, a simulation unit 31, and a robot program generating unit 32. Upon activation of the robot program generation processing unit 17, the machining program analysis unit 30 reads the machining program 21 from the storage unit 20. The machining program analysis unit 30 analyzes the command position and the command speed of the machining tool for each block of the machining program 21 by analyzing the machining program 21. The parsing is, for example, character string parsing. The machining program analysis unit 30 analyzes the command angle of the workpiece for each block of the machining program 21. The machining program analysis unit 30 outputs the analysis results of the command position, the command speed, and the command angle to the simulation unit 31.
The simulation unit 31 includes an interpolation point calculation unit 33 and a boundary point calculation unit 34. The interpolation point calculation unit 33 calculates interpolation points for each unit time for the linear drive and the rotational drive based on the analysis result in the machining program analysis unit 30. The unit time represents an interpolation period in the interpolation point calculation unit 33. The interpolation point calculated by the interpolation point calculation unit 33 is the same as the interpolation point in the actual cutting process. The interpolation point calculation unit 33 outputs the calculated interpolation point data to the boundary point calculation unit 34.
The boundary point calculation unit 34 calculates a plurality of boundary points indicating the boundaries of the regions of the workpiece removed by the cutting process based on the analysis result of the machining program 21. Specifically, the boundary point calculation unit 34 calculates a plurality of boundary points based on the plurality of interpolation points calculated according to the analysis result of the machining program 21 and the machining tool data 25.
Fig. 4 is a diagram for explaining processing of a simulation unit included in the numerical control device according to embodiment 1. The interpolation point calculation unit 33 reads out the machine tool data 23, the workpiece data 24, and the machining tool data 25 stored in the storage unit 20. The interpolation point calculation unit 33 calculates the machining tool position for each unit time based on the calculation result of the interpolation point for each unit time, the machine tool data 23, and the machining tool data 25. The machining tool data 25 includes data of a tool diameter R and a tool length L of the machining tool 51.
Fig. 5 is a diagram for explaining processing of a boundary point calculation unit included in the numerical control device according to embodiment 1. Fig. 5 shows a case where the tip 53 of the machining tool 51 travels downward relative to the upper surface 52 of the workpiece 50 by the cutting process. The boundary point P indicates a boundary between the area AR removed by cutting and the area remaining without being removed, among the upper surface 52 of the workpiece 50.
When a state is assumed in which the machining tool 51 stays at a certain machining tool position and cutting is performed, a position on the outer edge of the machining tool 51 when the center of the machining tool 51 coincides with the machining tool position is set as a boundary point P. The boundary point calculation unit 34 performs simulation of moving the machining tool 51 for each unit time in accordance with the machining program 21, and calculates coordinates indicating the position of the boundary point P based on the machining tool position and the workpiece data 24.
The boundary point calculation unit 34 deletes as needed the boundary point P' that is not the boundary of the area AR due to the progress of the cutting process by the machining tool 51. As described above, the boundary point calculation unit 34 obtains a plurality of boundary points P at the end of the cutting process with respect to the area AR.
The boundary point calculation unit 34 assigns time-series data indicating the cutting order to the coordinates of each boundary point P in the area AR. The boundary point calculation unit 34 refers to the movement path of the machining tool 51 indicated by the machining program 21, and calculates the time from the cutting of the start area AR until the machining tool 51 reaches each machining tool position. The boundary point calculation unit 34 generates time-series data regarding each boundary point P based on the time calculation result. The time-series data is data representing the calculated time. The time-series data may be numerical values indicating the order of cutting. The boundary point calculation unit 34 can obtain a numerical value indicating the order based on the calculated time. The boundary point calculation unit 34 outputs the coordinates of each boundary point P and the time-series data given to the coordinates to the robot program generation unit 32.
The coordinates of the plurality of boundary points P with respect to the area AR and the time-series data given to the coordinates are input to the robot program generating unit 32. The robot program generating unit 32 sets paths along the boundary points P in the order indicated by the time-series data. The robot program generating unit 32 generates a robot program for moving the machining tool on the path.
Fig. 6 is a diagram for explaining the processing performed by each of the boundary point calculation unit and the robot program generation unit included in the numerical control device according to embodiment 1. The 4 boundary points Pt0 shown in fig. 6 are points on the boundary formed by cutting at the first machining tool position in the area AR. Time-series data indicating time t0 at which machining starts is assigned to the coordinates of each boundary point Pt 0. The 2 boundary points Pt1 shown in fig. 6 are points on the boundary formed by cutting at the 2 nd machining tool position in the area AR. Time-series data indicating the time t1 from the start of machining until the machining tool 51 reaches the machining tool position is given to the coordinates of each boundary point Pt 1. The boundary points Pt2, pt3, pt4, pt5, pt6, and Pt7 are also the same as the boundary points Pt0 and Pt 1.
The robot program generating unit 32 reads the robot tool data 26 stored in the storage unit 20. The robot tool data 26 includes data on the tool diameter and the tool length relating to the robot tool. The robot program generating unit 32 generates the robot program 22 for moving the robot tool on the path along the boundary points Pt0 to Pt7 in the same time series as the cutting process based on the coordinates of the boundary points Pt0 to Pt7 and the time series data. The robot program generating unit 32 generates a robot program in consideration of the shape of the robot tool based on the read robot tool data 26.
Regarding the boundary points to which the same time-series data is given, the robot program generating unit 32 sets a path so as to sequentially follow each boundary point from the boundary point at which the boundary point to which the next time-series data of the time-series data is given is farthest. For example, time-series data indicating the same time t0 is assigned to each of the 4 boundary points Pt 0. The robot program generating unit 32 sets, as a starting point, 1 boundary point Pt0 that is farthest from the boundary point Pt1 to which the time-series data indicating the time t1 is given, among the 4 boundary points Pt 0. The robot program generating unit 32 sets a path from the boundary point Pt0 serving as a starting point to the boundary point Pt 1.
As described above, the robot program generating unit 32 sets the paths that sequentially follow the paths Qt1, qt2, qt3, qt4, and Qt5 shown in fig. 6. The robot program generating unit 32 generates a robot command that is a movement command for moving the robot tool along the set path. The robot program generating unit 32 generates the robot program 22 including the generated robot command. The storage unit 20 stores the robot program 22 generated by the robot program generation unit 32.
Next, the sequence of processing in each functional unit of the robot program generation processing unit 17 will be described. Fig. 7 is a flowchart showing a processing procedure performed by the interpolation point calculation unit included in the numerical control device according to embodiment 1. In step S1, the interpolation point calculation unit 33 obtains the analysis result of the command position and the command speed from the machining program analysis unit 30. In step S2, the interpolation point calculation unit 33 calculates each interpolation point related to the linear drive and the rotational drive. The interpolation point calculation unit 33 outputs the coordinates indicating the calculated interpolation points to the boundary point calculation unit 34. Thereby, the interpolation point calculation unit 33 ends the processing of the procedure shown in fig. 7.
Fig. 8 is a flowchart showing a processing procedure performed by the boundary point calculation unit included in the numerical control device according to embodiment 1. In step S11, the boundary point calculation unit 34 acquires the coordinates of each interpolation point from the interpolation point calculation unit 33. In step S12, the boundary point calculation unit 34 reads the machine tool data 23 and the machining tool data 25 from the storage unit 20.
In step S13, the boundary point calculation unit 34 calculates the machining tool position for each unit time based on the coordinates of each interpolation point, the machine tool data 23, and the machining tool data 25. In step S14, the boundary point calculation unit 34 reads the workpiece data 24 from the storage unit 20. In step S15, the boundary point calculation unit 34 calculates a region of the workpiece 50 to be removed by cutting, based on the calculated machining tool position and the workpiece data 24.
In step S16, the boundary point calculation unit 34 determines whether or not there is a cut of the workpiece 50. When there is a cut of the workpiece 50 (Yes in step S16), in step S17, the boundary point calculation unit 34 calculates the coordinates of the boundary point with respect to the calculated machining tool position. The boundary point calculation unit 34 performs the determination in step S16 on each machining tool position for each unit time, and calculates the coordinates of the boundary points. In step S18, the boundary point calculation unit 34 associates the calculated coordinates of the boundary point with the time-series data. When there is No cutting of the workpiece 50 (No at step S16), or by executing step S18, the boundary point calculation unit 34 ends the processing of the procedure shown in fig. 8.
Fig. 9 is a flowchart showing a processing procedure performed by the robot program generating unit included in the numerical control device according to embodiment 1. In step S21, the robot program generating unit 32 acquires coordinates of the boundary points and time series data associated with the coordinates, with respect to the plurality of boundary points in the region removed by cutting. In step S22, the robot program generating unit 32 reads the robot tool data 26 from the storage unit 20.
In step S23, the robot program generating unit 32 sorts the coordinates of the boundary points read out in step S21 in time series. In step S24, the robot program generating unit 32 generates a robot command for moving the robot tool along a path passing through each boundary point in time series with respect to each boundary point. In this path, the boundary points are connected to each other by straight lines. In step S25, the robot program generating unit 32 adds the robot command generated in step S24 to the robot program 22. Thereby, the robot program generating unit 32 ends the processing of the procedure shown in fig. 9.
Fig. 10 is a diagram showing an example of a machining program and a robot program stored in the numerical control device according to embodiment 1. In the example shown in fig. 10, a block with the sequence number "N1" is written at the beginning of the machining program 21. The machining program 21 includes a positioning of the workpiece 50 and the machine tool 2, a rotation command for the spindle, a cutting command that is a command for cutting, and the like. In the machining program 21 shown in fig. 10, a G1 command, that is, a command for interpolation of a straight line by moving the straight line between 2 points is described for cutting to a workpiece 50 having an arbitrary shape.
At the beginning of the robot program 22, a block with the sequence number "N1001" is described. The robot program 22 has recorded therein the positioning of the workpiece 50 and the robot 3, an additional machining command which is a command for deburring, and the like. The numerical control device 1 generates a robot program 22 for performing deburring of the machined workpiece 50 by executing the machining program 21 described above.
Fig. 11 is a flowchart showing an operation procedure of the numerical control device according to embodiment 1 when the numerical control device automatically starts a machining program or a robot program. In step S31, the program analysis unit 14 determines whether or not the program being the current analysis target is the machining program 21. The program analysis unit 14 determines which of the machining program 21 and the robot program 22 is the analysis target based on the contents of the block in the analysis target. The program analysis unit 14 analyzes the end point position or the command speed of each command.
When the analysis target is the machining program 21 (Yes at step S31), the program analysis unit 14 analyzes the machining program 21 at step S32. The program analysis unit 14 outputs the analysis result to the interpolation processing unit 27. In step S34, the interpolation processing unit 27 executes interpolation processing for generating an interpolation point. In step S35, the acceleration/deceleration processing unit 28 executes acceleration/deceleration processing. The axis command output unit 29 generates a movement command related to the linear driving of the machining tool and a movement command related to the rotational driving of the workpiece 50 based on the interpolation result after the acceleration/deceleration processing. In step S36, the axis command output unit 29 outputs the generated movement command to the drive controller 41.
On the other hand, when the analysis target is not the machining program 21 (No at step S31), that is, when the machining target is the robot program 22, the program analysis unit 14 analyzes the robot program 22 at step S33. The program analysis unit 14 outputs the analysis result to the robot control unit 16. The robot control unit 16 generates a robot command in a format that can be interpreted by the robot controller 4 based on the analysis result. In step S37, the robot control unit 16 outputs the generated robot command to the robot controller 4. By executing step S36 or step S37, the numerical control device 1 ends the operations of the sequence shown in fig. 11.
Fig. 12 is a diagram for explaining an example of deburring achieved by executing a robot program generated in the numerical control device according to embodiment 1. In order to shorten the time required for the cutting process, the numerical control device 1 may control the position of the machine tool so that the machining tool moves along a path slightly different from a path along a command point generated based on CAD data. Therefore, the machining tool may move on a path slightly different from a path passing through each command point generated based on the CAD data.
For example, as shown in fig. 12, the machining tool is moved along a path TR that draws a curve between the command points CP1 and CP4 with respect to the path CR passing through the command points CP1, CP2, CP3, and CP 4. In this case, even if the robot tool moves along the ideal shape shown in the CAD data, the robot tool does not reach the command points CP2 and CP3, and the burr removal near the command points CP2 and CP3 is not performed.
According to embodiment 1, the numerical control device 1 calculates a plurality of boundary points indicating boundaries of a region removed by cutting, and generates the robot program 22 for moving the robot tool on a path along the plurality of boundary points. The numerical control device 1 can generate the robot program 22, and the robot program 22 can move the robot tool along the shape of the workpiece 50 to which the cutting process is performed. By executing the robot program 22, the numerical control device 1 can remove the burr with high accuracy in accordance with the shape of the workpiece 50 subjected to the cutting process. The numerical control device 1 can remove burrs with high accuracy according to the shape of the workpiece 50 subjected to the cutting process without using a camera or the like for measuring the shape of the workpiece 50 subjected to the cutting process. As described above, the numerical control device 1 has an effect of being able to remove a burr with high accuracy with respect to the workpiece 50 subjected to the cutting process.
Embodiment 2.
In embodiment 2, the operation of the numerical control device 1 for performing the cutting process by the machine tool 2 and the deburring, i.e., the additional work, by the robot 3 at the same time will be described. The numerical control device 1 according to embodiment 2 has the same configuration as the numerical control device 1 according to embodiment 1. In embodiment 2, the same components as those in embodiment 1 are denoted by the same reference numerals, and the description will be mainly given of a configuration different from that in embodiment 1.
In actual machining, the control system starts additional machining by the robot 3 after completion of cutting up to an arbitrary portion in the workpiece 50, thereby performing cutting and additional machining in parallel. The control system performs the cutting process and the additional process in parallel, thereby shortening the tact time. Thus, the control system can shorten the machining time.
Fig. 13 is a diagram showing an example of a machining program and a robot program stored in the numerical control device according to embodiment 2. In embodiment 2, the robot program generating unit 32 adds a workpiece waiting instruction to the generated robot program 22. By adding the additional work waiting command, the numerical control device 1 can perform the cutting work and the additional work in parallel, and can obtain an effect of shortening the machining time.
The machining program 21 includes a command for specifying a machining range of the robot 3. In fig. 13, each of the LABELs "LABEL _ a", "LABEL _ B", and "LABEL _ C" is a command for specifying an area where the robot 3 performs the additional processing. "LABEL _ a" is a LABEL used to specify the area a. "LABEL _ B" is a LABEL for specifying the area B. "LABEL _ C" is a LABEL for specifying the area C. The user of the control system can add an arbitrary command for specifying a machining range to the machining program 21 created by the CAM device. In the machining program 21, a command for specifying the start of the machining range and a command for specifying the end of the machining range are added for each region.
The configuration of the robot program generation processing unit 17 in embodiment 2 is the same as the configuration of the robot program generation processing unit 17 in embodiment 1. In embodiment 2, the robot program generating unit 32 assigns the tag to the result of analysis of the command position and the command speed obtained by the machining program analyzing unit 30. The robot program generating unit 32 assigns the labels to the boundary points calculated by the simulation unit 31. The numerical control device 1 adds a tool-adding wait command corresponding to a command for specifying a machining range included in the machining program 21 to the robot program 22. The worker addition wait instruction is a wait instruction for waiting for a worker to be added. The robot program generating unit 32 adds the additional work waiting instruction to the robot program 22 by using the instruction for specifying the machining range.
In the robot program 22 shown in fig. 13, an additional work waiting command for the area a is added before an additional work command for the burr removal processing of the area a. An additional work waiting command for the area B is added before an additional work command for deburring the area B. An additional work waiting command for the region C is added before an additional work command for deburring the region C.
The image processing unit 35 shown in fig. 3 generates image data for displaying the calculation results of the boundary points obtained by the simulation unit 31. The display unit 46 displays the calculation result of each boundary point in accordance with the image data. Fig. 14 is a diagram showing an example of a screen on which a calculation result of a boundary point obtained by the numerical control device according to embodiment 2 is displayed.
Fig. 14 shows an example of a case where 2 LABELs "LABEL _ a" and "LABEL _ B" are included in the machining program 21. In fig. 14, "cutting range of LABEL a" indicates the area a designated by "LABEL _ a". The "coordinate data of the label a" indicates the coordinates of each boundary point of the area a. The "cutting range of the LABEL B" indicates the area B designated by "LABEL _ B". The "coordinate data of the label B" indicates the coordinates of each boundary point of the area B. The display unit 46 displays the calculation results of the boundary points for each label.
Fig. 15 is a diagram for explaining the operation of the machine tool and the robot when the machining program and the robot program are executed in the numerical control device according to embodiment 2. In embodiment 2, the numerical control device 1 includes a plurality of systems. The plurality of systems are each a processing system for executing an NC program. The numerical control device 1 executes the machining program 21 and the robot program 22 in different systems from each other. In the following description, a system for executing the machining program 21 is sometimes referred to as a 1 st system, and a system for executing the robot program 22 is sometimes referred to as a 2 nd system. In fig. 15, the area AR1 represents the area a, and the area AR2 represents the area B.
While the machine tool 2 is performing the cutting process of the area AR1 by the machining tool 51, the robot 3 waits for an additional process for removing the burr in the area AR1 in accordance with an additional process waiting command included in the robot program 22. The robot 3 waits for additional processing until a command for specifying the end of the processing range is executed with respect to the area AR1 in the processing program 21.
If the cutting process related to the area AR1 is completed and an instruction for specifying the end of the processing range is executed with respect to the area AR1, the robot 3 starts the deburring of the area AR1 by the robot tool 60. In parallel with the deburring of the area AR1, the machine tool 2 performs the cutting process of the area AR 2. As described above, the numerical control device 1 waits for the burr removal of the area AR1 until the cutting process of the area AR1 is completed. After the cutting process of the area AR1 is completed, the numerical control device 1 performs the deburring of the area AR1 and the cutting process of the area AR2 in parallel.
Next, the sequence of processing in each functional unit of the robot program generation processing unit 17 will be described. Fig. 16 is a flowchart showing a processing procedure performed by a machining program analyzing unit included in the numerical control device according to embodiment 2. In step S41, the machining program analysis unit 30 determines whether or not the read block in the machining program 21 is a command for specifying the start of the machining range of the robot 3.
If the read block is a command for designating the start of the machining range (Yes in step S41), the machining program analyzing unit 30 switches the mode of program generation to the mode in which the tag is valid in step S42. In the mode in which the attached tag is enabled, the machining program analysis unit 30 assigns the tag to the result of analysis of the command position and the command speed.
On the other hand, if the read block is not a command for specifying the start of the machining range (No in step S41), the machining program analysis unit 30 determines whether or not the read block in the machining program 21 is a command for specifying the end of the machining range of the robot 3 in step S43.
If the read block is a command for specifying the end of the machining range (Yes at step S43), the machining program analysis unit 30 switches the mode of program generation to the mode in which the tag is invalidated at step S44. In the mode in which the additional tag is invalidated, the machining program analysis unit 30 does not assign the tag to the analysis result of the command position and the command speed.
On the other hand, if the read block is not a command for specifying the end of the machining range (No at step S43), the machining program analysis unit 30 determines whether or not the mode generated by the current program is a mode in which the tag is valid at step S45. If the mode generated by the current program is a mode in which the tag is enabled (Yes at step S45), the machining program analysis unit 30 outputs the result of the tag analysis to the simulation unit 31 at step S46. If the current program generation mode is a mode in which the tag is not valid (No in step S45), the machining program analysis unit 30 outputs the non-tag analysis result to the simulation unit 31 in step S47. By executing step S42, step S44, step S46, or step S47, the machining program analysis unit 30 ends the operations of the sequence shown in fig. 16.
Fig. 17 is a flowchart showing a processing procedure performed by the interpolation point calculation unit included in the numerical control device according to embodiment 2. In step S51, the interpolation point calculation unit 33 obtains the analysis result of the command position and the command speed from the machining program analysis unit 30. In step S52, the interpolation point calculation unit 33 calculates each interpolation point related to the linear drive and the rotational drive.
In step S53, the interpolation point calculation unit 33 determines whether or not the analysis result obtained in step S51 is a label-attached analysis result. If the acquired analysis result is a label-attached analysis result (Yes at step S53), the interpolation point calculation unit 33 associates the label with the calculated coordinates of the interpolation point at step S54. The interpolation point calculation unit 33 outputs the coordinates of the interpolation point to which the label is associated to the boundary point calculation unit 34.
On the other hand, if the acquired analysis result is not the analysis result with a label (No at step S53), the interpolation point calculation unit 33 skips step S54. The interpolation point calculation unit 33 outputs the coordinates of the interpolation points to which no label is associated to the boundary point calculation unit 34. By executing step S54 or skipping step S54, the interpolation point calculation unit 33 ends the processing of the procedure shown in fig. 17.
Fig. 18 is a flowchart showing a processing procedure performed by the boundary point calculation unit included in the numerical control device according to embodiment 2. In step S61, the boundary point calculation unit 34 obtains the coordinates of each interpolation point from the interpolation point calculation unit 33. In step S62, the boundary point calculation unit 34 reads the machine tool data 23 and the machining tool data 25 from the storage unit 20.
In step S63, the boundary point calculation unit 34 calculates the machining tool position for each unit time based on the coordinates of each interpolation point, the machine tool data 23, and the machining tool data 25. In step S64, the boundary point calculation unit 34 reads the workpiece data 24 from the storage unit 20. In step S65, the boundary point calculation unit 34 calculates the region of the workpiece 50 removed by cutting based on the calculated machining tool position and the workpiece data 24.
In step S66, the boundary point calculation unit 34 determines whether or not there is cutting of the workpiece 50. When there is a cut of the workpiece 50 (Yes in step S66), the boundary point calculation unit 34 calculates coordinates of the boundary point with respect to the calculated machining tool position in step S67. The boundary point calculation unit 34 performs the determination of step S66 for each machining tool position for each unit time, and calculates the coordinates of the boundary points. In step S68, the boundary point calculation unit 34 associates the time-series data with the coordinates of the calculated boundary point.
In step S69, the boundary point calculation unit 34 determines whether or not the calculated boundary point is a boundary point related to a label-attached interpolation point. If the calculated boundary point is a boundary point related to the interpolation point with a label (Yes in step S69), the boundary point calculation unit 34 associates the label with the coordinates of the calculated boundary point in step S70. The boundary point calculation unit 34 outputs the coordinates of the boundary point to which the tag and the time-series data are associated to the robot program generation unit 32.
On the other hand, if the calculated boundary point is not a boundary point related to the interpolation point with a label (No at step S69), the boundary point calculation unit 34 skips step S70. The boundary point calculation unit 34 outputs coordinates of a boundary point to which only time-series data among the time-series data and the tag are associated, to the robot program generation unit 32. By executing step S70 or skipping step S70, the boundary point calculation unit 34 ends the processing of the procedure shown in fig. 18. Alternatively, when there is No cutting of the workpiece 50 (No at step S66), the boundary point calculation unit 34 ends the processing in the sequence shown in fig. 18.
Fig. 19 is a flowchart showing a processing procedure performed by a robot program generating unit included in the numerical control device according to embodiment 2. In step S81, the robot program generating unit 32 acquires coordinates of the boundary points and time series data associated with the coordinates, with respect to the plurality of boundary points in the region removed by cutting.
In step S82, the robot program generating unit 32 determines whether or not the boundary point acquired in step S81 is a labeled boundary point. If the boundary point is not a labeled boundary point (No at step S82), the robot program generating unit 32 advances the sequence to step S86.
On the other hand, if the boundary point is a labeled boundary point (Yes at step S82), the robot program generating unit 32 determines whether or not the previous boundary point is a label-free boundary point at step S83. The boundary point of the previous time is the boundary point obtained by the robot program generating unit 32, which is the first 1 boundary point obtained in step S81. If the previous boundary point is an unlabeled boundary point (Yes at step S83), the robot program generating unit 32 advances the sequence to step S85.
On the other hand, if the previous boundary point is not a non-label boundary point (No in step S83), the robot program generating unit 32 determines whether or not the label of the boundary point acquired in step S81 is different from the label of the previous boundary point in step S84. When the label of the boundary point acquired in step S81 is the same as the label of the previous boundary point (No in step S84), the robot program generating unit 32 advances the sequence to step S86. On the other hand, if the label of the boundary point acquired in step S81 is different from the label of the previous boundary point (Yes in step S84), the robot program generating unit 32 advances the sequence to step S85.
In step S85, the robot program generating unit 32 adds the additional work waiting instruction corresponding to the label of the boundary point acquired in step S81 to the robot program 22. The robot program generating unit 32 proceeds to step S86 by executing step S85.
In step S86, the robot program generating unit 32 reads the robot tool data 26 from the storage unit 20. In step S87, the robot program generating unit 32 sorts the coordinates of the boundary points read out in step S81 in time series. In step S88, the robot program generating unit 32 generates a robot command for moving the robot tool along a path passing through each boundary point in time series of each boundary point. In this path, the boundary points are connected to each other by straight lines. In step S89, the robot program generating unit 32 adds the robot command generated in step S88 to the robot program 22. Thereby, the robot program generating unit 32 ends the processing of the procedure shown in fig. 19.
The numerical control device 1 executes a machining program 21 in the 1 st system and a robot program 22 in the 2 nd system. Thus, the control system simultaneously performs the cutting process by the machine tool 2 and the additional process by the robot 3.
Fig. 20 is a flowchart showing an operation procedure of the numerical control device according to embodiment 2 when the numerical control device automatically starts up a machining program or a robot program. In step S91, the program analysis unit 14 determines whether or not the program being the current analysis target is the machining program 21.
When the analysis target is the machining program 21 (Yes at step S91), the program analysis unit 14 analyzes the machining program 21 at step S92. In step S94, the program analysis unit 14 determines whether or not the executed block is a block for specifying the end of the machining range of the robot 3.
If the executed block is a block for specifying the end of the machining range (Yes at step S94), the program analysis unit 14 records a tag corresponding to the end machining range at step S95. Here, the program analysis unit 14 retains a label indicating the end of the cutting process in the processing range. When the robot 3 performs the additional processing, it is determined whether or not the cutting processing is completed based on the label, which is a premise that the additional processing is performed in the processing range that is the target of the additional processing. On the other hand, if the executed block is not a block for specifying the end of the machining range (No at step S94), the program analysis unit 14 skips step S95. The program analysis unit 14 outputs the analysis result to the interpolation processing unit 27. By executing step S95 or skipping step S95, the numerical control device 1 advances the sequence to step S96.
In step S96, the interpolation processing unit 27 executes interpolation processing for generating an interpolation point. In step S97, the acceleration/deceleration processing unit 28 executes acceleration/deceleration processing. The axis command output unit 29 generates a movement command related to the linear driving of the machining tool and a movement command related to the rotational driving of the workpiece 50 based on the interpolation result after the acceleration/deceleration processing. In step S98, the axis command output unit 29 outputs the generated movement command to the drive controller 41.
On the other hand, when the analysis target is not the machining program 21 (No at step S91), that is, when the machining target is the robot program 22, the program analysis unit 14 analyzes the robot program 22 at step S93. In step S99, the program analysis unit 14 determines whether or not the executed block is a block to which a workpiece wait command is added. If the executed block is not the block of the add-wait command (No at step S99), the numerical control device 1 skips step S100 and advances the sequence to step S101.
On the other hand, if the executed block is a block of the add wait command (Yes at step S99), the program analysis unit 14 determines whether or not the execution of the block of the command for specifying the end of the machining range is completed at step S100. When the execution of the block of the command for designating the end of the machining range is completed (Yes at step S100), the numerical control device 1 advances the sequence to step S101. On the other hand, if the execution of the block of the command for specifying the end of the machining range is not completed (No at step S100), the numerical control device 1 repeats the determination at step S100 until the command for specifying the end of the machining range is executed. The program analysis unit 14 outputs the analysis result to the robot control unit 16.
The robot control unit 16 generates a robot command in a format that can be interpreted by the robot controller 4 based on the analysis result. In step S101, the robot control unit 16 outputs the generated robot command to the robot controller 4. By executing step S98 or step S101, the numerical control device 1 ends the operations in the sequence shown in fig. 20. The program analysis unit 14 determines whether or not the cutting process up to the processing range indicated by the label retained in step S95 is completed in steps S99 and S100. When the cutting process up to the machining range is completed, the numerical control device 1 starts the additional machining up to the machining range.
According to embodiment 2, the numerical control device 1 waits for the robot 3 to remove burrs from an area to which cutting work is performed until the cutting of the area is completed. The numerical control device 1 can perform the deburring of the region by the robot 3 and the cutting by the machine tool 2 in the region to be cut next in the region. The control system can start the burr removal from the area where the cutting is finished before the cutting of the entire workpiece 50 is finished, and thus can shorten the machining time.
The configurations described in the above embodiments are examples of the contents of the present invention. The configurations of the respective embodiments can be combined with other known techniques. The structures of the respective embodiments may be combined with each other as appropriate. A part of the structure of each embodiment may be omitted or modified within a range not departing from the gist of the present invention.
Description of the reference numerals
1 numerical control device, 2 machine tools, 3 robots, 4 robot controllers, 5 input operation units, 6 input/output units, 7 operation panels, 8 manual handles, 9 emergency stop buttons, 10 processors, 11 memories, 12 storage devices, 13 interfaces, 14 program analysis units, 15 processing control units, 16 robot control units, 17 robot program generation processing units, 18 input/output processing units, 20 storage units, 21 processing programs, 22 robot programs, 23 work machine data, 24 workpiece data, 25 processing tool data, 26 robot tool data, 27 interpolation processing units, 28 acceleration/deceleration processing units, 29 axis command output units, 30 processing program analysis units, 31 simulation units, 32 robot program generation units, 33 interpolation point calculation units, 34 boundary point calculation units, 35 image processing units, 36 input control units, 40 drive units, 41 drive controllers, 42 servo control units, 43 main shaft control units, 44 servo motors, 45 main shaft motors, 46 display units, 47 input units, 48, tool detectors, 50, 51, 52, 53 front end robot processing units, 53, and the like.

Claims (5)

1. A numerical control apparatus controls a machine tool that performs cutting processing of a workpiece and a robot to which a tool for deburring the workpiece is attached,
the numerical control device is characterized by comprising:
a boundary point calculation unit that calculates a plurality of boundary points indicating boundaries of regions of the workpiece that are removed by the cutting process, based on an analysis result of a machining program executed to control the cutting process; and
and a robot program generating unit that generates a robot program for moving the tool on a path along the plurality of boundary points.
2. The numerical control apparatus according to claim 1,
comprises the following components:
a storage unit that stores machining tool data relating to a shape of a machining tool, which is a tool used for the cutting process; and
an interpolation point calculation unit that calculates an interpolation point indicating a position of the machining tool for each unit time based on an analysis result of the machining program,
the boundary point calculation unit calculates the plurality of boundary points based on the machining tool data and the plurality of interpolation points.
3. The numerical control apparatus according to claim 1 or 2,
the boundary point calculation unit assigns time-series data indicating the cutting order to each of the plurality of boundary points,
the robot program generating unit sets the paths along the boundary points in the order indicated by the time-series data assigned to the boundary points.
4. The numerical control apparatus according to any one of claims 1 to 3,
a command for specifying a machining range for performing the cutting machining can be added to the machining program,
the robot program generating unit adds a wait command for waiting for the burr removal to the robot program by executing the command.
5. A numerical control method for controlling, by a numerical control device, a working machine that performs cutting processing of a workpiece and a robot equipped with a tool for deburring of the workpiece,
the numerical control method is characterized by comprising the following steps:
calculating a plurality of boundary points representing boundaries of regions of the workpiece removed by the cutting process based on an analysis result of a machining program executed to control the cutting process; and
generating a robot program for moving the tool on a path along the plurality of boundary points.
CN202080099251.3A 2020-07-17 2020-07-17 Numerical control device and numerical control method Pending CN115362420A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/027859 WO2022014042A1 (en) 2020-07-17 2020-07-17 Numerical control device and numerical control method

Publications (1)

Publication Number Publication Date
CN115362420A true CN115362420A (en) 2022-11-18

Family

ID=79554583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080099251.3A Pending CN115362420A (en) 2020-07-17 2020-07-17 Numerical control device and numerical control method

Country Status (4)

Country Link
JP (1) JP7004868B1 (en)
CN (1) CN115362420A (en)
DE (1) DE112020006668T5 (en)
WO (1) WO2022014042A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116460935A (en) * 2023-04-25 2023-07-21 华闽搏创(成都)信息科技有限公司 Cutting sequence method for maintaining connection maximization based on elimination of plate movement

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251044A (en) * 1986-04-23 1987-10-31 Fanuc Ltd Nc program preparing method for four-spindle lathe
JPH07112346A (en) * 1993-10-18 1995-05-02 Fanuc Ltd Method of preparing operation program for deburring work conducted by robot
JP2005031904A (en) * 2003-07-10 2005-02-03 Mori Seiki Co Ltd Automatic programming device
CN1734379A (en) * 2004-08-02 2006-02-15 发那科株式会社 Processing program generating device
CN104249195A (en) * 2013-06-28 2014-12-31 发那科株式会社 Deburring device including visual sensor and force sensor
CN104755225A (en) * 2012-10-31 2015-07-01 三菱电机株式会社 Automatic programming device and method
CN106681276A (en) * 2015-11-11 2017-05-17 发那科株式会社 Fanuc corp
CN107024902A (en) * 2016-01-29 2017-08-08 发那科株式会社 Pass through the production system of a variety of process units of the driven by program of common language specification
JP6316513B1 (en) * 2016-12-27 2018-04-25 三菱電機株式会社 Machining program analyzer
JP2018134706A (en) * 2017-02-22 2018-08-30 ジヤトコ株式会社 Deburring method, control device for deburring device, control program for deburring device
CN108663987A (en) * 2017-03-27 2018-10-16 发那科株式会社 The control system of lathe
CN109746911A (en) * 2017-11-01 2019-05-14 发那科株式会社 System of processing
JP2020019126A (en) * 2018-08-03 2020-02-06 株式会社不二越 Automatic deburring and/or edge finishing device, and automation method of deburring and/or edge finishing
CN111085774A (en) * 2018-10-24 2020-05-01 大族激光科技产业集团股份有限公司 Rapid edge finding method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5593899B2 (en) 2010-07-12 2014-09-24 株式会社Ihi Deburring method by robot
WO2013145286A1 (en) * 2012-03-30 2013-10-03 株式会社牧野フライス製作所 Workpiece machining method, machine tool, tool path-generating device and tool path-generating program
US10241494B2 (en) * 2014-01-28 2019-03-26 Makino Milling Machine Co., Ltd. Cutting method and tool path generating device
DE112019006613T5 (en) * 2019-01-09 2021-09-30 Mitsubishi Electric Corporation Numerical control device and numerical control method

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62251044A (en) * 1986-04-23 1987-10-31 Fanuc Ltd Nc program preparing method for four-spindle lathe
JPH07112346A (en) * 1993-10-18 1995-05-02 Fanuc Ltd Method of preparing operation program for deburring work conducted by robot
JP2005031904A (en) * 2003-07-10 2005-02-03 Mori Seiki Co Ltd Automatic programming device
CN1734379A (en) * 2004-08-02 2006-02-15 发那科株式会社 Processing program generating device
CN104755225A (en) * 2012-10-31 2015-07-01 三菱电机株式会社 Automatic programming device and method
CN104249195A (en) * 2013-06-28 2014-12-31 发那科株式会社 Deburring device including visual sensor and force sensor
CN106681276A (en) * 2015-11-11 2017-05-17 发那科株式会社 Fanuc corp
CN107024902A (en) * 2016-01-29 2017-08-08 发那科株式会社 Pass through the production system of a variety of process units of the driven by program of common language specification
JP6316513B1 (en) * 2016-12-27 2018-04-25 三菱電機株式会社 Machining program analyzer
JP2018134706A (en) * 2017-02-22 2018-08-30 ジヤトコ株式会社 Deburring method, control device for deburring device, control program for deburring device
CN108663987A (en) * 2017-03-27 2018-10-16 发那科株式会社 The control system of lathe
CN109746911A (en) * 2017-11-01 2019-05-14 发那科株式会社 System of processing
JP2020019126A (en) * 2018-08-03 2020-02-06 株式会社不二越 Automatic deburring and/or edge finishing device, and automation method of deburring and/or edge finishing
CN111085774A (en) * 2018-10-24 2020-05-01 大族激光科技产业集团股份有限公司 Rapid edge finding method

Also Published As

Publication number Publication date
DE112020006668T5 (en) 2023-04-06
JPWO2022014042A1 (en) 2022-01-20
WO2022014042A1 (en) 2022-01-20
JP7004868B1 (en) 2022-02-07

Similar Documents

Publication Publication Date Title
US9207668B2 (en) Method of and apparatus for automated path learning
JP5000543B2 (en) Machine tool control method and apparatus therefor
JPH09507439A (en) Interactive machine control device and method
US20200133231A1 (en) Program code generating method for tilted plane machining by multi-axis machine tool and device thereof
JP2019082852A (en) Postprocessor device, processing program generation method, cnc machining system, and program for processing program generation
JP2004326257A (en) Simulation apparatus
CN115362420A (en) Numerical control device and numerical control method
JP6638979B2 (en) Numerical control device with machining process management function and machining process management program
US20080086221A1 (en) Machine-tool controller
JP6827579B1 (en) Machine tools, machine tool control methods, and machine tool control programs
TWI684841B (en) Program code generating method and device of multi-axis machine tool for machining inclined plane the same
JP4451708B2 (en) Misworking prevention device and misworking prevention method
Ashley A mosaic for machine tools
US20220342381A1 (en) Managing a machine tool method, for example method of mapping toolpath data and machine code, a control device, and a machine tool
JPH08106311A (en) Numerical controller
JP7440614B2 (en) Program analysis device and control system
WO2023067699A1 (en) Machined surface estimation device and computer-readable storage medium
JP7175340B2 (en) Machine tools, information processing devices and information processing programs
JP2916854B2 (en) Computer system
JP2694639B2 (en) Numerical control unit
Syrjänen Task level robot programming: Background, methods and current state
JP3955776B2 (en) Data control method for numerically controlled machine tools and numerically controlled machine tools
JPH04310360A (en) Burr removing robot control method
JP2779796B2 (en) Numerical control unit
JP2758025B2 (en) Piercing method of multitasking machine

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination