[go: up one dir, main page]

CN111123846A - Numerical controller and numerical control system - Google Patents

Numerical controller and numerical control system Download PDF

Info

Publication number
CN111123846A
CN111123846A CN201911038033.4A CN201911038033A CN111123846A CN 111123846 A CN111123846 A CN 111123846A CN 201911038033 A CN201911038033 A CN 201911038033A CN 111123846 A CN111123846 A CN 111123846A
Authority
CN
China
Prior art keywords
block
speed
unit
speed information
program
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.)
Granted
Application number
CN201911038033.4A
Other languages
Chinese (zh)
Other versions
CN111123846B (en
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Publication of CN111123846A publication Critical patent/CN111123846A/en
Application granted granted Critical
Publication of CN111123846B publication Critical patent/CN111123846B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/406Numerical 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 monitoring or safety
    • G05B19/4068Verifying part programme on screen, by drawing or other means
    • 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/406Numerical 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 monitoring or safety
    • G05B19/4063Monitoring general control system
    • 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • G05B19/40937Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of machining or material parameters, pocket machining
    • G05B19/40938Tool management
    • 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/4155Numerical 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 programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/416Numerical 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 control of velocity, acceleration or deceleration
    • 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/34Director, elements to supervisory
    • G05B2219/34095Look ahead segment calculation
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43203Limitation of speed, permissible, allowable, maximum speed
    • 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/49Nc machine tool, till multiple
    • G05B2219/49074Control cutting speed

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Geometry (AREA)
  • Numerical Control (AREA)

Abstract

Provided are a numerical controller and a numerical control system, which can realize high-quality machining under optimum machining conditions by suppressing speed control abnormality for stabilizing a feed speed, a cutting speed, and the like. A numerical control device (100) is provided with: a speed reduction block detection unit that detects a speed reduction block in the machining program, the speed reduction block being a block in which the number of blocks to be read in advance is relatively low; a speed information storage unit (116) that calculates the feed speed of each axis from the table feed speed at the speed reduction block and stores the speed information in a storage device (150); and a speed information reading unit (118) that reads out the speed information from the storage device (150) and uses the speed information as the feed speed of each axis.

Description

Numerical controller and numerical control system
Technical Field
The present invention relates to a numerical controller.
Background
In recent manufacturing industries, IT components and the like are being downsized and refined, and attention is paid to high-speed and high-precision machining. In order to achieve higher-quality machining, there is a tendency that a machining program for manufacturing a workpiece in high-speed and high-precision machining with a smaller tolerance is increased.
With respect to a machining program with a small tolerance, which has not been realized in the past from the viewpoint of PC processing capability, due to recent improvements in PC performance and CAM (Computer Aided Manufacturing) performance, the machining program with the small tolerance can be sufficiently produced, and the potential thereof is considered to be accelerated in the future.
In addition to the tolerance, it is possible to make the fine straight lines uniform, which is an important factor in high-quality machining, and a high-quality machining program using uniform fine straight line creation tends to increase in order to improve the quality of a machined surface by reducing vibration by fixing acceleration and deceleration of each axis.
For these reasons, the number of blocks in the machining program has increased in recent years.
Conventionally, a program for reading out a block to be operated next is read out from a program in which the number of pre-read blocks is accumulated in advance by a numerical controller (FIFO) and processed, thereby determining an acceleration/deceleration operation and performing axis control.
However, there are the following problems in these high quality processing procedures. That is, when the processing time taken to execute the program is shorter than the time taken to perform the pre-reading processing due to the short minute straight line length and the high command speed, the number of pre-reading blocks for determining the acceleration/deceleration operation cannot be secured, and as a result, the acceleration/deceleration considering the behavior of the program is unstable, and the speed change is not constant, and a high-quality processed surface cannot be obtained.
Fig. 9 is a graph showing the temporal change of acceleration and deceleration when the speed change becomes unstable. As shown in fig. 9, although the initial speed is stably changed at the command speed of 6000mm/min, the processing time taken to execute the program at the stage after 2000mm/min is too short to ensure the number of pre-read blocks for determining the acceleration/deceleration operation, and therefore, as shown by the arrow in fig. 9, a phenomenon of instability or fine fluctuation occurs. In particular, when the number of equiaxed axes in the 5-axis machining increases and the throughput of the numerical controller decreases, these phenomena become remarkable. Conversely, although these phenomena can be solved by improving the processing capability of the numerical controller to execute the pre-reading or the machining program, the same problem still occurs when the command speed is increased by further miniaturizing the program or improving the machine tool.
In this regard, the invention according to patent document 1 discloses a technique of: in the numerical controller, the excess and deficiency of the number of data in the buffer held by the FIFO are monitored before the analyzed data obtained by analyzing the NC data is used by the acceleration/deceleration interpolation means, and particularly, when the number of data predicted to exist in the buffer is lower than a threshold value of a lower limit, it is determined that the data is deficient.
Documents of the prior art
Patent document
Patent document 1: japanese patent No. 3723015
Disclosure of Invention
Problems to be solved by the invention
However, the technique according to patent document 1 merely increases the priority of the NC data analysis processing task when it is determined that there is insufficient data, and does not deal with each speed control abnormality.
The invention aims to provide a numerical controller which can realize high-quality machining under optimal machining conditions by suppressing speed control abnormality for stabilizing the feed speed, the cutting speed and the like.
Means for solving the problems
(1) A numerical controller according to the present invention is a numerical controller (for example, "numerical controller 100" described later) connected to a storage device (for example, "storage device 150" described later) and a machine tool having axes (for example, "machine tool 200" described later) and controlling the machine tool by executing a machining program composed of a plurality of blocks and controlling acceleration and deceleration of the axes, the numerical controller including: a program execution unit (for example, "program execution unit 111" described later) that executes the machining program; a program pre-reading unit (for example, "program pre-reading unit 112" described later) that pre-reads the machining program in parallel with execution of the machining program; a speed reduction block detection unit that detects a speed reduction block in the machining program, the speed reduction block being a block in which the number of blocks to be read in advance is relatively low; a speed information storage unit (for example, "speed information storage unit 116" described later) that calculates the feed speed of each axis from the table feed speed at the speed reduction block, and stores speed information, which is information of the feed speed, in the storage device; and a speed information reading unit (for example, "speed information reading unit 118" described later) that reads the speed information from the storage device and uses the speed information as the feed speed of each axis.
(2) The numerical controller according to (1) may further include: a flag adding unit (for example, "flag adding unit 115" described later) that adds a flag to the speed reduction block; and a mark detection unit (for example, a "mark detection unit 117" described later) that detects the mark during execution of the machining program after the speed information is stored in the storage device, wherein the speed information storage unit stores the speed information and the mark in the storage device in a group, and when the mark is detected, the speed information reading unit reads the speed information corresponding to the mark from the storage device and uses the speed information as a feed speed of each axis.
(3) In the numerical controller according to (1) or (2), the speed reduction block detection unit may include: a pre-read block number calculation unit (for example, "pre-read block number calculation unit 113" described later) that calculates the number of pre-read blocks as a difference between a first serial number that is a number of a block being executed by the program execution unit and a second serial number that is a number of a block being pre-read by the program pre-read unit simultaneously with execution of the machining program; and a depleted block detection unit (for example, a depleted block detection unit 114 described later) that detects a depleted block as the speed reduction block, the depleted block being a block at a time point when the number of pre-read blocks is less than a predetermined value.
(4) In the numerical controller according to (1) or (2), the speed reduction block detection unit may include: a theoretical value calculation unit (for example, a theoretical value calculation unit 119 described later) that calculates a theoretical value for each block of the processing time of the machining program from the length of a minute straight line constituting a machining path of the machine tool and the feed speed of the machine tool; an actual measurement value calculation unit (for example, "actual measurement value calculation unit 120" described later) that calculates an actual measurement value for each block of the program read-ahead time and the processing time of the machining program during execution of the machining program; and an abnormality occurrence block detection unit (for example, an "abnormality occurrence block detection unit 121" described later) that detects an abnormality occurrence block as the speed reduction block, the abnormality occurrence block being a block at a point in time when a difference obtained by subtracting the accumulation of the theoretical values from the accumulation of the actual measurement values exceeds a predetermined value.
(5) A numerical control system according to the present invention includes the numerical control devices described in (1) to (4) and the storage device, and a plurality of the numerical control devices share the speed information stored in the storage device.
ADVANTAGEOUS EFFECTS OF INVENTION
According to the present invention, high-quality machining can be realized under optimum machining conditions by suppressing speed control abnormalities in order to stabilize the feed speed, cutting speed, and the like.
Drawings
Fig. 1 is a diagram showing a configuration of a control system including a numerical controller according to an embodiment of the present invention.
Fig. 2 is a diagram showing a configuration of a numerical controller according to an embodiment of the present invention.
Fig. 3 is a diagram showing functional blocks of a numerical controller according to a first embodiment of the present invention.
Fig. 4 is a graph showing a temporal change in the number of pre-read blocks.
Fig. 5 is a flowchart showing the operation of the numerical controller according to the first embodiment of the present invention.
Fig. 6 is a flowchart showing the operation of the numerical controller according to the first embodiment of the present invention.
Fig. 7 is a diagram showing functional blocks of a numerical controller according to a second embodiment of the present invention.
Fig. 8 is a flowchart showing the operation of the numerical controller according to the second embodiment of the present invention.
Fig. 9 is a graph showing speed instability due to the inability to secure the number of pre-read blocks.
Description of the reference numerals
10: a control system; 100: a numerical control device; 111: a program execution unit; 112: a program pre-reading section; 113: a pre-read block number calculation unit (speed reduction block detection unit); 114: a depletion block detection unit (speed reduction block detection unit); 115: a sign attachment section; 116: a speed information storage unit; 117: a mark detection unit; 118: a speed information reading unit; 119: a theoretical value calculation unit; 120: an actual measurement value calculation unit; 121: an abnormality occurrence block detection unit (speed reduction block detection unit); 150: a storage device; 200: provided is a machine tool.
Detailed Description
[ 1 first embodiment ]
A first embodiment of the present invention will be described below with reference to fig. 1 to 6.
[ 1.1 Structure of the invention ]
Fig. 1 shows a configuration of a control system 10, and the control system 10 includes a numerical controller 100 according to the present invention, a storage device 150 for storing information used in control performed by the numerical controller 100, and a machine tool 200 controlled by the numerical controller 100.
The numerical controller 100 is a device that outputs an operation command to the machine tool 200 and numerically controls the machine tool 200 by having a function described later. The configuration and function of the numerical controller 100 will be described in detail later.
The storage device 150 stores information used when the numerical controller 100 performs control. In particular, the storage device 150 stores speed information used when the numerical controller 100 executes a machining program. The numerical controller 100 stores the speed information in the storage device 150, and reads out the stored speed information from the storage device 150.
The machine tool 200 is a device for performing predetermined machining such as cutting. The machine tool 200 includes a motor that drives to machine a workpiece, a main spindle and a feed shaft that are attached to the motor, and jigs, tools, and the like corresponding to these respective shafts. The machine tool 200 drives the motor based on the operation command output from the numerical controller 100, thereby performing predetermined machining. Here, the content of the predetermined machining is not particularly limited, and other than the cutting process, for example, grinding process, polishing process, rolling process, forging process, or the like may be used.
Fig. 2 is a configuration example of the numerical controller 100 according to the first embodiment of the present invention. The numerical controller 100 mainly includes a CPU 11, a ROM12, a RAM 13, a CMOS 14, interfaces 15, 18, 19, a PMC (programmable machine controller) 16, an I/O unit 17, shaft control circuits 30 to 34, servo amplifiers 40 to 44, a spindle control circuit 60, and a spindle amplifier 61.
The CPU 11 is a processor that controls the entire numerical controller 100. The CPU 11 reads out a system program stored in the ROM12 via the bus 25, and controls the entire numerical controller 100 in accordance with the system program.
The RAM 13 stores temporary calculation data, display data, and various data input by the operator via the display/MDI unit 70.
The CMOS memory 14 is configured as a nonvolatile memory that is backed up by a battery, not shown, and can maintain a stored state even when the numerical controller 100 is powered off. The CMOS memory 14 stores a machining program read through the interface 15, a machining program input through the display/MDI unit 70, and the like.
Various system programs for executing processing of an editing mode required for creating and editing a machining program and processing for automatic operation are written in advance in the ROM 12.
Various machining programs such as a machining program for executing the present invention can be input via the interface 15 and the display/MDI unit 70 and stored in the CMOS memory 14.
The interface 15 can connect the numerical controller 100 to an external device 72 such as an adapter. The machining program, various parameters, and the like are read from the external device 72. The machining program edited in the numerical controller 100 can be stored in the external storage unit via the external device 72.
A PMC (programmable machine controller) 16 outputs a signal to an auxiliary device of the machine tool (for example, an actuator such as a robot for tool replacement) via an I/O unit 17 by a sequence program incorporated in the numerical controller 100, and controls the auxiliary device. Further, the signals of various switches of the operation panel provided to the main body of the machine tool are received and subjected to necessary signal processing, and then the signals are delivered to the CPU 11.
The display/MDI unit 70 is a manual data input device provided with a display, a keyboard, and the like. The interface 18 receives instructions and data from the keyboard of the display/MDI unit 70 and gives them to the CPU 11. The interface 19 is connected to an operation panel 71 provided with a manual pulse generator and the like.
The axis control circuits 30 to 34 for each axis receive the movement instruction amount for each axis from the CPU 11 and output the instruction for each axis to the servo amplifiers 40 to 44.
The servo amplifiers 40 to 44 receive the command and drive the servo motors 50 to 54 of the respective axes. The servo motors 50 to 54 of the respective axes are provided with position/speed detectors, and position/speed feedback signals from the position/speed detectors are fed back to the axis control circuits 30 to 34 to perform position/speed feedback control. Further, position/velocity feedback is omitted from the block diagram.
The spindle control circuit 60 receives a spindle rotation command transmitted to the machine tool, and outputs a spindle speed signal to the spindle amplifier 61. The spindle amplifier 61 receives the spindle speed signal, and rotates a spindle motor 62 of the machine tool at a commanded rotational speed to drive the tool.
A pulse encoder 63 is coupled to the spindle motor 62 via a gear, a belt, or the like. The pulse encoder 63 outputs a feedback pulse in synchronization with the rotation of the spindle. The feedback pulse is read by the CPU 11 via the bus 25.
In addition, in the configuration example of the numerical controller 100 shown in fig. 2, 5 axis control circuits of the axis control circuits 30 to 34 and 5 servo motors of the servo motors 50 to 54 are shown. However, the present invention is not limited to this, and any number of shaft control circuits and servo motors may be provided.
Fig. 3 is a functional block diagram showing functions that the CPU 11 described above reads out the system program and the application program stored in the ROM12 via the bus 25 and realizes according to the system program and the application program. The CPU 11 includes a program execution unit 111, a program pre-reading unit 112, a pre-read block number calculation unit 113, a used-up block detection unit 114, a flag addition unit 115, a speed information storage unit 116, a flag detection unit 117, and a speed information reading unit 118.
The program execution unit 111 executes the machining program. In particular, in the present embodiment, the program execution unit 111 executes simulation of a machining program. In the simulation, it is preferable that the machine tool 200 is actually operated after the workpiece is set in the machine tool 200, for example, rather than simply idling the machining program. This is because the mode of changing the number of pre-read blocks with time, which will be described later, differs depending on the operating environment and the axial structure of the machine tool 200.
The program pre-reading unit 112 pre-reads the machining program in parallel with and before the simulation of the machining program executed by the program executing unit 111.
The pre-read block number calculation unit 113 calculates the number of pre-read blocks as a difference between 2 sequence numbers: the sequence number of the block being executed by the program execution section 111; and the sequence number of the block to be read in advance by the program read-in advance section 112 at the time point when the block is executed.
Fig. 4 is a graph showing a temporal change in the number of pre-read blocks. When the position of the block to be read in advance by the program pre-reading unit and the position of the block to be executed by the program executing unit 111 are at the end of the machining program, the number of pre-read blocks is 0. However, in general, the number of pre-read blocks is not reduced similarly to 0, but the reduction rate of the number of pre-read blocks varies due to a change in the processing time per block according to a change in the curvature of the processing path or a change in the axial structure.
The used-up block detection unit 114 compares the number of pre-read blocks with a predetermined value to detect a block at a time when the number of pre-read blocks is less than the predetermined value. This block is referred to herein as a "depletion block".
Here, the pre-read block count calculation unit 113 and the used-up block detection unit 114 are collectively referred to as a "speed reduction block detection unit". The "speed reduction block detection section" detects a "speed reduction block" in the machining program, the "speed reduction block" being a block in which the number of blocks to be read in advance becomes relatively low. In the first embodiment, the depletion block detecting unit 114 detects the "depletion block" described above as the "speed reduction block".
The flag adding unit 115 adds a flag to the "speed reduction block" (in the first embodiment, the "depletion block") described above within the machining program. After the flag is temporarily added to the machining program, when the program execution unit 111 executes the machining program, the flag detection unit 117, which will be described later, detects the flag, and thereby recognizes that the block to be read by the program pre-reading unit 112 after that is the "speed reduction block".
The speed information storage unit 116 calculates the feed speed of each axis of the machine tool 200 from the table feed speed at the "speed reduction block" to which the flag is added by the flag addition unit 115, and stores "feed speed information" as information of the feed speed in the storage device 150 in a set with the flag.
During execution of the machining program after the speed information storage unit 116 stores the "feed speed information" in the storage device 150, for example, during the second simulation or during actual machining after the first simulation, the flag detection unit 117 detects a flag added to the machining program. By detecting the flag by the flag detecting section 117, it can be recognized that the block pre-read by the program pre-reading section 112 after that is the "speed reduction block".
The speed information reading section 118 reads out speed information grouped with the flag detected by the flag detecting section 117 from the storage device 150, and uses the read speed information as the feed speed of each shaft. The numerical controller 100 outputs an operation command including the speed information to the machine tool 200.
With the above-described configuration, when executing the "depletion block" as the "speed reduction block" during the second and subsequent execution of the machining program, the numerical controller 100 can skip the calculation of the feed speed of each axis only by performing the coordinate correction, thereby suppressing the speed control from becoming unstable.
[ 1.2 actions of the invention ]
Hereinafter, the operation of the numerical controller 100 according to the first embodiment will be described with reference to fig. 5 and 6.
[ 1.2.1 actions when speed information is saved ]
Fig. 5 is a flowchart showing an operation performed when the speed information is stored in the numerical controller 100 according to the first embodiment.
In step S11, the program execution unit 111 executes simulation of the machining program.
In step S12, the program read-ahead unit 112 reads the machining program ahead of the simulation performed by the program execution unit 111 in parallel with the simulation.
In step S13, the pre-read block count calculation unit 113 calculates the number of pre-read blocks.
If the number of pre-read blocks is less than the predetermined value in step S14 (S14: yes), the process proceeds to step S15. If the number of pre-read blocks is equal to or greater than the predetermined value (S14: NO), the process proceeds to steps S11 and S12.
In step S15, the depletion block detection unit 114 detects "depletion block" as "speed reduction block".
In step S16, the flag addition unit 115 adds a flag to the "depletion block".
In step S17, the speed information storage unit 116 calculates the feed speed of each axis of the machine tool 200 from the table feed speed at the "end block", and stores the feed speed information, which is information of the feed speed, in the storage device 150 in a set with the flag added by the flag addition unit 115.
[ 1.2.2 actions when reading speed information ]
Fig. 6 is a flowchart showing an operation of the numerical controller 100 according to the first embodiment when reading speed information.
In step S21, the program execution unit 111 executes simulation of the machining program.
In step S22, the program read-ahead unit 112 reads the machining program ahead of the simulation performed by the program execution unit 111 in parallel with the simulation.
If the flag detector 117 detects a flag in the machining program read in advance by the program read-in advance unit 112 in step S23 (S23: yes), the process proceeds to step S24. If the flag is not detected by the flag detecting section 117 (S23: no), the process proceeds to steps S21 and S22.
In step S24, the speed information reading unit 118 reads out the speed information corresponding to the mark detected by the mark detecting unit 117 from the storage device 150, and uses the speed information as the feed speed of each shaft. After that, the process shifts to steps S21 and S22 (return).
[ 1.3 Effect of the present embodiment ]
The numerical controller 100 according to the present embodiment detects a "speed reduction block" that is a block in which the number of blocks to be read in advance is relatively low in a machining program, and stores the feed speed of each axis calculated from the table feed speed at the "speed reduction block" in the storage device 150. The numerical controller 100 reads out the speed information from the storage device 150 during execution of the machining program, and uses the speed information as the feed speed of each axis.
This makes it possible to detect a position in the machining program where a speed control abnormality is likely to occur due to the lack of the number of pre-read blocks for determining acceleration/deceleration operations, and to stabilize the feed speed and the cutting speed.
Further, the numerical controller 100 includes: a flag adding unit 115 that adds a flag to the speed reduction block; and a flag detecting unit 117 that detects a flag during execution of the machining program after the speed information is stored in the storage device, the speed information storing unit 116 stores the speed information in the storage device 150 in a group with the flag, and when the flag is detected, the speed information reading unit 118 reads the speed information corresponding to the flag from the storage device 150 and uses the speed information as the feed speed of each axis.
Thereby, a plurality of pieces of speed information can be processed, and the speed information can be used as the feed speed of each axis in such a manner that the speed information is discriminated by the flag.
In addition, the numerical controller 100 includes, for detecting the "speed reduction block": a pre-read block number calculation unit 113 that calculates the number of pre-read blocks as a difference between a first serial number that is a number of a block being executed by the program execution unit 111 and a second serial number that is a number of a block being pre-read by the program pre-read unit 112 simultaneously with execution of the machining program; and a used-up block detection unit 114 that detects a "used-up block" as a "speed reduction block", the "used-up block" being a block at a time point when the number of pre-read blocks is less than a predetermined value.
This makes it possible to detect the "speed reduction block" based on the number of pre-read blocks at each time point when the machining program is executed.
[ 2 second embodiment ]
Hereinafter, a second embodiment of the present invention will be described with reference to fig. 7 and 8. For simplicity of description, the following description mainly describes differences of the numerical controller 100A according to the second embodiment from the numerical controller 100.
[ 2.1 Structure of the invention ]
The numerical controller 100A according to the second embodiment includes a CPU 11A instead of the CPU 11. Fig. 7 is a functional block diagram showing functions that the CPU 11A reads out the system program and the application program stored in the ROM12 via the bus 25 and realizes in accordance with the system program and the application program.
The CPU 11A, unlike the CPU 11, does not include the pre-read block count calculation unit 113 and the depleted block detection unit 114, but instead includes a theoretical value calculation unit 119, an actual measurement value calculation unit 120, and an abnormality occurrence block detection unit 121.
The theoretical value calculation unit 119 calculates a theoretical value for each block of the processing time of the machining program based on the length of the minute straight line constituting the machining path of the machine tool 200 and the feed speed of the machine tool 200.
More specifically, the theoretical value calculation unit 119 calculates a theoretical value of the program execution processing time by the following expression (1).
Theoretical value of program execution processing time (msec) 60 × minute straight line length (mm)/instruction speed (mm/min) (1)
While the machining program is being executed by the program execution unit 111, the measured value calculation unit 120 calculates the measured value for each block of the total time of the read-ahead time of the program read-ahead unit 112 and the processing time of the machining program.
The abnormality occurrence block detection unit 121 compares the accumulation of the theoretical value for each block of the processing time of the machining program calculated by the theoretical value calculation unit 119 with the accumulation of the actual measurement value for each block of the pre-reading time of the program pre-reading unit 112 and the actual processing time of the machining program executed by the program execution unit 111 calculated by the actual measurement value calculation unit 120, and detects an "abnormality occurrence block" which is a block at a time point when the difference obtained by subtracting the accumulation of the theoretical values from the accumulation of the actual measurement values exceeds a predetermined value.
The "abnormality occurrence block" is a block in which the possibility of occurrence of a speed control abnormality is relatively high compared to other blocks.
In the second embodiment, the abnormality occurrence block detection unit 121 detects the "abnormality occurrence block" described above as a "speed reduction block".
With the above-described configuration, when the "abnormality occurrence block" as the "speed reduction block" is executed during the execution of the machining program for the second time and subsequent times, the numerical controller 100A can skip the calculation of the feed speed for each axis only by performing the coordinate correction, thereby suppressing the speed control from becoming unstable.
[ 2.2 actions of the invention ]
Hereinafter, the operation of the numerical controller 100A according to the second embodiment will be described with reference to fig. 8.
[ 2.2.1 actions when speed information is saved ]
Fig. 8 is a flowchart showing an operation performed when speed information is stored in the numerical controller 100A according to the second embodiment.
In step S31, the program execution unit 111 executes simulation of the machining program.
In step S32, the program read-ahead unit 112 reads the machining program ahead of the simulation performed by the program execution unit 111 in parallel with the simulation.
In step S33, the theoretical value calculation unit 119 calculates a theoretical value for each block of the processing time of the processing program based on the length of the minute straight line constituting the processing path of the machine tool 200 and the feed speed of the machine tool 200.
In step S34, the measured value calculating unit 120 calculates the measured value for each block of the total time of the read-ahead time of the program read-ahead unit 112 and the processing time of the machining program during the simulation of the machining program executed by the program executing unit 111.
In step S35, if the difference obtained by subtracting the accumulation of the theoretical value for each block from the accumulation of the measured value for each block exceeds the predetermined value (S35: "yes"), the process proceeds to step S36. If the difference is equal to or less than the predetermined value (S35: "no"), the process proceeds to steps S31 and S32.
In step S36, the abnormality occurrence block detection unit 121 detects the "abnormality occurrence block" as the "speed reduction block".
In step S37, the flag addition unit 115 adds a flag to the "abnormality occurrence block".
In step S38, the speed information storage unit 116 calculates the feed speed of each axis of the machine tool 200 from the table feed speed at the "abnormality occurrence block", and stores the feed speed information, which is information of the feed speed, in the storage device 150 in a set with the flag added by the flag addition unit 115.
[ 2.2.2 speed information read action ]
The operation of the numerical controller 100A according to the second embodiment when reading speed information is the same as the operation of the numerical controller 100 according to the first embodiment when reading speed information, and therefore, the description thereof is omitted.
[ 2.3 Effect of the present embodiment ]
In order to detect the "speed reduction block", the numerical controller 100A includes: a theoretical value calculation unit 119 that calculates a theoretical value for each block of the processing time of the machining program based on the length of the minute straight line constituting the machining path of the machine tool 200 and the feed speed of the machine tool 200; an actual measurement value calculation unit 120 that calculates an actual measurement value for each block of the program read-ahead time of the program read-ahead unit 112 and the processing time of the machining program during execution of the machining program; and an abnormality occurrence block detection unit 121 that detects an "abnormality occurrence block" as a "speed reduction block", the "abnormality occurrence block" being a block at a point in time when a difference obtained by subtracting an accumulation of theoretical values from an accumulation of actual measurement values exceeds a predetermined value.
Thus, the "speed reduction block" can be detected based on the difference between the theoretical value and the actual measured value of the processing time at each time point when the machining program is executed.
[ 3. variants ]
[ 3.1 modified example 1 ]
In the first and second embodiments, as shown in fig. 1, it is assumed that 1 numerical controller 100, 1 storage device 150, and 1 machine tool 200 are provided as a set, but the present invention is not limited thereto. For example, particularly when a plurality of numerical control devices 100 execute machining in the same step, the plurality of numerical control devices 100 may be connected to 1 storage device 150 and share the speed information stored in 1 storage device 150.
[ 3.2 modification 2 ]
The numerical controller 100 according to the first embodiment calculates the feed speed of each axis from the table feed speed at the depletion block, stores speed information, which is information of the feed speed, in the storage device 150 in a set with a flag, reads the speed information stored in the storage device 150, and uses the speed information as the feed speed of each axis, but is not limited thereto. For example, the numerical controller 100 may store speed information on table feed speeds at any block other than the exhausted block in the machining program or at all blocks in the machining program in the storage device 150 in a group with a flag corresponding to each speed information, read out the speed information stored in the storage device 150, and use the speed information as the feed speed of each axis.
Similarly, the numerical controller 100A according to the second embodiment calculates the feed speed of each axis from the table feed speed at the abnormality occurrence block, stores speed information, which is information of the feed speed, in the storage device 150 in a set with a flag, reads the speed information stored in the storage device 150, and uses the speed information as the feed speed of each axis, but is not limited to this. For example, the numerical controller 100A may store speed information on table feed speeds at any block other than the abnormality occurrence block in the machining program or at all blocks in the machining program in the storage device 150 in a group with a flag corresponding to each speed information, read out the speed information stored in the storage device 150, and use the speed information as the feed speed of each axis.
[ 3.3 modification 3 ]
In the first embodiment, the used-up block detector 114 sets a block at a time point when the number of pre-read blocks is less than a predetermined value as a used-up block, but the present invention is not limited thereto. For example, the used block detection unit 114 may set a block at a point in time when the reduction rate of the number of pre-read blocks exceeds a predetermined value as a used block.
[ 3.4 modified example 4 ]
In the second embodiment, the abnormality occurrence block detection unit 121 compares the accumulation of the theoretical values for each block of the processing time of the machining program calculated by the theoretical value calculation unit 119 with the accumulation of the actual measurement values for each block of the read-ahead time of the program read-ahead unit 112 and the actual processing time of the machining program executed by the program execution unit 111 calculated by the actual measurement value calculation unit 120, and sets a block at a time point when the difference obtained by subtracting the accumulation of the theoretical values from the accumulation of the actual measurement values exceeds a predetermined value as the abnormality occurrence block. For example, the abnormality occurrence block detection unit 121 may set a block at a point in time when the ratio of the accumulation of the actual measurement values to the accumulation of the theoretical values exceeds a predetermined value as the abnormality occurrence block.
[ 3.5 modified example 5 ]
In the above embodiment, the following configuration is adopted: the flag adding unit 115 adds a flag to the speed reduction block, the speed information storage unit 116 stores the speed information in the storage device 150 in a set with the flag, the flag detecting unit 117 detects the flag during execution of the machining program after the speed information is stored in the storage device 150, and when the flag is detected, the speed information reading unit 118 reads the speed information corresponding to the flag from the storage device 150 and uses the speed information as the feed speed of each axis.
For example, when the speed information stored in the storage device 150 is single information, the following configuration may be adopted: the speed information storage unit 116 stores only the speed information in the storage device 150 without using a flag for identifying the speed information, and the speed information reading unit 118 reads the speed information from the storage device 150.
[ 3.6 modification 6 ]
In the above-described embodiment, the operation at the time of storing the speed information and the operation at the time of reading the speed information are performed by the program execution unit 111 when simulating the machining program, but the present invention is not limited thereto. For example, the same operation may be executed during actual machining performed by the numerical controller 100 controlling the machine tool 200.
The embodiments of the present invention have been described above, but the present invention is not limited to the above embodiments. The effects described in the present embodiment are merely the best effects produced by the present invention, and the effects of the present invention are not limited to the effects described in the present embodiment.
The control method of the numerical controller 100 or 100A is implemented by software. In the case of being implemented by software, a program constituting the software is installed in a computer (the numerical controller 100 or 100A). The programs may be recorded in a removable medium and distributed to the user, or may be downloaded to the user's computer via a network and distributed. Further, these programs may be provided to a computer (numerical controller 100 or 100A) of a user as a Web service via a network without being downloaded.

Claims (5)

1. A numerical controller connected to a storage device and a machine tool having axes, the numerical controller controlling the machine tool by executing a machining program that is composed of a plurality of blocks and controls acceleration and deceleration of the axes, the numerical controller comprising:
a program execution unit that executes the machining program;
a program pre-reading unit that pre-reads the machining program in parallel with execution of the machining program;
a speed reduction block detection unit that detects a speed reduction block in the machining program, the speed reduction block being a block in which the number of blocks to be read in advance is relatively low;
a speed information storage unit that calculates a feed speed of each axis from the table feed speed at the speed reduction block, and stores speed information, which is information of the feed speed, in the storage device; and
and a speed information reading unit that reads the speed information from the storage device and uses the speed information as a feed speed of each shaft.
2. The numerical controller according to claim 1, further comprising:
a flag adding unit that adds a flag to the speed reduction block; and
a flag detecting unit that detects the flag during execution of the machining program after the speed information is stored in the storage device,
the speed information storage unit stores the speed information in the storage device in a group with the flag,
when the mark is detected, the speed information reading unit reads the speed information corresponding to the mark from the storage device, and uses the speed information as the feed speed of each shaft.
3. Numerical control apparatus according to claim 1 or 2,
the speed reduction block detection unit includes:
a pre-read block number calculation unit that calculates the number of pre-read blocks as a difference between a first serial number that is a number of a block being executed by the program execution unit and a second serial number that is a number of a block being pre-read by the program pre-read unit simultaneously with execution of the machining program; and
and a used-up block detection unit that detects, as the speed reduction block, a used-up block at a time point when the number of pre-read blocks is less than a predetermined value.
4. Numerical control apparatus according to claim 1 or 2,
the speed reduction block detection unit includes:
a theoretical value calculation unit that calculates a theoretical value for each block of the processing time of the machining program based on the length of a minute straight line constituting a machining path of the machine tool and the feed speed of the machine tool;
an actual measurement value calculation unit that calculates an actual measurement value for each block of the program read-ahead time and the processing time of the machining program during execution of the machining program; and
and an abnormality occurrence block detection unit that detects an abnormality occurrence block as the speed reduction block, the abnormality occurrence block being a block at a point in time when a difference obtained by subtracting the accumulation of the theoretical values from the accumulation of the actual measurement values exceeds a predetermined value.
5. A numerical control system is provided with:
a plurality of numerical control devices according to any one of claims 1 to 4; and
the storage device is used for storing the data to be stored,
wherein the plurality of numerical control devices share the speed information stored in the storage device.
CN201911038033.4A 2018-10-31 2019-10-29 Numerical controller and numerical control system Active CN111123846B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018205920A JP6885914B2 (en) 2018-10-31 2018-10-31 Numerical control device
JP2018-205920 2018-10-31

Publications (2)

Publication Number Publication Date
CN111123846A true CN111123846A (en) 2020-05-08
CN111123846B CN111123846B (en) 2023-11-14

Family

ID=70326605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911038033.4A Active CN111123846B (en) 2018-10-31 2019-10-29 Numerical controller and numerical control system

Country Status (4)

Country Link
US (1) US11003161B2 (en)
JP (1) JP6885914B2 (en)
CN (1) CN111123846B (en)
DE (1) DE102019007382A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6823034B2 (en) * 2018-10-31 2021-01-27 ファナック株式会社 Numerical control device
JP7260420B2 (en) * 2019-06-28 2023-04-18 ファナック株式会社 Numerical controller

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683430A (en) * 1992-08-28 1994-03-25 Yaskawa Electric Corp Numerical controller
JP2001084019A (en) * 1999-09-14 2001-03-30 Yaskawa Electric Corp Numerical value controller,
JP2007094936A (en) * 2005-09-30 2007-04-12 Fanuc Ltd Numerical value controller
CN104570959A (en) * 2013-10-18 2015-04-29 发那科株式会社 Numerical controller provided with program pre-reading function
CN105388852A (en) * 2014-08-29 2016-03-09 兄弟工业株式会社 Numerical control device, machine tool and control method
US20160363927A1 (en) * 2015-06-09 2016-12-15 Fanuc Corporation Numerical controller
CN107368039A (en) * 2016-05-12 2017-11-21 发那科株式会社 Numerical control device
CN108628248A (en) * 2017-03-24 2018-10-09 发那科株式会社 Numerical control device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61256407A (en) * 1985-05-09 1986-11-14 Mitsubishi Electric Corp Numerical controller
JP2724647B2 (en) * 1991-11-20 1998-03-09 株式会社牧野フライス製作所 Feed rate control method in numerical control
JPH10254517A (en) * 1997-03-06 1998-09-25 Yaskawa Electric Corp Abnormality detecting method for numerical controller
JP3723015B2 (en) * 1999-07-26 2005-12-07 三菱電機株式会社 Numerical controller
JP2007164509A (en) * 2005-12-14 2007-06-28 Fanuc Ltd Numeric controller
JP4437801B2 (en) * 2006-06-05 2010-03-24 三菱電機株式会社 Numerical control method and speed control device
JP4813616B1 (en) * 2010-07-12 2011-11-09 ファナック株式会社 Numerical control device for machine tool having speed control function during arc motion
JP6105650B2 (en) * 2015-02-18 2017-03-29 ファナック株式会社 Numerical control device to reduce machine load

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683430A (en) * 1992-08-28 1994-03-25 Yaskawa Electric Corp Numerical controller
JP2001084019A (en) * 1999-09-14 2001-03-30 Yaskawa Electric Corp Numerical value controller,
JP2007094936A (en) * 2005-09-30 2007-04-12 Fanuc Ltd Numerical value controller
CN104570959A (en) * 2013-10-18 2015-04-29 发那科株式会社 Numerical controller provided with program pre-reading function
CN105388852A (en) * 2014-08-29 2016-03-09 兄弟工业株式会社 Numerical control device, machine tool and control method
US20160363927A1 (en) * 2015-06-09 2016-12-15 Fanuc Corporation Numerical controller
CN107368039A (en) * 2016-05-12 2017-11-21 发那科株式会社 Numerical control device
CN108628248A (en) * 2017-03-24 2018-10-09 发那科株式会社 Numerical control device

Also Published As

Publication number Publication date
US11003161B2 (en) 2021-05-11
CN111123846B (en) 2023-11-14
JP6885914B2 (en) 2021-06-16
JP2020071728A (en) 2020-05-07
US20200133228A1 (en) 2020-04-30
DE102019007382A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
EP1950633B1 (en) Controller with acceleration detection means
CN111123845B (en) Numerical controller
CN111123840B (en) Numerical controller
CN111123839B (en) Numerical controller
CN111123841B (en) Numerical controller
CN111123846A (en) Numerical controller and numerical control system
CN111123844B (en) numerical control system
CN111185801A (en) Numerical controller
CN111316178A (en) Method for operating a numerical control production system and production system thereof
US11156986B2 (en) Machining program editing device
WO2023012939A1 (en) Numerical control system
JP4982170B2 (en) Machining control device and machining control program
WO2023032164A1 (en) Numerical control system

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
GR01 Patent grant
GR01 Patent grant