METHOD FOR DETERMINING SET-UP FAMILIES FOR A PICK-AND-PLACE LINE FOR POPULATING CIRCUIT BOARDS WITH ELECTRONIC COMPONENTS
20220147685 · 2022-05-12
Inventors
Cpc classification
Y02P90/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y02P90/30
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G06F30/398
PHYSICS
H05K13/085
ELECTRICITY
G06Q10/04
PHYSICS
International classification
G06F30/398
PHYSICS
Abstract
Provided is a method for determining set-up families for a pick-and-place line for populating circuit boards with electronic components one or more component types, the method including the following steps: detecting a predetermined or predeterminable number of set-up families; wherein a set-up family is defined as a quantity of circuit boards that can be populated on a pick-and-place line without changing the quantity of component types kept ready for population on the pick-and-place line; wherein an assignment of circuit boards to be distributed to the detected number of set-up families is optimized by integer linear programming in such a way that the sum of the numbers of component types per set-up family is minimized; and populating the circuit boards in the set-up family assigned to them.
Claims
1. A method for determining set-up families for a pick-and-place line for populating circuit boards with electronic components of one or more component types, wherein the method comprises: detecting a predetermined or predeterminable number of set-up families, wherein a set-up family is defined as a quantity of circuit boards that can be populated on a pick-and-place line without changing the quantity of component types that are kept ready for population on the pick-and-place line; wherein an assignment of circuit boards to be distributed to the detected number of set-up families is optimized by integer linear programming in such a way that the sum of the numbers of component types per set-up family is minimized, and populating the circuit boards in the set-up family assigned to them.
2. The method as claimed in claim 1, wherein the detected number of set-up families represents a minimum number of set-up families.
3. The method as claimed in claim 1, wherein a maximum threshold value in the form of a maximum degree of filling is predetermined for the quantity of component types that are kept ready on the pick-and-place line for the population.
4. The method as claimed in claim 1, wherein the assignment of circuit boards to be distributed to the detected number of set-up families also takes place in such a way that the circuit boards of a first sub-quantity of the circuit boards to be distributed are assigned to the same set-up family.
5. The method as claimed in claim 4, wherein the circuit boards to be distributed to the detected number of set-up families are assigned in such a way that the circuit boards of a second sub-quantity of the circuit boards to be distributed are assigned in each case to a different set-up family.
6. A control device for determining set-up families for a pick-and-place line for populating circuit boards with electronic components of one or more component types, comprising: means for detecting or a detector for a predetermined or predeterminable number of set-up families, wherein a set-up family is defined as a quantity of circuit boards that can be populated on a pick-and-place line without changing the quantity of component types that are kept ready for population on the pick-and-place line; wherein means for assigning or an assignor for circuit boards to be distributed to the recorded number of set-up families which are configured to optimize this assignment by integer linear programming in such a way that the sum of the number of component types per set-up family is minimized, and means for populating or a populator of the circuit boards in the set-up family assigned to them.
7. 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 with program code means or program code for carrying out the method as claimed in claim 1 when it runs on a control device or is stored on a computer-readable medium.
Description
BRIEF DESCRIPTION
[0027] Some of the embodiments will be described in detail, with references to the following Figures, wherein like designations denote like members, wherein:
[0028]
[0029]
DETAILED DESCRIPTION
[0030] One possible optimization method for optimizing the allocation of the circuit boards to be distributed is linear optimization. It is concerned with optimizing linear objective functions over a quantity constrained by linear equations and inequalities. It forms the basis of the solution method for (mixed) integer linear optimization. A solver is a collective name for special mathematical computer programs that can solve mathematical problems numerically. In connection with MILP (mixed integer linear programming), standard solvers such as e.g., CPLEX, Scip, Gurobi, Xpress can be used for IP programs (integer optimization models).
[0031]
[0032] Since such an exchange is usually associated with a production shutdown, the aim is to minimize the number of tables 140, 145 to be exchanged. If a table is not exchanged during a retooling process, it is referred to as a constant table 140, otherwise as a variable table 145. Otherwise, there are no functional differences between a constant table 140 and a variable table 145.
[0033] The circuit board 120 is to be populated with a number of different components 155. In order to minimize frequent exchanging of variable tables 145 and ideally to maximize a number of constant tables 140, the control device 115 is configured to optimize the assignment of a circuit board 120 to one of the pick-and-place lines 110. Specific properties of each pick-and-place line 110 or each automatic pick-and-place machine 130 must normally be taken into account in the same way as the properties of the circuit boards 120 or the components 155 to be populated on them.
[0034]
[0035] A set-up family comprises those circuit boards 120 that are assigned to be populated on a pick-and-place line 100. In the example shown in
[0036] The third circuit board 205 alone forms a second set-up family 255. A second set-up 260 assigned to the second set-up family 255 comprises one component type.
[0037] The sum of the component types in the two set-ups is minimal.
[0038] The method according to embodiments of the invention uses the degrees of freedom in the individual distribution of the circuit boards to the one recorded predetermined/predeterminable or previously calculated or defined number of set-up families. An objective function is calculated using integer linear programming. The sum of the numbers of component types per set-up family is minimized with this objective function. If the example in
[0039] Additional restrictions can be taken into account with the method according to embodiments of the invention: [0040] Component-table restrictions apply on the pick-and-place line, i.e., components must not be set up on all tables, but only on a sub-quantity of tables 140, 145. [0041] The maximum degree of filling of a feed device can be maintained. [0042] Circuit boards of a first sub-quantity of the circuit boards to be assigned must be distributed into the same cluster (e.g., the upper and lower side of a circuit board). [0043] Circuit boards of a second sub-quantity of the circuit boards must not be assigned to the same cluster, but must be assigned to a different cluster.
[0044] Mathematical Background
[0045] By using exact mathematical methods, significantly better solutions can be achieved than with heuristics previously used in practice.
[0046] In the MILP formulation described below, the following terms apply:
[0047] Indices
TABLE-US-00001 R Quantity of circuit boards 120 C Quantity of component types 155 F Quantity of set-up families 250, 255 with predetermined number R.sub.c Quantity of circuit boards with component type c
[0048] A method is known from EP 2 829 166 B1 for forming set-up families on pick-and-place lines. A method is described herein with which, for a given pick-and-place line and quantity of circuit boards, a quantity of set-up families with a minimum number can be defined and thus predetermined for the above F. However, other methods or manual input are also conceivable which can predetermine the minimum number. Any other number can also be predetermined.
[0049] Parameters
TABLE-US-00002 CapUsage.sub.c Trace usage of component c Cap.sub.f Number of available traces in the set-up of set-up family f
[0050] Binary Variables
TABLE-US-00003 x.sub.r.f Assignment of circuit board r to set-up family f y.sub.c, f Use of a component c in set-up family f
[0051] IP Formulation
Minimize Σ.sub.f∈FΣ.sub.c∈Cy.sub.c,f
[0052] Secondary Conditions:
[0053] (1) Each circuit board type must be assigned to precisely one set-up family:
Σ.sub.f∈Fx.sub.r,f=1 r∈R
[0054] (2) If a circuit board is assigned to one set-up family, all component types of this circuit board must also be included in the set-up of this set-up family:
x.sub.r,f≤y.sub.c,f c∈C,f∈F,r∈R.sub.c
[0055] (3) All component types of the circuit boards of a set-up family must fit into a set-up with their trace usage:
Σ.sub.c∈C CapUsage.sub.cy.sub.c,f≤Cap.sub.f f∈F
[0056] (4) Variable Restrictions:
y.sub.c,f∈{0,1}c∈C,f∈F
x.sub.r,f={0,1}r∈R,f∈F
[0057] Although embodiments of the invention have been illustrated and described in more detail by the example embodiment, the invention is not restricted by the examples disclosed and other variations can be derived therefrom by the person skilled in the art without departing the scope of embodiments of the invention.
[0058] The processes or method sequences described above can be implemented using instructions that are available on computer-readable storage media or in volatile computer memories (hereinafter referred to collectively as computer-readable memories). Computer-readable memories are, for example, volatile memories such as caches, buffers or RAM as well as non-volatile memories such as removable data carriers, hard disks, etc.
[0059] The functions or steps described above can be present in the form of at least one set of instructions in/on a computer-readable memory. The functions or steps are not tied to a specific instruction set or to a specific form of instruction set or to a specific storage medium or to a specific processor or to specific execution schemes and can be implemented through software, firmware, microcode, hardware, processors, integrated circuits, etc., in standalone operation or in any combination. A wide variety of processing strategies can be used, for example serial processing by a single processor or multiprocessing or multitasking or parallel processing, etc.
[0060] The instructions can be stored in local memories, but it is also possible to store the instructions on a remote system and access them via a network.
[0061] In connection with embodiments of the invention, “computer-aided” can mean, for example, an implementation of the method in which, in particular, a processor executes at least one method step of the method. A control device described above can have such a processor.
[0062] The term “processor”, “central signal processing”, “control unit” or “data evaluation means or data evaluator”, as used here, includes processing means or a processor in the broadest sense, i.e., 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 any combinations thereof, including any other processing means or processor known to the person skilled in the art or developed in the future. Processors can consist of one or more apparatuses or devices or units. If a processor consists of a plurality of apparatuses, these can be designed or configured for parallel or sequential processing or execution of instructions. In connection with embodiments of the invention, a “memory unit” can be understood to mean, for example, a memory in the form of a random access memory (RAM) or a hard disk.
[0063] Although the present invention has been disclosed in the form of preferred 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.
[0064] 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.