The following relates to a method and to a device for the computer-aided optimization of tool transports for at least one tool magazine having a number of magazine locations, which is used or is usable for a machine tool that is employed for the manufacture of one or more workpieces with the aid of the tools provided by a magazine apparatus to a provision location.
Modern machine tools allow rapidly changing production of different workpieces at a time very close to the requirement of the customer. In order to allow continuous production despite a wide variety of workpieces, these machine tools have large magazines in which the tools are deposited.
When exchanging the tool, the transport of the tools from the magazine to the spindle and back may lead to waiting times. In order to avoid such waiting times, the magazine occupancy is adapted. A magazine occupancy that minimizes waiting time is however dependent on the program of the machine tool, that is to say the sequence of use and the duration of use of the tools used. If the program changes, for example because a different product is intended to be produced, the magazine occupancy needs to be adapted.
According to DIN 69 651, a machine tool is a “mechanized and more or less automated manufacturing instrument which generates a predetermined shape on the workpiece or a variation of a predetermined shape on a workpiece by relative movement between the workpiece and the tool” [6]. Machine tools on which the present context is based are NC lathes. These have a tool spindle in which the processing tool, also referred to as the spindle tool, is located during the processing. The tools which may be used by the machine in order to process a workpiece are deposited in a tool magazine. There are different types of tool magazines, such as chain or shelf magazines. Very many different tools may be accommodated in these magazines: up to 500 tools or more.
In the present context, shelf magazines will be considered. The tools are deposited therein at fixed locations, from/at which they are picked up/deposited by a device (magazine operating apparatus). In contrast to the chain magazine, the access time to a tool is in this case independent of the current configuration of the magazine. This type of magazine is therefore advantageous when a wide variety of different workpieces is intended to be produced with a machine, for which a multiplicity of different tools are needed.
PCT/EP2018/074999 has already proposed re-sorting of tools in the magazine, for which the re-sorting of the tools requires production to be suspended. In
The processing of a workpiece is carried out with a predetermined sequence of tools. One tool may quite possibly occur several times in this sequence. During the processing of a workpiece with a tool of the sequence, the spindle tool, the previous tool is returned to its location in the shelf magazine and deposited there. An empty trip is then made to the site of the following tool. The latter is then taken and transported to the handover point or providing location to the spindle. Once the processing with the current spindle tool is completed, the tool in the spindle is exchanged (for example with a tool changer). If the processing with the spindle tool is completed but the following tool is not yet ready, there is a waiting time in the spindle supply and the production duration of the workpiece is increased.
The efficiency of a machine tool may be influenced by various factors. Yet if the NC programs and the sets of the workpieces to be processed are fixed, the machine efficiency is then influenced only by waiting times between the successive steps of processing the workpiece (operations). These waiting times occur when there is a waiting time at the end of the processing with the spindle tool because the next tool is not yet ready at the handover point of the spindle. The tools are therefore allocated magazine locations that lead to a minimization of these waiting times.
Besides their actual tool property, tools have other characteristics or properties. They differ, for example, in size and weight. Shelf magazines therefore have different types of magazine locations in order to accommodate the corresponding tools. If tools are oversize, one or possibly even more neighboring magazine locations need to be kept free. Furthermore, certain locations may be blocked in shelf magazines because of defects or design features. A magazine location is occupiable when it is free (not occupied by any tool) or becomes free, that is to say a tool at this magazine location is first brought to another magazine location so that this magazine location has become free or becomes free for the tool following next. An allowed magazine occupancy is an arrangement of the tools in the magazine such that each tool is located at an occupiable magazine location and the location requirements of the neighboring tools do not overlap.
Allowed magazine locations depend on the current occupancy of the tool magazine.
Accordingly, all allowed magazine locations, also referred to below as magazine positions, are subject to additional restrictions:
A magazine occupancy with minimal waiting times depends on the workpieces to be produced and the associated NC programs. If the production changes, this necessitates adaptation of the magazine occupancy.
Re-sorting of tools in the magazine, for which the re-sorting requires production to be suspended, has already been proposed in [3].
Once a new magazine occupancy and a technically feasible tool relocation or transport sequence are given, this new magazine occupancy may be configured after the conclusion of the ongoing program and before the start of the subsequent program. That is to say, the production stops until the re-sorting is completed. The efficiency of the machine tool is thereby reduced. Under certain preconditions, the re-sorting of the magazine may be carried out during the execution of the current program, without generating additional waiting times.
It is assumed that the time for changing a tool in the machine tool is quite long in comparison of the time for processing with a tool. Otherwise, no waiting times occur in the spindle supply and the magazine occupancy has no effect on the efficiency of the machine tool. It is furthermore assumed that the processing times of the individual program steps have different lengths, so that waiting times also occur in the magazine operating apparatus.
An aspect relates to a method and a device which make it possible to integrate the tool relocation into the waiting times of the magazine operating apparatus.
Embodiments of the invention claim a method for the computer-aided optimization of tool transports for at least one tool magazine having a number of magazine locations, which is used or is usable for a machine tool that is employed for the processing of one or more workpieces with the aid of the tools provided by a magazine apparatus at a provision location, having the following steps:
A single or multiple repetition of step i) is possible.
A partial order of the set of tool transports (see f)) may be specified such that a tool transport that has not yet been performed may be performed when all tool transports previously arranged in the partial order have been performed. The partial order may influence the allocation of at least one tool transport to a time interval according to h). The chronological succession of the allocated time intervals should be consistent with the partial order of the tool transport.
The partial order gives a priority of a first tool, which initially has to be brought before a second tool to a different magazine location which is free or becoming free before the second tool can be brought to its magazine location. In order to avoid unresolvable cycles or possible deadlocks in the tool transport sequences, deadlocks may for example be resolved by the procedure from the patent application PCT/EP2018/074999 mentioned in the introduction.
The aforementioned allocation of the one or more tool transports or relocations to a time interval may be carried out by mixed-integer linear optimization, these respectively being explained in more detail in the exemplary embodiments below. If the set of tool transports is partially ordered, the partial order is taken into account in the mixed-integer linear optimization.
Linear optimization is a special case of optimization methods. It deals with the optimization of linear objective functions over a set, which is restricted by linear equations and inequalities. It is the basis of the solution methods of (mixed) integer linear optimization. A so-called solver is a generic term for special mathematical computer programs that can numerically solve mathematical problems. In connection with MILP (mixed integer linear programming), standard solvers such as for example CPLEX [3], Scip, Gurobi, Xpress may be used for IP programs (integer optimization models). Typically, a start configuration is specified and is led iteratively by optimization to an objective result. A calculation of a nearest neighbor heuristic may be used for a start configuration of the MILP model.
The movement time duration may include both a transport time duration, which comprises a trip of the magazine operating apparatus with a tool, and an empty trip time duration, which means a trip of the magazine operating apparatus without a tool. The transport time duration additionally depends on properties such as for example size, weight of the tool to be transported.
Tool transports may be taken into account with increasing weighting in the increasing time profile when carrying out the at least one tool transport, presupposing that the tool to be transported is unused or is not (any longer) being used or needed for the processing of a workpiece, and/or presupposing that a cumulative waiting time for the magazine operating apparatus in the increasing time profile decreases by a newly allocated magazine location of the tool after the tool transport.
The time intervals in which a plurality of tool transports are possible may be subdivided into further time intervals in which, if possible, only one tool transport is carried out.
A further aspect of embodiments of the invention provides a control instrument which for the computer-aided optimization of tool transports for at least one tool magazine having a number of magazine locations, which is used or is usable for a machine tool that is employed for the processing of one or more workpieces with the aid of the tools provided by a magazine apparatus at a provision location. This control instrument is designed in particular to carry out the method of the type mentioned above and its embodiments. It has at least one processing unit, or processor, which is designed to perform the aforementioned method steps a) to i) and its developments.
The units that are configured to perform such method steps may be implemented as hardware, firmware and/or software.
A further aspect of embodiments of the invention is a computer program product, comprising a computer readable hardware storage device having computer readable program code stored therein, said program code executable by a processor of a computer system to implement a method having program code means for carrying out the method as claimed in one of the preceding method claims when it runs on a control instrument of the type mentioned above or is stored on a computer-readable medium.
The computer program or program product may be stored on a computer-readable medium. The computer program or program product may be written in a conventional programming language (for example C++, Java). The processing instrument may comprise a commercially available computer or server with corresponding input, output and storage means. This processing instrument may be integrated in the control instrument or in the means thereof.
The control instrument and the computer program (product) may be developed or further developed in a similar way to the aforementioned method and its developments.
Some of the embodiments will be described in detail, with reference to the following figures, wherein like designations denote like members, wherein:
According to
In step 2, one or more tool transports are respectively allocated to a time interval under the condition that the movement time duration for the tool transport is less than or equal to the length of the time interval. In step 3, one or more tool transports are carried out. This may be done while the machine tool for the processing of a workpiece is in operation in a ready state or in a processing state.
Furthermore, a set of movement time durations which respectively comprises a trip of the magazine operating apparatus from one magazine location to another magazine location or from a magazine location to the provision location or from the provision location to a magazine location, as well as a set of tool transports from one magazine position, or location, to another allowed magazine position, a tool transport from this set requiring a movement time duration, are recorded as input IN.
The tool transport should transport each tool without collision in respect of its location requirement from its current magazine location to its next magazine location. In this case, it is expedient to establish precedences, or priorities, which require that particular tools be transported before other tools to their next magazine location. The definition of precedences will be explained in more detail below.
A basic heuristic and the steps of the procedure according to embodiments of the invention will first be described in more detail below:
Basic Heuristic
Notation:
To simplify the description of the method, the notation described below is used.
Let t1 and t2 be two tools that are exchanged during the operation o at the handover location. The time for returning the tool t1 to its magazine location, the empty trip of the magazine operating apparatus to the location of the subsequent tool t2 and the transport of this tool to the handover location is referred to as the cycle time. It is dependent on the magazine locations of the two tools t1 and t2 and is generally a few seconds. If the processing time of the operation o is shorter than the maximum cycle time of the magazine operating apparatus, o is referred to as a critical operation. o is called λ-lazy when the processing time of o is more than λ times the maximum cycle time, λ>1. The tool pair (t1, t2) is similarly referred to as a critical or λ-lazy tuple. For λ=2, the waiting time is for example long enough to carry out an arbitrary tool relocation during the processing of o.
Determination of the available time intervals:
For re-sorting of the tools during production, without the additional occurrence of idle times, waiting times for the magazine operating apparatus are needed. This waiting time, between depositing the last tool and taking up the next tool required is available for further operations of the magazine operating apparatus.
Let λ≈2 and oi, i=1, . . . n, be the set of λ-lazy operations sorted increasingly according to their start time. Let the spindle tools before and after operation oi be tis and tif. That is to say, the tools tis and tif are exchanged at the handover location during the operation oi. Let the set of available time intervals be
={1, . . . ,n} (1)
where the possible start and end positions or instants for time interval i are given by:
Sequence of the tool relocations:
Once the current and the desired subsequent allocation of tools to magazine position are given, the sequence in which the tools should be relocated remains to be established. It is assumed that each tool is relocated directly from its current magazine position to the subsequent magazine position. By fixing the initial occupancy and the objective occupancy of the magazine, the following two cases may occur:
In the first case, precedences between the tool relocations are defined, that is to say the tool relocations are partially ordered. The relocation r′ is less than r, r′r, if r′ must necessarily be relocated before r. If r′ and r are not comparable, that is to say neither r′r nor r r′, the relocation of r and r′ may be carried out in both sequences.
In the second case, under some circumstances it is not even possible to achieve the desired allocation just by relocating tools, for example in the case of shelf magazines that have few free locations and tools that require more than one magazine location. If cyclic dependencies occur, they should be removed.
Removal of transport cycles: transport cycles may be removed in various ways. Direct removal is achieved by adapting the objective magazine occupancy. This procedure may be found from the patent application mentioned in the introduction, and also applied in this context. Possible transport cycles may be found efficiently by a depth search in polynomial time. All tools in a cycle are not relocated, but remain at their location. Likewise, all tools that require the relocation of a tool from a cycle beforehand are not relocated and remain at their location. The subsequent allocation of tools to magazine position, which is modified in this way, no longer contains any cyclic dependencies, and the tool relocations are partially ordered.
Alternatively, the restriction that each tool is transported directly from its current magazine position to its final magazine position may be relaxed. A tool may thus be relocated several times, and this additional freedom generally makes it possible to find a cycle-free set of tool relocations. In the corresponding partial order, all tool relocations for one and the same tool are fully ordered. In the case of magazines with very few free locations and many tools that require more than one shelf location, it may nevertheless be necessary for tools to have to be removed from the magazine in order to be able to create the desired subsequent magazine occupancy.
It is assumed below that there is a partially ordered set of tool relocations without cyclic dependencies.
Modeling of the tool relocation:
Let G=∪, E) be a bipartite graph with the node partitions and and the edge set E. In which case (i, r) is the edge of G if and only if the relocation of tool Wrt is chronologically possible in the time interval i, that is to say tool Wrt is not the spindle tool in the time interval i and the following inequality is satisfied:
The partial order of is applied to the edge set E of the graph G. For two edges (i, r), (i′, r′)∈E, the following applies:
(i′, r′)(i, r)↔Ti′f<Tis∧r′r (3)
A matching M of the graph G is bounded if, for all edges (i, r)∈M, the following applies:
r′
r→∃(i′,r′)∈M:(i′,r′)(i,r) (4)
Each bounded matching M defines a performable sequence of tool relocations M={r|(i, r)∈M}. A maximum bounded matching therefore corresponds to a maximum performable sequence of tool relocations which may be carried out during the waiting times of the magazine operating apparatus. The maximality applies under the assumptions that only one relocation ever takes place during a waiting time and that the tools exchanged at the provision or handover location during interval i remain at their original locations in the magazine.
Modeling as MIP
The determination of a matching with edge precedences may be modeled as an integer linear program (MIP). On the basis of the notation introduced above, the following variables are defined:
Variables
x(i,r) indicator variable as to whether edge (i,r)∈E is in the matching
A maximum matching with edge precedences is the solution of the integer linear program with the objective function
while taking into account the following constraints:
For an allowed solution x, let Mx={(i, r)|x(i,r)=1}⊂E be the set of the edges whose indicator variable x is equal to 1. The inequalities (6) and (7) guarantee that no two edges from Mx are allocated to an interval i, or to a tool relocation r, that is to say Mx is a matching. The inequalities (8) ensure that the matching Mx is bounded. M
Extensions to the Heuristic
Taking the program progress into account:
A maximum bounded matching corresponds to a performable sequence of tool relocations. The relocations may, however, already begin at the start of the currently running program. The magazine occupancy with minimal waiting times that is determined for this program is therefore altered and waiting times that were originally avoided may occur during production. In order to avoid this undesired effect, the objective function is modified. In other words, the tool transports are taken into account with increasing weighting in the increasing time profile when carrying out the one tool transport, presupposing that the cumulative waiting time for the magazine operating apparatus in the increasing time profile decreases by a newly allocated magazine location of the tool after the tool transport.
Index Sets
Let w:×→ be a weight function on the edges E of the graph G. Let the values of w be defined as follows:
With the aid of the weight function w, the objective function (5) above of the integer program may be reformulated:
A matching edge (i, r) is therefore included positively in the objective function only if the allocated tool relocation r is concluded after the last use of the tool Wrt in a critical tuple. If, on the other hand, the tool Wrt is still being used after the relocation interval end Tif in a critical tuple, the matching edge (i, r) contributes negatively to the weight of the matching.
Weighted consideration of the program progress:
The objective function (11) weighted all instants before (after) the last use of a tool from a critical tuple equally. The fact that an individual short waiting time before the end of the program is less relevant is therefore not taken into account.
Let ω(i, r) be an estimate of the additional waiting time in the current program if the tool Wrt is relocated at the time Tis. Let Ω be a scaling parameter and the weight function {tilde over (w)}:×→ on the edges E of the graph G be defined as follows:
If Ω is selected to be approximately of the order of the average waiting time saving per tool from a critical tuple, (i, r) has a negative weight {tilde over (w)}(i, r) when a relocation of Wrt at the time Tis requires estimated more additional waiting time during the currently running program than is saved on average per tool by the relocation. The estimates need not be accurate, what is important being only that the relative proportions between different tool relocations r and r′ and the reduction with the program progress match. With a suitable choice of the scaling parameter Ω, the objective function (5) of the integer program from section 4.5 may therefore be replaced with the following objective function (12).
Multiple Intervals:
The modeling above allows at most one tool relocation in the waiting time of the magazine operating apparatus during an operation. If the program contains longer operations and therefore longer waiting times of the magazine operating apparatus, the solutions, with only one relocation, may be very unfavorable. For this case, the modeling may be extended.
For the determination of the time intervals, each λ-lazy operation is allocated an interval. Very long time intervals, which may contain a plurality of tool relocations, are in what follows divided into a plurality of smaller time intervals in which at most only one tool relocation or transport is carried out.
Let ρ be the maximum trip time of an empty trip and a tool relocation trip, that is to say
A time interval i∈ is called a long time interval if the following applies for a k=2,3, . . .
T
i
f
−T
i
s
≥kρ+max{moveTimel,l′|l,l′∈} (14)
Let i be a long time interval and k maximum, so that the inequality (14) applies. The interval i is subdivided into k intervals with a length of ρ and ρ+ moveTimel,l′. The start time (possible start positions) of the first new interval and the end time (possible end positions) of the last new interval are respectively Tis (Lis) and Tif (Lif). The intermediate times and intermediate positions are dependent on the choice of the tool relocation that was selected for the preceding time interval. Since the intervals all have at least the length ρ, every series of an empty trip and a tool relocation can be carried out in the interval. In the last time interval, an empty trip to an arbitrary position from Lif may additionally be carried out. This division is carried out for every long time interval. Let the resulting interval set be .
The bipartite graph is extended to . Since every tool relocation is possible in the newly generated time intervals, for these intervals i′ all edges (i′, r) for which Wrt is not the spindle tool during the time interval i are introduced into the graph G. For the unchanged time intervals i and tool relocations r, the above criterion (2) continues to be applied. This extended bipartite graph likewise has the property that each bounded matching corresponds to a performable sequence of tool relocations.
Although embodiments of the invention have been illustrated and described in detail, embodiments of the invention are not restricted by the examples disclosed and other variations may be derived therefrom by a person skilled in the conventional art, without departing from the scope of protection of embodiments of the invention.
The implementation of the processes or method procedures described above may be performed with the aid of instructions that are present on computer-readable storage media or in volatile computer memories (referred to below summarily as computer-readable memories). Computer-readable memories are for example volatile memories such as caches, buffers or RAM as well as nonvolatile memories such as removable data media, hard drives, etc.
The functions or steps described above may in this case be present in the form of at least one instruction set in/on a computer-readable memory. The functions or steps are in this case not constrained to a particular instruction set or to a particular form of instruction sets or to a particular storage medium or to a particular processor or to particular execution schemes, and may be performed by software, firmware, microcode, hardware, processors, integrated circuits, etc. in standalone operation or in arbitrary combination. A very wide variety of processing strategies may in this case be employed, for example serial processing by a single processor or multiprocessing or multitasking or parallel processing, etc.
The instructions may be stored in local memories, although it is possible to store the instructions on a remote system and to access the latter via a network.
In the context of embodiments of the invention, “computer-aided” may for example be understood as an implementation of the method in which, in particular, a processor performs at least one method step of the method.
The term “processor”, “central signal processing”, “control unit” or “data evaluation means”, as used here, includes processing means in the broadest sense, that is to say for example servers, universal processors, graphics processors, digital signal processors, application-specific integrated circuits (ASICs), programmable logic circuits such as FPGAs, discrete analog or digital circuits and arbitrary combinations thereof, including all other processing means known to a person skilled in the art or developed in the future. Processors may in this case consist of one or more devices or instruments or units. If a processor consists of a plurality of devices, these may be designed or configured for the parallel or sequential processing or execution of instructions. In the context of embodiments of the invention, a “storage unit” may for example be understood as a memory in the form of a working memory (random-access memory, RAM) or a hard drive.
Although the present invention has been disclosed in the form of embodiments and variations thereon, it will be understood that numerous additional modifications and variations could be made thereto without departing from the scope of the invention.
For the sake of clarity, it is to be understood that the use of “a” or “an” throughout this application does not exclude a plurality, and “comprising” does not exclude other steps or elements.
This application claims priority to PCT Application No. PCT/EP2020/080981, having a filing date of Nov. 4, 2020, the entire contents of which are hereby incorporated by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2020/080981 | 11/4/2020 | WO |