DE102018133183B4 - Process for controlling an assembly process of automatic placement machines, electronic control of automatic placement machines, automatic placement machine and system for controlling a production line in the circuit board production - Google Patents

Process for controlling an assembly process of automatic placement machines, electronic control of automatic placement machines, automatic placement machine and system for controlling a production line in the circuit board production Download PDF

Info

Publication number
DE102018133183B4
DE102018133183B4 DE102018133183.5A DE102018133183A DE102018133183B4 DE 102018133183 B4 DE102018133183 B4 DE 102018133183B4 DE 102018133183 A DE102018133183 A DE 102018133183A DE 102018133183 B4 DE102018133183 B4 DE 102018133183B4
Authority
DE
Germany
Prior art keywords
placement
machine
order
machines
assembly
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.)
Active
Application number
DE102018133183.5A
Other languages
German (de)
Other versions
DE102018133183A1 (en
Inventor
Christian König
To Quyen Hoang
Philipp Wittmüß
Francisco Umbria
Philipp Mittendorfer
Michael Brachmann
Florian Antosch
Ferdinand Michalke
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.)
ASMPT GmbH and Co KG
Original Assignee
ASM Assembly Systems GmbH and Co KG
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 ASM Assembly Systems GmbH and Co KG filed Critical ASM Assembly Systems GmbH and Co KG
Priority to DE102018133183.5A priority Critical patent/DE102018133183B4/en
Priority to CN201911325259.2A priority patent/CN111356353B/en
Publication of DE102018133183A1 publication Critical patent/DE102018133183A1/en
Application granted granted Critical
Publication of DE102018133183B4 publication Critical patent/DE102018133183B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • H05K13/08Monitoring manufacture of assemblages
    • H05K13/085Production planning, e.g. of allocation of products to machines, of mounting sequences at machine or facility level
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23PMETAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
    • B23P19/00Machines for simply fitting together or separating metal parts or objects, or metal and non-metal parts, whether or not involving some deformation; Tools or devices therefor so far as not provided for in other classes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • H05K13/08Monitoring manufacture of assemblages
    • H05K13/0882Control systems for mounting machines or assembly lines, e.g. centralized control, remote links, programming of apparatus and processes as such
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35216Program, generate nc program, code from cad data
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Verfahren zur Steuerung eines Bestückprozesses eines Bestückautomaten (BA) in einer Fertigungslinie (FL) mit mehreren Bestückautomaten (BA1, BA2,... Ban) zur Bestückung von Leiterplatten (LP), wobei jeweils ein Bestückautomat (BA) jeweils eine Teilaufgabe eines Bestückungsplans ausführt, mit folgenden Verfahrensschritten:- Einlesen (S1) eines individuell für den jeweiligen Bestückautomaten (BA) erzeugten Bestückauftrags (ba), der vorgibt, welche Position auf der Leiterplatte (LP) mit welchem Bauteiltyp zu bestücken ist, wobei der Bestückauftrag flexibilisiert ist, indem zusätzlich zu jeder Position einen Anpassungsparameter bereitgestellt ist, der einen berechneten SHOULD, CAN oder MUST-Datensatz enthält, um jeweils festzulegen, welche Bestückposition von dem Bestückautomaten (BA) ausgeführt werden sollte, kann oder muss;- Erfassen (S2) eines Bearbeitungszustandes (bz) für die zu bestückende Leiterplatte (LP);- Ausführen (S3) eines Adaptionsalgorithmus zur flexiblen Adaption des eingelesenen Bestückauftrags (ba) auf Basis der Anpassungsparameter und des erfassten Bearbeitungszustands (bz) zum Berechnen eines angepassten Bestückauftrags (ba'), der festlegt, welche Bestückpositionen abweichend von dem eingelesenen Bestückauftrag (ba) bestückt und welche Bestückpositionen abweichend von dem eingelesenen Bestückauftrag (ba) nicht bestückt werden;- Ansteuern (S5) des Bestückautomaten (BA) mit dem angepassten Bestückauftrag (ba');- Erfassen (S6) eines Bearbeitungszustandes (bz) der Leiterplatte (LP) nach Ausführung des angepassten Bestückauftrags (ba').Method for controlling an assembly process of an automatic placement machine (BA) in a production line (FL) with several automatic placement machines (BA1, BA2, ... Ban) for the assembly of printed circuit boards (LP), whereby an automatic placement machine (BA) carries out a partial task of an assembly plan , with the following procedural steps: - reading in (S1) a placement order (ba) individually generated for the respective placement machine (BA), which specifies which position on the circuit board (LP) is to be equipped with which component type, the placement order being made more flexible by In addition to each position, an adjustment parameter is provided, which contains a calculated SHOULD, CAN or MUST data set, in order to determine which placement position should or can be carried out by the placement machine (BA); - Detection (S2) of a processing state (or ) for the printed circuit board (LP); - Execution (S3) of an adaptation algorithm for flexible adaptation of the inserted placement order (ba) based on the adjustment parameters and the recorded processing status (bz) for calculating an adapted placement order (ba '), which determines which placement positions differ from the reading placement order (ba) and which placement positions deviate from the read placement order (ba ) cannot be assembled; - control (S5) of the automatic placement machine (BA) with the adapted placement order (ba '); - detection (S6) of a processing state (bz) of the printed circuit board (LP) after execution of the adapted placement order (ba').

Description

Die vorliegende Erfindung liegt auf dem Gebiet der Bestückung von Leiterplatten mit elektronischen Bauelementen mittels mehrerer Bestückautomaten, die in einer Fertigungslinie angeordnet sind. Die Erfindung bezieht sich insbesondere auf eine - insbesondere software-basierte - Steuerung der Bestückautomaten.The present invention is in the field of assembling printed circuit boards with electronic components by means of several automatic placement machines which are arranged in a production line. The invention relates in particular to a — in particular software-based — control of the automatic placement machines.

Stand der TechnikState of the art

In der Bestücktechnik, insbesondere in der so genannten Surface-mounted Technology (SMT), werden elektronische Bauelemente von sogenannten Bestückautomaten auf einer Oberfläche einer Leiterplatte angebracht. Die zu bestückenden Bauelemente werden mit Hilfe von Zuführeinrichtungen für einen Bestückvorgang an einer Abholposition bereitgestellt. Für das Positionieren der elektronischen Bauelemente werden in den Bestückautomaten durch ein Positioniersystem verfahrbare Bestückköpfe eingesetzt.In assembly technology, in particular in so-called surface-mounted technology (SMT), electronic components from so-called assembly machines are attached to a surface of a printed circuit board. The components to be assembled are provided with the aid of feed devices for an assembly process at a pick-up position. For the positioning of the electronic components, placement heads that can be moved by a positioning system are used in the placement machines.

In der Regel sind mehrere Bestückautomaten in einer Fertigungslinie angeordnet, wobei eine Transportvorrichtung die zu bestückenden Leiterplatten von Bestückautomat zu Bestückautomat befördert, wobei in jeweils einem Zeittakt alle Bestückautomaten im Parallelbetrieb unterschiedlichen Leiterplatten bestücken.As a rule, several placement machines are arranged in a production line, with a transport device conveying the circuit boards to be assembled from placement machine to placement machine, with each placement machine assembling different circuit boards in parallel in one time cycle.

Zur gesamten Bestückung der Leiterplatte muss nun festgelegt sein, welche Bauelemente von welchen Bestückautomaten zu welchem Zeitpunkt positioniert werden sollen. Dies erfolgt anhand eines digitalen Bestückungsplans, der z.B. mittels eines Computerprogramms erstellt werden kann. Ein derartiger Bestückplan wird vor dem Bestücken für jeden zu bestückenden Leiterplattentyp erstellt, wobei sich die Leiterplattentypen unter anderem durch das Design der zu bestückenden Schaltung und durch eine vorgegebene Leiterbahnstruktur unterscheiden. Der Bestückungsplan wird vorzugsweise so erzeugt, dass die gesamten Verarbeitungszeit zur Fertigung der Leiterplatte möglichst minimiert ist. Der Bestückungsplan kann deshalb einer Optimierung unterzogen werden. Dazu kann ein sogenannter Linienoptimierer eingesetzt werden, der zentral für alle Bestückautomaten der Fertigungslinie einen optimierten Bestückungsplan erzeugt.For the entire assembly of the printed circuit board, it must now be determined which components are to be positioned by which assembly machines at which time. This is done using a digital assembly plan, e.g. can be created using a computer program. Such an assembly plan is drawn up for each circuit board type to be assembled, the circuit board types differing, inter alia, in the design of the circuit to be assembled and by a predetermined conductor track structure. The assembly plan is preferably generated in such a way that the total processing time for manufacturing the printed circuit board is minimized as far as possible. The assembly plan can therefore be subjected to optimization. A so-called line optimizer can be used for this, which centrally generates an optimized assembly plan for all placement machines in the production line.

Grundsätzlich hat bei der Produktion von Leiterplatten, insbesondere bei der SMT-Fertigung, die effiziente Abwicklung des Bestückvorganges bei einem hohen Anspruch an die Qualität einen wichtigen Stellenwert. Ist z.B. das zur Bestückung erforderliche Bauteil in einem bestimmten Bestückautomaten der Linie nicht oder zu spät verfügbar, kann dieser Bestückautomat die für ihn vorgesehene Teilaufgabe des Bestückplans nicht oder nur verzögert ausführen. Dies wirkt sich nachteilig auf den gesamten Fertigungsprozess aus. Die Fertigungslinie wird entweder unterbrochen oder es kommt zu Verzögerungen. Dies wiederum weist den Nachteil auf, dass zusätzliche Kosten entstehen.Basically, the efficient processing of the assembly process with a high quality standard is of great importance in the production of printed circuit boards, especially in SMT production. Is e.g. If the component required for assembly is not available or is available too late in a particular placement machine in the line, this placement machine cannot carry out the partial task of the placement plan provided for it, or can do so only with delay. This has a negative impact on the entire manufacturing process. The production line is either interrupted or there are delays. This in turn has the disadvantage that additional costs arise.

Die Taktzeit zur Weiterschaltung des Förderbandes, um die Leiterplatten von einem Bestückautomaten zum jeweils nächsten zu befördern, wird nämlich durch das langsamste Glied in der Kette, also durch den langsamsten Automaten, festgelegt. Deshalb ist eine optimierte übergeordnete Auslegung der von den Bestückautomaten in der Fertigungslinie auszuführenden Teilaufgaben von hoher Bedeutung. Dazu ist es im Stand der Technik bekannt, einen Linienoptimierer einzusetzen, der den gesamten Bestückungsvorgang derart in einzelne Teilaufgaben zerlegt, dass er von den verfügbaren Bestückautomaten möglichst effizient abgewickelt werden kann. In dem SIPLACE Pro Programm der Anmelderin ist das Ziel des verwendeten Optimierers, dass alle Bestückautomaten der Linie eine identische Bearbeitungszeit benötigen, um ihr Bestückprogramm abzuarbeiten, sodass keine Wartezeiten in einem Teil der Maschinen auftreten. Falls keine Fehler auftreten, kann damit eine maximale Performance bzw. Gesamt-Bestückleistung der Linie erreicht werden.The cycle time for advancing the conveyor belt in order to convey the circuit boards from one placement machine to the next is determined by the slowest link in the chain, that is, by the slowest machine. Therefore, an optimized higher-level design of the subtasks to be performed by the placement machines in the production line is of great importance. For this purpose, it is known in the prior art to use a line optimizer that breaks down the entire assembly process into individual subtasks in such a way that it can be handled as efficiently as possible by the available placement machines. In the applicant's SIPLACE Pro program, the optimizer used is that all placement machines in the line require an identical processing time to process their placement program so that there are no waiting times in some of the machines. If no errors occur, a maximum performance or overall placement performance of the line can be achieved.

Treten jedoch kurzzeitige Störungen (z.B. Splicefehler, Abholrateneinbruch, Folienriss) an einzelnen Bestückautomaten bzw. Maschinen auf, so wirkt sich dies negativ auf den Board-Durchsatz aller Maschinen aus. Die ungestörten Maschinen stehen nach Abschluss ihres Bestückprogramms still, bis die Maschine mit Störung ebenfalls ihr Bestückprogramm abgeschlossen hat. Somit sinken neben der Bestückleistung der störungsbehafteten Maschine auch Auslastung und erreichte Bestückleistung der ungestörten Maschinen und die Gesamt-Bestückleistung sinkt.However, if there are brief faults (e.g. splicing errors, drop in pick-up rate, film tear) on individual placement machines or machines, this has a negative effect on the board throughput of all machines. The undisturbed machines stand still after completing their placement program until the machine with a fault has also completed their placement program. Thus, in addition to the placement performance of the malfunctioning machine, capacity utilization and the placement performance achieved by the undisturbed machines also decrease and the overall placement performance decreases.

Die Schwäche des heutigen Systems ist, dass die kurzzeitigen Störungen kumulativ wirken. Tritt nach Behebung der Störung im weiteren Verlauf der Linie eine weitere Störung auf, so addieren sich die Verzögerungen und die Gesamt-Bestückleistung der Linie sinkt weiter.The weakness of today's system is that the short-term disturbances have a cumulative effect. If, after the fault has been remedied, a further fault occurs in the further course of the line, the delays add up and the overall placement performance of the line continues to decrease.

Kurzzeitige Störungen sind nicht vorhersehbar und treten an unterschiedlichen Maschinen auf. Andere Verfahren sind hierfür zu träge.Short-term malfunctions cannot be foreseen and occur on different machines. Other procedures are too slow for this.

In der SMT-Fertigung wird weiterhin eine zunehmende Flexibilität bei der Bestückung gefordert. Zum einen sollen oft verschiedene Leiterplattentypen in beliebiger Reihenfolge auf einem Bestückautomaten einer Fertigungslinie bestückt werden. Bei einer Produktion kann es beispielsweise vorkommen, dass in den einzelnen Bestückautomaten jeweils unterschiedliche Leiterplatten zusammengruppiert werden. Grundsätzlich können in einem Bestückautomaten nur Bauteile bestückt werden, für die der jeweilige Bestückautomat auch gerüstet ist. So können z. B. in einem ersten Bestückautomaten Leiterplatten mit Bauteilen vom Typ A und vom Typ B und in einem zweiten Bestückautomaten Leiterplatten mit Bauteilen vom Typ A und vom Typ C bestückt werden. Dabei kann beispielsweise das Problem auftreten, dass einzelne Bestückpositionen entweder mehrfach oder gar nicht bestückt werden, da die einzelnen Bestückpositionen von den verschiedenen Bestückautomaten abgearbeitet werden und den anderen Bestückautomaten daher nicht bekannt sind. Um diese Problematik zu vermeiden, ist eine den einzelnen Bestückautomaten übergeordnete, zentrale Instanz wichtig, die eine Steuerung des gesamten Bestückprozesses übernimmt. Zudem kann diese zentrale Steuerinstanz auch mit der Aufgabe einer zentralen Linienoptimierung betraut werden.SMT manufacturing continues to demand increasing flexibility in assembly. On the one hand, different types of printed circuit boards are often to be assembled in any order on a placement machine in a production line. During production, for example, it can happen that different circuit boards are grouped together in the individual placement machines become. Basically, only components for which the respective automatic placement machine is equipped can be assembled in an automatic placement machine. So z. B. in a first placement machine circuit boards with components of type A and type B and in a second placement machine circuit boards with components of type A and type C. The problem may arise, for example, that individual placement positions are either loaded several times or not at all, since the individual placement positions are processed by the various placement machines and are therefore not known to the other placement machines. In order to avoid this problem, it is important to have a central instance that is higher than the individual placement machines and that controls the entire placement process. In addition, this central tax authority can also be entrusted with the task of central line optimization.

Bei einer solchen zentralen Steuerung kann allerdings nicht oder nicht angemessen auf lokale Änderungen an dem einzelnen Bestückautomaten (z.B. bei lokal auftretenden Fehlern) reagiert werden. Dies kann sich nachteilig auf den gesamten Fertigungsprozess auswirken.With such a central control, however, local changes to the individual placement machine (e.g. in the event of locally occurring errors) cannot be reacted to, or cannot be adequately. This can adversely affect the entire manufacturing process.

Druckschrift US 2014 / 0 090 244 A1 bezieht sich auf ein Einrichtungsverfahren zur Entscheidung über die an jeder Bestückungsmaschine in einem Bestückungssystem anzubringenden Bauteilzuführungsvorrichtungen.Publication US 2014/0 090 244 A1 relates to a setup process for deciding which component feeders to attach to each pick and place machine in a pick and place system.

Druckschrift DE 10 2009 043 642 A1 beschreibt ein Verfahren zum Bestücken von Leiterplatten mit elektronischen Bauelementen in einer Bestückvorrichtung, wobei die zu bestückenden Bauelemente je Leiterplattentyp von einem Bestückprogramm vorgegeben werden.Publication DE 10 2009 043 642 A1 describes a method for assembling printed circuit boards with electronic components in an assembly device, the components to be assembled for each circuit board type being specified by an assembly program.

Druckschrift WO 98/ 49 646 A2 bezieht sich auf eine Montagelinie zur Herstellung elektronischer Baugruppen wie z.B. Leiterplatten mit diskreten Komponenten.Publication WO 98/49 646 A2 refers to an assembly line for the production of electronic assemblies such as printed circuit boards with discrete components.

Der vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde, eine technische Umsetzung anzugeben, mittels der ein Bestücken von Leiterplatten in einer Fertigungslinie mit mehreren Bestückautomaten effizienter ausgeführt werden kann, ohne dabei die Flexibilität bei der Bearbeitung durch die einzelne Bestückautomaten zu beeinträchtigen.The present invention is therefore based on the object of specifying a technical implementation by means of which assembly of printed circuit boards in a production line can be carried out more efficiently with a plurality of automatic placement machines, without impairing the flexibility in processing by the individual automatic placement machines.

Die Erfinder haben erkannt, dass mit einer festen bzw. statischen Vorgabe von Bestückaufträgen nur unzureichend auf kurzzeitige Störungen im Verlauf der Bestücklinie reagiert werden kann. Eine flexiblere Anpassung des jeweiligen Bestückauftrags, die den aktuellen Bearbeitungszustand bzw. mögliche Fehler der Maschinen berücksichtigt, ist deshalb wünschenswert.The inventors have recognized that a fixed or static specification of placement orders can only react inadequately to short-term disturbances in the course of the placement line. A more flexible adjustment of the respective placement order, which takes into account the current processing status or possible machine errors, is therefore desirable.

Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst, insbesondere durch ein Verfahren, ein Computerprogramm, ein Steuermodul, ein Bestückautomat mit einem Steuermodul und durch ein System. Vorteilhafte Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen und der nachfolgenden Beschreibung beschrieben.This object is achieved by the subject matter of the independent claims, in particular by a method, a computer program, a control module, an automatic placement machine with a control module and by a system. Advantageous embodiments of the invention are described in the dependent claims and the description below.

Gemäß einem ersten Aspekt bezieht sich die Erfindung somit auf ein Verfahren zur Steuerung eines Bestückprozesses, auszuführen von Bestückautomaten in einer Fertigungslinie mit mehreren Bestückautomaten zur Bestückung von Leiterplatten. Ein Bestückautomat der Fertigungslinie führt dabei jeweils eine Teilaufgabe eines übergreifenden Bestückungsplans aus. Das Verfahren umfasst folgende Verfahrensschritte:

  • - Einlesen eines individuell für den jeweiligen Bestückautomaten erzeugten Bestückauftrags (umfasst Steuerbefehle zu Bestückung), der vorgibt, welche Position auf der Leiterplatte mit welchem Bauteiltyp zu bestücken ist, wobei der Bestückauftrag flexibilisiert ist, indem zusätzlich zu jeder Position einen Anpassungsparameter bereitgestellt ist, der einen berechneten SHOULD, CAN oder MUST-Datensatz enthält, um jeweils festzulegen, welche Bestückposition von dem Bestückautomaten ausgeführt werden sollte, kann oder muss;
  • - Prüfen, ob ein Bearbeitungszustand von einem vorhergehenden Bestückautomaten oder von einer anderen Instanz empfangen worden ist und bejahendenfalls: Erfassen eines Bearbeitungszustandes für die zu bestückende Leiterplatte;
  • - Ausführen eines Adaptionsalgorithmus zur flexiblen Adaption des eingelesenen Bestückauftrags auf Basis der Anpassungsparameter und (gegebenenfalls) des erfassten Bearbeitungszustands zum Berechnen eines angepassten Bestückauftrags, der festlegt, welche Bestückpositionen abweichend von dem eingelesenen Bestückauftrag bestückt und welche Bestückpositionen abweichend von dem eingelesenen Bestückauftrag nicht bestückt werden;
  • - Ansteuern des Bestückautomaten mit dem angepassten Bestückauftrag;
  • - Erfassen eines Bearbeitungszustandes der Leiterplatte nach Ausführung des angepassten Bestückauftrags (wobei der Bearbeitungszustand angibt, welche Position bestückt wurde und welche nicht).
According to a first aspect, the invention thus relates to a method for controlling an assembly process, to execute assembly machines in a production line with a plurality of assembly machines for assembling printed circuit boards. A placement machine in the production line carries out a partial task of a comprehensive placement plan. The process comprises the following process steps:
  • - Reading in an individually generated placement order for the respective placement machine (includes control commands for placement), which specifies which position on the circuit board is to be populated with which component type, the placement order being made more flexible by providing an adjustment parameter for each position, which provides one contains the calculated SHOULD, CAN or MUST data set in order to determine which placement position the placement machine should or can perform;
  • - Check whether a processing status has been received from a previous placement machine or from another entity and if so: Detect a processing status for the circuit board to be assembled;
  • - Execution of an adaptation algorithm for flexible adaptation of the read placement order on the basis of the adjustment parameters and (if applicable) the recorded processing status for calculating an adapted placement order, which determines which placement positions differ from the read placement order and which placement positions differ from the read placement order;
  • - Control of the placement machine with the adapted placement order;
  • - Detection of a processing state of the printed circuit board after execution of the adapted placement order (the processing state indicating which position was and which was not).

Die Erfinder hatten die Idee, die zentrale Vorgabe des Bestückplans mit den fixen Beabeitungsaufträgen für die einzelnen Bestückautomaten in der Linie zu flexibilisieren und an die lokalen Maschinenzustände (z.B. Verzögerungen) anpassen zu können.The inventors had the idea of centralizing the placement plan with the fixed ones To be able to make processing orders for the individual placement machines in the line more flexible and adapt them to the local machine conditions (e.g. delays).

Grundsätzlich werden die Leiterplatten nach jeweils einem Bestücktakt (bzw. einer Zeitscheibe, in der der Transportmechanismus eine konstante Position hat und sich nicht bewegt) auf einem Transportmechanismus von Bestückautomat zu einem in der Fertigungslinie nachfolgenden Bestückautomat befördert. Der Transport, also die Weiterschaltung, erfolgt üblicherweise nicht synchron für alle Maschinen. Die einzelnen Transportbänder sind über Lichtschranken mit den Vorgängern/Nachfolgern synchronisiert, sodass bekannt ist, wann weitertransportiert werden kann.Basically, the printed circuit boards are transported on a transport mechanism from the automatic placement machine to a subsequent automatic placement machine in the production line after a placement cycle (or a time slice in which the transport mechanism has a constant position and does not move). The transport, i.e. forwarding, is usually not carried out synchronously for all machines. The individual conveyor belts are synchronized with the predecessors / successors via light barriers so that it is known when they can be transported further.

In einer bevorzugten Ausführungsform der Erfindung werden die Schritte ,Ausführen des Adaptionsalgorithmus' - und optional der Schritt „Bereitstellen des angepassten Bestückauftrags als Ergebnis-Datensatz“ - und ,Ansteuern des Bestückautomaten mit dem angepassten Bestückauftrag‘ iterativ solange wiederholt bis eine Abbruchbedingung erfüllt ist. Erst wenn diese Abbruchbedingung erfüllt ist, wird mit dem Schritt ,Erfassen des Bearbeitungszustandes' fortgefahren. Die Abbruchbedingung kann vorkonfiguriert sein. Die Abbruchbedingung lautet vorzugsweise:

  • „Nachfolgender Bestückautomat ist noch nicht fertig“ UND („weitere CAN Positionen sind verfügbar“ ODER „es gibt noch SHOULD/MUST Positionen“).
In a preferred embodiment of the invention, the steps "executing the adaptation algorithm" - and optionally the step "providing the adapted placement order as a result data record" - and "controlling the placement machine with the adapted placement order" are repeated iteratively until an abort condition is met. Only when this abort condition is met, does the step 'capture the processing state' continue. The termination condition can be preconfigured. The termination condition is preferably:
  • "The following placement machine is not yet finished" AND ("further CAN positions are available" OR "there are still SHOULD / MUST positions").

Umgekehrt kann die Iteration solange ausgeführt werden, solange eine Wiederholungsbedingung gilt:

  • „Die anderen Bestückautomaten der Fertigungslinie sind noch nicht fertig“ UND („weitere CAN Positionen sind auf dem aktuellen Bestückautomaten verfügbar“ ODER „es gibt noch SHOULD- oder MUST Positionen“).
Conversely, the iteration can be carried out as long as a repeat condition applies:
  • "The other placement machines in the production line are not yet finished" AND ("further CAN positions are available on the current placement machines" OR "there are still SHOULD or MUST positions").

In einer bevorzugten Ausführungsform der Erfindung umfasst der angepasste Bestückauftrag einen DO MORE und/oder einen DO LESS Befehl.In a preferred embodiment of the invention, the adapted placement order comprises a DO MORE and / or a DO LESS command.

In einer bevorzugten Ausführungsform der Erfindung wird der nach der Ausführung des angepassten Bestückauftrages erfasste Bearbeitungszustand (als elektronischer Datensatz) direkt an einen in der Fertigungslinie nachfolgenden Bestückautomaten elektronisch übermittelt. Dies erfolgt über eine M2M-Kommunikation über ein bereitgestelltes Netzwerk. Hier kann insbesondere ein Whisper-Protokoll (dazu wird auf den Offenbarungsgehalt der WO 2000015017 Schrift verwiesen) und/oder über ein IPC-HERMES-9852 Protokoll eingesetzt werden. Dabei kann es vorgesehen sein, dass eine Maschine M1 eine Minderbestückung vornimmt, die aber nicht von der direkt nachfolgenden Maschine M2, sondern erst später z.B. von der vierten Maschine M4 (mehr)bestückt werden kann. Die jeweiligen Bearbeitungszustände werden dann iterativ von M1, zu M2 zu M3 bis zu M4 weitergewhispert. Dieser Datenaustausch von Bestückautomat zu Bestückautomat erfolgt vorzugsweise jeweils bei dem Weiterschieben mittels des Transportmechanismus.In a preferred embodiment of the invention, the processing state (as an electronic data record) recorded after the adapted placement order has been carried out is electronically transmitted directly to a placement machine following in the production line. This is done via M2M communication over a provided network. In particular, a Whisper protocol can be used here (the disclosure content of the WO 2000015017 References) and / or via an IPC-HERMES-9852 protocol. In this case, it can be provided that a machine M1 carries out less assembly, which, however, cannot be equipped by the directly following machine M2, but only later, for example by the fourth machine M4 (more). The respective processing states are then iteratively advanced from M1, to M2 to M3 to M4. This data exchange from placement machine to placement machine preferably takes place each time it is pushed forward by means of the transport mechanism.

In einer weiteren, bevorzugten Ausführungsform der Erfindung kann der Bearbeitungszustand zusätzlich an ein Steuermodul zur Steuerung der Fertigungslinie gesendet. Das Steuermodul kann mit einer Fertigungslinienoptimierungsfunktion ausgebildet sein. Dies hat den Vorteil, dass der aktuelle Bearbeitungszustand nicht nur lokal von Maschine zu Maschine kommuniziert wird, sondern auch zentral vorgehalten werden kann, um z.B. weitere Analyse ausführen zu können.In a further preferred embodiment of the invention, the processing state can additionally be sent to a control module for controlling the production line. The control module can be designed with a production line optimization function. This has the advantage that the current processing status is not only communicated locally from machine to machine, but can also be kept centrally, e.g. to be able to carry out further analysis.

Gemäß einer vorteilhaften Weiterbildung der Erfindung, erfasst der Adaptionsalgorithmus, ob an zumindest einem der Bestückautomaten der Fertigungslinie eine Verzögerung oder ein Fehlerzustand erfasst worden ist, um in Abhängigkeit davon bzw. darauf basierend den angepassten Bestückauftrag zu berechnen. Die Verzögerung kann lokal an der jeweiligen Maschine erfasst worden sein. Die Verzögerung kann jedoch auch an einer anderen Maschine der Linie aufgetreten sein und dazu führen, dass der Adaptionsalgorithmus den Bestückauftrag dynamisch anpasst bzw. abändert.According to an advantageous development of the invention, the adaptation algorithm detects whether a delay or an error condition has been detected on at least one of the placement machines in the production line in order to calculate the adapted placement order as a function thereof or based thereon. The delay may have been recorded locally on the respective machine. However, the delay may also have occurred on another machine in the line and may result in the adaptation algorithm dynamically adapting or changing the placement order.

Gemäß einer anderen, vorteilhaften Weiterbildung der Erfindung, umfasst der nach der Ausführung des angepassten Bestückauftrages erfasste Bearbeitungszustand einen elektronischen Datensatz (der insbesondere als OMIT oder DONE Parameter oder Flag ausgebildet sein kann). Aus dem Bearbeitungszustand kann automatisch ein Befehl zur modifizierten Ansteuerung des Automaten berechnet werden, insbesondere zur Veranlassung einer Mehrbestückung (DO MORE Befehl) oder einer Minderbestückung (DO LESS Befehl) durch den jeweiligen Bestückautomaten, der gemäß dem angepassten Bestückauftrag angesteuert worden ist. Der Bearbeitungszustand kann darüber hinaus noch weitere Daten umfassen, wie z.B. Metadaten, einen Zeitstempel etc. Der DO MORE Befehl wird ausgegeben und ausgeführt, wenn der Nachfolge-Automat nicht fertig ist. Der DO LESS Befehl wird ausgegeben und ausgeführt, wenn der Nachfolge-Automat fertig ist.According to another advantageous development of the invention, the processing state recorded after the adapted placement order has been carried out comprises an electronic data record (which can be designed in particular as an OMIT or DONE parameter or flag). A command for modified control of the machine can be calculated automatically from the processing state, in particular for the initiation of an additional assembly (DO MORE command) or a lower assembly (DO LESS command) by the respective placement machine, which has been triggered according to the adapted placement order. The processing status can also include other data, such as Metadata, a timestamp etc. The DO MORE command is issued and executed when the successor machine is not finished. The DO LESS command is issued and executed when the successor machine is finished.

In einer weiteren, bevorzugten Ausführungsform der Erfindung kann im Fall einer auszuführenden Mehrbestückung (DO MORE), der jeweilige Mehr-Bestückauftrag (als angepasster Bestückauftrag) auf die einzelnen Bestückautomaten der Fertigungslinie verteilt werden. Die Verteilung kann vorteilhafterweise an die Arbeitslast und an die aktuellen Ressourcen der Bestückautomaten angepasst werden. Die Verteilung kann von einer zentralen Instanz, z.B. dem zentralen Linienoptimierer oder von dem Bestückautomaten ausgeführt werden. Vorzugsweise erfolgt die Verteilung autark von den einzelnen Bestückautomaten.In a further preferred embodiment of the invention, in the case of a multiple placement to be carried out (DO MORE), the respective multiple placement order (as an adapted placement order) can be distributed to the individual placement machines of the production line. The distribution can be advantageously adapted to the workload and the current resources of the placement machines. The distribution can be carried out by a central entity, for example the central line optimizer or by the placement machine. The distribution is preferably carried out independently of the individual placement machines.

Vorzugsweise definiert der SHOULD Datensatz, dass die jeweilige Position von dem jeweiligen Bestückautomaten bestückt werden sollte, wenn keine Verzögerungen oder kein Fehler auftreten und dann möglicherweise nicht bestückt wird, wenn Verzögerungen oder ein Fehler auftreten. Dabei kann vorgesehen sein, dass nicht alle Positionen, die mit einem SHOULD Datensatz belegt sind, „ausgelassen“ (also nicht bestückt) werden; ein Teil kann zum Fehlerzeitpunkt bereits bestückt sein. Die Entscheidung über die Bestückung / Nicht-Bestückung wird autonom von dem jeweiligen Bestückautomaten durch Anwendung des Adaptionsalgorithmus getroffen.The SHOULD data record preferably defines that the respective position should be populated by the respective placement machine if there are no delays or no errors and then possibly not populated if delays or an error occur. It can be provided that not all positions that are assigned a SHOULD data record are “omitted” (ie not populated); a part can already be fitted at the time of the error. The decision about the placement / non-placement is made autonomously by the respective placement machine by using the adaptation algorithm.

Vorzugsweise definiert der CAN Datensatz, dass die jeweilige Position von dem jeweiligen Bestückautomaten bestückt werden kann, wenn eine Verzögerung oder ein Fehler auftritt. Die Verzögerung oder der Fehler (bzw. der Grund hierfür) kann bei CAN-belegten Positionen nur eine Verzögerung an einer anderen Linie sein. Ist die Maschine selbst gestört, dann wird sie eher weniger bestücken (DO LESS) und nicht mehr.The CAN data record preferably defines that the respective position can be populated by the respective placement machine if a delay or an error occurs. The delay or the error (or the reason for this) can only be a delay on a different line for positions occupied by CAN. If the machine itself is faulty, then it will be loaded less (DO LESS) and not more.

Vorzugsweise definiert der MUST Datensatz, dass die jeweilige Position von dem jeweiligen Bestückautomaten bestückt werden muss. Dies ist insbesondere dann der Fall, wenn es der letzte Bestückautomat in der Linie mit der jeweiligen Funktionalität ist.The MUST data record preferably defines that the respective position must be populated by the respective placement machine. This is particularly the case if it is the last placement machine in the line with the respective functionality.

In einer weiteren, bevorzugten Ausführungsform der Erfindung kann ein Effizienzsteigerungswert für die Ausführung des Bestückungsplans berechnet werden, der eine Zeiteinsparung des Verfahrens bei Anwendung des Adaptionsalgorithmus' im Vergleich zu einem Verfahren ohne dessen Anwendung repräsentiert. Damit kann der Performancegewinn zahlen-basiert repräsentiert werden.In a further preferred embodiment of the invention, an efficiency increase value for the execution of the assembly plan can be calculated, which represents a time saving of the method when using the adaptation algorithm compared to a method without its application. The performance gain can thus be represented based on numbers.

In einer weiteren, bevorzugten Ausführungsform der Erfindung kann ein Vorhersagedatensatz berechnet werden, der aus einer Analyse von bereits ausgeführten Bestückungsplänen unter Berücksichtigung von den angewendeten Adaptionsalgorithmen eine Vorhersage zur verbesserten Aufrüstung des Bestückautomaten bereitstellt.In a further preferred embodiment of the invention, a prediction data record can be calculated, which provides a prediction for an improved upgrade of the placement machine from an analysis of placement plans that have already been carried out, taking into account the adaptation algorithms used.

In einer weiteren, bevorzugten Ausführungsform der Erfindung kann der Bestückautomat im Verzögerungs- oder Fehlerfall einen Schätzwert für die durch den Fehler verursachte Verzögerung für die Bestückung ermitteln. Die Anwendung des Adaptionsalgorithmus' kann z.B. nur dann aktiviert werden, falls der ermittelte Schätzwert einen vorkonfigurierbaren Schwellenwert überschreitet. Damit können die lokalen Ressourcen des Bestückautomaten geschont werden. In einer vorteilhaften Weiterbildung der Erfindung kann es vorgesehen sein, dass der Schätzwert auch an den zentralen Linienoptimierer übermittelt wird, z.B. zum Zwecke der Analyse.In a further, preferred embodiment of the invention, the automatic placement machine can determine an estimated value for the delay caused by the error for the placement in the event of a delay or an error. The application of the adaptation algorithm can e.g. can only be activated if the estimated value exceeds a preconfigurable threshold. In this way, the local resources of the placement machine can be saved. In an advantageous development of the invention, it can be provided that the estimated value is also transmitted to the central line optimizer, e.g. for the purpose of analysis.

In einem weiteren Aspekt bezieht sich die Erfindung auf ein Computerprogramm mit Programmcode oder Programmmitteln, wobei das Computerprogramm auf einem computerlesbaren Datenträger gespeichert sein kann, wobei der Programmcode oder die Programmmittel einen Computer veranlassen, ein Verfahren - wie vorstehend beschrieben - auszuführen, wenn das Computerprogramm auf einem Computer oder einer Computer-basierten Verarbeitungseinheit ausgeführt wird.In a further aspect, the invention relates to a computer program with program code or program means, wherein the computer program can be stored on a computer-readable data carrier, wherein the program code or the program means cause a computer to carry out a method - as described above - when the computer program runs a computer or a computer-based processing unit is executed.

In einem weiteren Aspekt bezieht sich die Erfindung auf ein Steuermodul für einen Bestückautomaten, der zusammen mit anderen Bestückautomaten zur Bestückung von Leiterplatten in einer Fertigungslinie ausgebildet ist. Das Steuermodul ist ausgebildet, den Bestückautomaten mit einem Verfahren - wie vorstehend beschrieben - zu steuern.In a further aspect, the invention relates to a control module for an automatic placement machine which, together with other automatic placement machines, is designed for the assembly of printed circuit boards in a production line. The control module is designed to control the placement machine using a method as described above.

In einer bevorzugten Ausführungsform der Erfindung kann das Steuermodul mit einer Schnittstelle zu weiteren Steuermodulen von anderen Bestückautomaten ausgebildet sein. Dabei kann es sich insbesondere um eine lokale Netzwerkschnittstelle handeln, z.B. um Ethernet oder SMEMA.In a preferred embodiment of the invention, the control module can be designed with an interface to other control modules from other placement machines. In particular, this can be a local network interface, e.g. around Ethernet or SMEMA.

In einem weiteren Aspekt bezieht sich die Erfindung auf einen Bestückautomat mit einem (elektronischen) Steuermodul, wie vorstehend beschrieben.In a further aspect, the invention relates to an automatic placement machine with an (electronic) control module, as described above.

In einem weiteren Aspekt bezieht sich die Erfindung auf ein System zur Steuerung einer Fertigungslinie zur Fertigung von Leiterplatten, mit:

  • - mehreren Bestückautomaten zur Bestückung der Leiterplatten, wobei jeweils ein Bestückautomat jeweils eine Teilaufgabe eines Bestückungsplans ausführt und wobei jeweils ein Bestückautomat ein elektronisches Steuermodul aufweist;
  • - einem Linienoptimierer, der dazu bestimmt ist, den Bestückungsplan in Teilaufgaben zur Zuweisung auf die einzelnen Bestückautomaten der Fertigungslinie zu zergliedern und der weiterhin dazu bestimmt ist, jeweils einen individuell für den jeweiligen Bestückautomaten erzeugten flexiblen Bestückauftrags zu berechnen, der vorgibt, welche Position auf der Leiterplatte mit welchem Bauteiltyp (und vorzugsweise gibt der Linienoptimierer auch vor, wann und in welcher Reihenfolge bestückt werden soll) zu bestücken ist, wobei der Bestückauftrag flexibilisiert ist, indem zusätzlich zu jeder Position einen Anpassungsparameter bestimmt wird, der einen berechneten SHOULD, CAN oder MUST-Datensatz enthält, um jeweils festzulegen, welche Bestückposition von dem Bestückautomaten ausgeführt werden soll, kann oder muss;
  • - Einer Datenverbindung zwischen den einzelnen Bestückautomaten und einer Datenverbindung zwischen den einzelnen Bestückautomaten und dem Linienoptimierer
In a further aspect, the invention relates to a system for controlling a production line for the production of printed circuit boards, with:
  • a plurality of automatic placement machines for assembling the printed circuit boards, an automatic placement machine in each case carrying out a subtask of an assembly plan, and an automatic placement machine each having an electronic control module;
  • - A line optimizer, which is designed to break down the assembly plan into sub-tasks for assignment to the individual placement machines of the production line and which is also intended to calculate a flexible placement order individually generated for the respective placement machine, which specifies which position on the PCB with which component type (and preferably gives the Line optimizer also before, when and in which order is to be assembled), whereby the placement order is made more flexible by additionally determining an adjustment parameter for each position, which contains a calculated SHOULD, CAN or MUST data record, in order to determine which one Placement position from the placement machine should, can or must be performed;
  • - A data connection between the individual placement machines and a data connection between the individual placement machines and the line optimizer

Bei bisherigen Bestückprozessen nach dem Stand der Technik wurde von einem zentralen Linienoptimierer ein Bestückungsplan erstellt und in „Aufgabepakete“ zerlegt und in Form von unveränderlichen, statischen Bestückaufträgen dediziert an den jeweiligen Bestückautomat zur Ausführung verteilt. Eine nachträgliche Änderung des Bestückauftrags war nicht mehr möglich. Tritt nun eine Störung an einem Automaten auf, so konnte darauf nicht flexibel genug reagiert werden. Die Störung hatte in der Regel Einfluss auf die anderen Automaten in der Linie, die z.B. ihre Arbeit erst fortsetzen konnten, sobald die Störung behoben worden war. Bis dahin war die Linie unterbrochen. Ein lokales und dynamisches und an den Zustand der Bestückungslinie angepasstes Ändern der zentral erstellten und lokal auszuführenden Bestückaufträge war nicht möglich. Zudem konnten die einzelnen Automaten im Stand der Technik die Information darüber, in welchem Bearbeitungszustand sich die anderen Automaten der Linie befinden - wenn er überhaupt verfügbar war -, nicht verarbeiten. Es war somit nicht möglich, dass ein Bestückautomat auf diese Information entsprechend reagiert hat. Dieser Nachteil wird gemäß einem Aspekt der hier vorgeschlagenen Lösung aufgelöst, indem ein Bearbeitungszustand nun direkt und unmittelbar von einem Automat zum jeweils folgenden Automat kommuniziert wird, um eine lokale Bestück-Entscheidung zu ermöglichen und entsprechende Maschinensteuersignale als Reaktion darauf zu erzeugen (mittels des angepassten Bestückauftrags).In previous placement processes according to the state of the art, a placement plan was drawn up by a central line optimizer and broken down into “task packages” and dedicated to the respective placement machine for execution in the form of unchangeable, static placement orders. Subsequent changes to the placement order were no longer possible. If a machine malfunctions, it cannot be reacted to flexibly enough. The fault usually affected the other machines in the line, which e.g. could not continue to work until the problem was resolved. Until then the line was broken. It was not possible to change the centrally created and locally executed placement orders locally and dynamically and to adapt them to the condition of the placement line. In addition, the individual machines in the prior art could not process the information about the processing status of the other machines in the line, if it was available at all. It was therefore not possible for an automatic placement machine to react accordingly to this information. This disadvantage is resolved according to one aspect of the solution proposed here, in that a processing state is now communicated directly and immediately from one machine to the next machine in order to enable a local placement decision and to generate corresponding machine control signals in response thereto (by means of the adapted placement order ).

Damit bietet die Erfindung den wichtigen Vorteil, dass der Bestückungsplan flexibler an die aktuelle Betriebssituation angepasst werden kann und insbesondere eine bessere Linienauslastung bei kurzzeitigen Fehlern erreicht werden kann. Die Anpassung des ursprünglichen (originalen und zentral erstellten) Bestückauftrags kann lokal auf dem Bestückautomaten ausgeführt werden. Die Anpassung erfolgt somit lokal und kann mittels des Adaptionsalgorithmus insbesondere zur Laufzeit ausgeführt werden. Damit kann die Linie sehr agil und schnell auf kurzfristige Änderungen reagieren. Die Produktionsdauer kann verkürzt und Leerlaufzeiten von einzelnen Bestückautomaten, die auf gestörte Automaten „warten“ müssen, können vermieden werden. Dadurch können Kosten eingespart werden. Des Weiteren stehen mehr Daten zur Verfügung, die zur Analyse und zur Verbesserung des Produktionsvorganges genutzt werden können. So wird erfindungsgemäß an jedem Bestückautomaten ein Bearbeitungszustand nach jedem Bestücktakt bzw. nach Ausführung des angepassten Bestückauftrags erfasst. Dieser Bearbeitungszustand gibt Aufschluss über die Qualität und Fehlerfreiheit der bisherigen Bestückung. Die Übermittlung des Bearbeitungszustandes bietet die technische Grundlage dafür, dass automatisch Maßnahmen eingeleitet werden können, um eventuelle Verzögerungen oder Fehler (z.B. durch Nicht-Bestückung) zu kompensieren. Der Bearbeitungszustand kann an den in der Linie unmittelbar nachfolgenden Bestückautomaten und/oder an den zentralen Linienoptimierer und/oder an z.B. über ein Netzwerk angeschlossene, weitere computerbasierte Verarbeitungseinheiten zur weiteren Analyse gesendet werden.The invention thus offers the important advantage that the assembly plan can be adapted more flexibly to the current operating situation and, in particular, better line utilization can be achieved in the event of brief errors. The adaptation of the original (original and centrally created) placement order can be carried out locally on the placement machine. The adaptation thus takes place locally and can be carried out by means of the adaptation algorithm, in particular at runtime. This enables the line to react very quickly and quickly to short-term changes. The production time can be shortened and idle times of individual placement machines that have to "wait" for faulty machines can be avoided. This can save costs. There is also more data available that can be used to analyze and improve the production process. Thus, according to the invention, a processing state is recorded on every placement machine after each placement cycle or after execution of the adapted placement order. This processing status provides information about the quality and correctness of the previous assembly. The transmission of the processing status provides the technical basis for the automatic initiation of measures to compensate for any delays or errors (e.g. due to non-assembly). The processing status can be on the placement machines immediately following in the line and / or on the central line optimizer and / or on e.g. further computer-based processing units connected via a network are sent for further analysis.

Im Folgenden werden die Begrifflichkeiten dieser Anmeldung definiert.The terms of this application are defined below.

Der Begriff „Bestückautomat“ kann eine maschinelle Vorrichtung bezeichnen, die dazu geeignet ist, einen Bauelementträger, wie z.B. eine elektronische Leiterplatte, mit Bauelementen zu bestücken. Wie oben bereits beschrieben, kann ein Bestückautomat (im Folgenden auch kurz Automat oder Maschine genannt) einen Bestückkopf aufweisen, der die Bauelemente von einer Bauelement-Zuführeinrichtung abholt, sie in einen Bestückbereich des Bestückautomaten transportiert und sie dort auf dem Bauelementträger aufsetzt. Hierbei kann der Bestückautomat ein Chassis aufweisen, welcher einen Trägerarm aufweist, an welchem der Bestückkopf verschiebbar angeordnet werden kann. Der Bestückautomat oder Teile davon kann/können vorzugsweise elektronisch angesteuert sein. Ein Bestückautomat umfasst vorzugsweise eine elektronische Verarbeitungseinheit, die insbesondere ein Steuermodul umfassen kann. Dabei handelt es sich um elektronische, computer-basierte Bauteile, die eine digitale Verarbeitungseinheit zur Verarbeitung von digitalen Daten umfassen, wie z.B. eine CPU, einen Mikroprozessor, einen Mikrocontroller oder einen integrierten Schaltkreis, z.B. in Form eines FPGA etc. Die Bestückautomaten sind üblicherweise Bestandteil einer Fertigungslinie und sequentiell angeordnet. „Sequentiell“ bezieht sich hierbei auf den Umstand, dass ein Förderband oder einer andere Transportvorrichtung die zu bestückende(n) Leiterplatte(n) von Automat zur Automat führt. Die jeweiligen Automaten arbeiten dabei die ihnen dediziert zugeordneten Bestückaufträge quasi parallel ab. Pro Takt bzw. Zeitscheibe wird eine Leiterplatte in einer Maschine bearbeitet. Die Leiterplatten werden von Takt zum jeweils nächsten Takt von einem Förderband oder einer anderen Transportvorrichtung weitertransportiert. Ein möglichst synchroner Weitertransport ist wünschenswert. Kam es im Stand der Technik zu einer Störung, musste alle Bestückautomaten auf die gestörte Maschine warten, was eine Performance-Einbuße bedeutet. Durch die erfindungsgemäße Adaption des Bestückauftrags kann die starre Zuordnung des Bestückauftrags pro Maschine aufgehoben und flexibilisiert werden.The term “automatic placement machine” can refer to a machine device that is suitable for equipping a component carrier, such as an electronic circuit board, with components. As already described above, an automatic placement machine (also referred to below as an automatic machine or machine) can have a placement head, which picks up the components from a component feed device, transports them into a placement area of the automatic placement machine and places them there on the component carrier. Here, the placement machine can have a chassis which has a support arm on which the placement head can be arranged displaceably. The placement machine or parts thereof can preferably be controlled electronically. An automatic placement machine preferably comprises an electronic processing unit, which in particular can comprise a control module. These are electronic, computer-based components that comprise a digital processing unit for processing digital data, such as a CPU, a microprocessor, a microcontroller or an integrated circuit, for example in the form of an FPGA, etc. The placement machines are usually a component a production line and arranged sequentially. “Sequential” here refers to the fact that a conveyor belt or other transport device guides the circuit board (s) to be assembled from machine to machine. The respective machines process the placement orders assigned to them in a quasi parallel manner. One circuit board is processed in one machine per cycle or time slice. The circuit boards are moved from one cycle to the next by a conveyor belt or transported to another transport device. Further synchronous transport is desirable. If there was a malfunction in the prior art, all of the placement machines had to wait for the malfunctioning machine, which means a loss in performance. By adapting the placement order according to the invention, the rigid assignment of the placement order per machine can be removed and made more flexible.

Der Begriff „Fertigungslinie“ kann insbesondere ein Produktionssystem bezeichnen, in dem mehrere Stationen, insbesondere Bearbeitungsstationen, innerhalb einer Prozesslinie verbunden sind. Die Prozesslinie weist hierbei eine Transportrichtung auf. Die Bearbeitungsstationen, welche beispielsweise Bestückautomaten aufweisen können, können hintereinander und entlang der Prozesslinie in Transportrichtung angeordnet sein, wobei sie mittels einer Transportvorrichtung, insbesondere einem Förderband, verbunden sein können. Die Transportrichtung entspricht hierbei der Haupterstreckungsrichtung der Fertigungslinie. Mit anderen Worten bezeichnet die Transportrichtung diejenige Richtung, in welche ein herzustellendes Produkt (z.B. eine Leiterplatte) die Fertigungslinie durchläuft. Neben Bestückautomaten kann eine Fertigungslinie beispielsweise die folgenden „Bearbeitungsstationen“ aufweisen: einen Lotpasten-Drucker, einen Ofen, einen Magazinentlader, einen Markierer, eine Lotpasten-Inspektionsvorrichtung, einen Puffer, eine CPI-Vorrichtung, eine Vorrichtung für eine automatische optische Inspektion (AOI) und/oder einen Magazinlader. Beispielsweise kann ein Bauelementträger, insbesondere eine Leiterplatte, von einem Magazinentlader in eine Fertigungslinie aufgenommen werden und dann entlang einer Transportvorrichtung, beispielsweise einem Förderband, entlang der Haupterstreckungsrichtung transportiert werden und hierbei von Bestückautomaten mit Bauelementen bestückt werden. Am Ende der Fertigungslinie kann dann eine elektronische Baugruppe, insbesondere eine bestückte Leiterplatte, von einem Magazinlader aus der Fertigungslinie entfernt werden. Es können mehrere Fertigungslinien im Wesentlichen parallel zueinander positioniert werden. Außerdem kann die Fertigungsanlage weitere Komponenten aufweisen, beispielsweise ein Materiallager, aus welchem Bauelement-Aufbewahrelemente an die Fertigungslinien befördert werden kann. Weiterhin kann die Fertigungsanlage auch Steuereinheiten aufweisen, die benötigt werden, um die Prozessschritte der Fertigungslinien zu koordinieren, wie z.B. einen Linienoptimierer.The term “production line” can in particular refer to a production system in which several stations, in particular processing stations, are connected within a process line. The process line has a transport direction. The processing stations, which can have automatic placement machines, for example, can be arranged one behind the other and along the process line in the transport direction, and they can be connected by means of a transport device, in particular a conveyor belt. The direction of transport corresponds to the main direction of extension of the production line. In other words, the transport direction denotes the direction in which a product to be manufactured (e.g. a printed circuit board) traverses the production line. In addition to automatic placement machines, a production line can, for example, have the following “processing stations”: a solder paste printer, an oven, a magazine unloader, a marker, a solder paste inspection device, a buffer, a CPI device, a device for automatic optical inspection (AOI) and / or a magazine loader. For example, a component carrier, in particular a printed circuit board, can be picked up by a magazine unloader in a production line and then transported along a transport device, for example a conveyor belt, along the main direction of extension and can be equipped with components by automatic placement machines. At the end of the production line, an electronic assembly, in particular an assembled printed circuit board, can then be removed from the production line by a magazine loader. Several production lines can be positioned essentially parallel to one another. In addition, the production system can have further components, for example a material store, from which component storage elements can be conveyed to the production lines. Furthermore, the production system can also have control units that are required to coordinate the process steps of the production lines, such as a line optimizer.

Ein Linienoptimierer kann eine elektronische Verarbeitungseinheit umfassen. Dabei handelt es sich um elektronische, computer-basierte Bauteile, die eine digitale Verarbeitungseinheit zur Verarbeitung von digitalen Daten umfassen, wie z.B. eine CPU, einen Mikroprozessor, einen Mikrocontroller oder einen integrierten Schaltkreis, z.B. in Form eines FPGA etc. Üblicherweise wird lokal oder zentral ein Speicher bereitgestellt, der mit der Verarbeitungseinheit in Datenaustausch steht. Der Linienoptimierer ist zentral zur Steuerung und Optimierung der ganzen Linie ausgebildet. Der Linienoptimierer kann vorzugsweise für alle oder ausgewählte Bestückautomaten der Linie ausgebildet sein. Der Linienoptimierer kann dazu ausgebildet sein, einen Bestückplan für einen Bauelementträger, wie z.B. für eine Leiterplatte, zu erzeugen. Der Bestückplan kann durch einen Algorithmus in eine Menge von Betückaufträgen zerlegt werden, die auf den einzelnen Bestückautomaten ausgeführt werden. Ein erster Bestückauftrag ist dabei z.B. einem ersten Bestückautomaten zugeordnet, ein zweiter Bestückauftrag ist einem zweiten Bestückautomaten zugeordnet etc.A line optimizer can include an electronic processing unit. These are electronic, computer-based components that include a digital processing unit for processing digital data, such as a CPU, a microprocessor, a microcontroller or an integrated circuit, e.g. in the form of an FPGA etc. Usually a memory is provided locally or centrally, which is in data exchange with the processing unit. The line optimizer is centrally designed to control and optimize the entire line. The line optimizer can preferably be designed for all or selected placement machines in the line. The line optimizer can be designed to implement an assembly plan for a component carrier, e.g. for a printed circuit board. Using an algorithm, the placement plan can be broken down into a number of placement orders that are executed on the individual placement machines. A first placement order is e.g. assigned to a first placement machine, a second placement order is assigned to a second placement machine etc.

Der Bestückauftrag ist ein elektronischer Datensatz und umfasst Steuerbefehle zur individuellen Bestückung der Leiterplatte durch den jeweiligen Automaten (z.B. mit der jeweiligen Funktionalität, Rüstung etc). Der Bestückauftrag kann mehrere Elemente umfassen und umfasst insbesondere Daten, die definieren, welcher Bauteiltyp an welcher Position der Leiterplatte und ggf. noch in welcher Reihenfolge zu bestücken ist. Grundsätzlich erfolgt die Bestückung seriell. Das bedeutet, dass die Leiterplatte üblicherweise mit einem Bauteil nach dem anderen bestückt wird, also z.B. erst Bauteil A, dann B, dann C. Diese Reihenfolge ist aber nicht zwingend, sondern nur das Ergebnis einer Weg-Optimierung (Travelling Salesman Algorithmus). Der Bestückauftrag umfasst weiterhin zumindest einen berechneten Anpassungsparameter. Der Anpassungsparameter umfasst seinerseits einen SHOULD, CAN oder MUST-Datensatz pro Bestückposition. Der Anpassungsparameter dient dazu, jeweils festzulegen, welche Bestückposition von dem Bestückautomaten ausgeführt werden soll (SHOULD), kann (CAN) oder muss (MUST). So kann z.B. ein Bestückauftrag eine Menge aus folgenden Datensätzen sein:

  • - Bauteiltyp1, zu bestücken an Position 1, MUST
  • - Bauteiltyp2, zu bestücken an Position 2, SHOULD
  • - Bauteiltyp2, zu bestücken an Position 3, CAN
  • - ...
The placement order is an electronic data record and includes control commands for the individual assembly of the circuit board by the respective machine (e.g. with the respective functionality, armor, etc.). The placement order can comprise several elements and in particular comprises data which define which component type is to be assembled at which position on the printed circuit board and possibly also in which order. Basically, the assembly is serial. This means that the printed circuit board is usually equipped with one component after the other, e.g. first component A, then B, then C. However, this sequence is not mandatory, but only the result of path optimization (Traveling Salesman algorithm). The placement order also includes at least one calculated adjustment parameter. The adaptation parameter in turn comprises a SHOULD, CAN or MUST data record per placement position. The adjustment parameter is used to determine which placement position should be performed by the placement machine (SHOULD), can (CAN) or must (MUST). For example, a placement order can be a quantity from the following data records:
  • - Component type 1, to be assembled at position 1, MUST
  • - Component type 2, to be assembled at position 2, SHOULD
  • - Component type 2, to be fitted at position 3, CAN
  • - ...

Der „angepasste Bestückauftrag“ unterscheidet sich von einem „Bestückauftrag“ dadurch, dass der Adaptionsalgorithmus auf den (eingelesenen) Bestückauftrag angewendet worden ist.The "adapted placement order" differs from a "placement order" in that the adaptation algorithm has been applied to the (read) placement order.

Der Adaptionsalgorithmus wertet den mitgelieferten Anpassungsparameter pro Position aus und führt auf Basis der vorhandenen Ressourcen und/oder des aktuellen Zustandes des Bestückautomaten (fehlerfrei oder gestört/fehlerhaft) eine Anpassung aus. Der Anpassungsalgorithmus wird insbesondere nach jedem Kopfzyklus ausgeführt. Ein Kopfzyklus repräsentiert z.B. ca. 12-20 Positionen, z.B. in Abhängigkeit von der Anzahl der Pipetten. Grundsätzlich holt der Bestückkopf besagte 12-20 Bauteile aus den Förderern ab, bevor er zu der bestückenden Leiterplatte gefahren wird und diese bestückt. Dieser Vorgang aus Abholen und Bestücken inklusive des Verfahrwegs wird Kopfzyklus genannt.The adaptation algorithm evaluates the supplied adjustment parameter per position and performs an adjustment based on the available resources and / or the current status of the placement machine (error-free or faulty / faulty) out. The adaptation algorithm is carried out in particular after each head cycle. A head cycle represents approx. 12-20 positions, for example depending on the number of pipettes. Basically, the placement head picks up said 12-20 components from the conveyors before it is moved to the assembly circuit board and assembles it. This process of picking up and loading, including the travel path, is called the head cycle.

Falls z.B. der Anpassungsparameter einen gewissen Freiraum bei der Bestückung signalisiert (z.B. CAN, SHOULD) und eine Verzögerung oder Störung zur Ausführung dieser Bestückung vorliegt, dann kann ein Befehl „DO LESS“ (Minderbestückung) erzeugt werden, der dem angepassten Bestückauftrag hinzugefügt wird. In diesem Fall würde die Maschine „weniger“ als eigentlich im originalen Bestückauftrag beauftragt, bestücken ohne eine Unterbrechung der Linie zu bewirken. Falls z.B. der Anpassungsparameter den Freiraum bei der Bestückung der jeweiligen Position einschränkt (z.B. MUST) und keine Störung zur Ausführung dieser Bestückung vorliegt und der Bestückauftrag aber keine Bestückung dieser Position vorgesehen hat, dann kann ein Befehl „DO MORE“ (Mehrbestückung) erzeugt werden, der dem angepassten Bestückauftrag hinzugefügt wird. In diesem Fall würde die Maschine „mehr“ als eigentlich im originalen Bestückauftrag beauftragt, bestücken. Der angepasste Bestückauftrag wird lokal auf dem jeweiligen Bestückautomaten berechnet. Der originale Bestückauftrag wird situativ und dynamisch angepasst an die aktuelle Fertigungssituation in dem Bestückautomaten und insbesondere positionsweise mit dem Befehl DO MORE oder DO LESS überschrieben, um damit den angepassten Bestückauftrag zu erzeugen, der lokale auf die vorliegende Fertigungssituation optimiert ist (z.B. Fehlerfall, Verzögerung etc.). Die Entscheidung (DO MORE oder DO LESS) erfolgt jeweils für die einzelnen Positionen. Vorzugsweise erfolgt die Entscheidung in einem Anpassungsschritt und im Idealfall für ganze Kopfzyklen auf einmal. Falls weder ein DO MORE noch ein DO LESS Befehl für mindestens eine Position erzeugt worden ist, kann der (originale) Bestückauftrag auch mit dem angepassten Bestückauftrag für die jeweilige Situation übereinstimmen.If e.g. If the adjustment parameter signals a certain amount of free space when assembling (e.g. CAN, SHOULD) and there is a delay or fault in the execution of this assembly, then a "DO LESS" command can be generated which is added to the adjusted assembly order. In this case, the machine would be “less” than actually ordered in the original placement order, without causing an interruption in the line. If e.g. If the adjustment parameter limits the free space in the placement of the respective position (e.g. MUST) and there is no fault in the execution of this placement and the placement order has not provided placement in this position, then a command "DO MORE" (additional placement) can be generated that the customized placement order is added. In this case, the machine would be "more" than actually ordered in the original placement order. The adjusted placement order is calculated locally on the respective placement machine. The original placement order is dynamically and situationally adapted to the current production situation in the placement machine and in particular overwritten with the command DO MORE or DO LESS in order to generate the adapted placement order that is locally optimized for the current production situation (e.g. error, delay, etc .). The decision (DO MORE or DO LESS) is made for the individual positions. The decision is preferably made in one adjustment step and ideally for entire head cycles at once. If neither a DO MORE nor a DO LESS command has been generated for at least one position, the (original) placement order can also match the customized placement order for the respective situation.

Für die Erzeugung eines DO MORE Befehls kann folgende Regel (beschrieben als Pseudo-Code) angewendet werden:

  • SCHLEIFE ((solange Bestückautomat fertig) UND (Nachfolger Bestückautomat nicht fertig)) DANN Ausführen weiterer Bestückung mit Kopfzyklus (=12-20 Positionen);
The following rule (described as pseudo code) can be used to generate a DO MORE command:
  • LOOP ((as long as placement machine finished) AND (successor placement machine not finished)) THEN carry out further placement with head cycle (= 12-20 positions);

Für die Erzeugung eines DO LESS Befehls kann folgende Regel (beschrieben als Pseudo-Code) angewendet werden:

  • WENN ((Bestückautomat nicht fertig) UND (Nachfolger fertig))
  • DANN Nicht-Bestücken (Auslassen) von PROZENTZAHL der verbleibenden SHOULD Bestückpositionen;
The following rule (described as pseudo code) can be used to generate a DO LESS command:
  • IF ((placement machine not finished) AND (successor finished))
  • THEN not populating (skipping) the PERCENTAGE of the remaining SHOULD placement positions;

Dabei ist PROZENTZAHL ein wählbarer Parameter, der optimiert werden sollte.PERCENTAGE is a selectable parameter that should be optimized.

Der Datensatz bzw. die Nachricht „Nachfolger (nicht) fertig“ kann aus einer Bereitschaftsmeldung des Transportmechanismus berechnet werden. Die Nachricht signalisiert, ob der in der Fertigungslinie nachfolgende Bestückautomat bereit ist. Die Bereitschaftsmeldung kann z.B. erfasst werden aus dem Zustand, dass das Ausgabeband frei ist. Dieser Zustand signalisiert, dass der Nachfolger fertig ist. Andernfalls kann geschlossen werden, dass die Maschine auf dem kritischen Pfad ist, wenn das Eingabeband belegt ist und gleichzeitig das Ausgabeband frei ist.The data record or the message "successor (not) ready" can be calculated from a readiness message from the transport mechanism. The message signals whether the placement machine downstream in the production line is ready. The readiness message can e.g. are recorded from the state that the output belt is free. This state signals that the successor is finished. Otherwise it can be concluded that the machine is on the critical path if the input tape is occupied and the output tape is free at the same time.

Der Begriff „Bearbeitungszustand“ ist ein elektronischer Datensatz und kennzeichnet bzw. repräsentiert die aktuelle Bestückung bzw. Bestückungssituation der Leiterplatte. Der Bearbeitungszustand kann z.B. repräsentieren, dass der jeweilige Bestückauftrag bereits vollständig oder noch unvollständig ausgeführt worden ist. Die Summe aller Bearbeitungszustände kennzeichnet den Bestückzustand der Leiterplatte. Ein Bearbeitungszustand kann pro Position (Bestückposition auf der Leiterplatte) erfasst werden. Aus dem Bearbeitungszustand kann ein Fehler abgeleitet werden. Der Bearbeitungszustand wird von Automat zu Automat - und insbesondere zu dem jeweils in der Linie nachfolgenden Automat - mittels einer elektronischen Datenübertragung übertragen. Die Kommunikation kann nach dem Whisper-Protokoll und/oder nach einem Protokoll vom Typ IPC Hermes 9852 erfolgen. Der Bearbeitungszustand kann auch an den zentralen Linienoptimierer oder an eine andere zentrale Instanz zur weiteren Analyse übertragen werden. Jeder lokale Bestückautomat ermittelt individuell seinen Bearbeitungszustand nach erfolgter Bestückung gemäß angepasstem Bestückauftrag bzw. nach „getaner Arbeit“. Es gibt grundsätzlich zwei Optionen, wie dieser Bearbeitungszustand ermittelt werden kann: Erstens und bevorzugt kann dieser aus dem Ergebnis des Adaptionsalgorithmus abgeleitet werden (dann würde unterstellt, dass die Bestück-Maschine auch alle Steuerbefehle aus dem angepassten Bestückauftrag immer korrekt umsetzen kann). Zweitens kann - eventuell kumulativ oder alternativ - eine sensorische Erfassung, z.B. optisch ausgeführt werden. Im letzteren Fall ist es möglich, z.B. Abweichungen zwischen IST-Bestückung und SOLL-Bestückung zu erkennen.The term “processing status” is an electronic data record and identifies or represents the current assembly or assembly situation of the circuit board. The processing status can e.g. represent that the respective placement order has already been carried out completely or incompletely. The total of all processing states characterizes the assembly status of the circuit board. A processing status can be recorded for each position (placement position on the circuit board). An error can be derived from the processing status. The processing status is transferred from machine to machine - and in particular to the machine that follows each line - by means of electronic data transmission. Communication can be based on the Whisper protocol and / or an IPC Hermes 9852 protocol. The processing status can also be transmitted to the central line optimizer or to another central entity for further analysis. Each local placement machine individually determines its processing status after the placement has been carried out in accordance with the adjusted placement order or after "done work". There are basically two options for how this processing state can be determined: First and preferably, it can be derived from the result of the adaptation algorithm (then it would be assumed that the placement machine can always correctly implement all control commands from the adapted placement order). Secondly - possibly cumulatively or alternatively - sensory detection, e.g. be carried out optically. In the latter case it is possible e.g. Detect deviations between the actual assembly and the target assembly.

Der Adaptionsalgorithmus ist ein automatisch ausgeführtes Computerprogramm, das lokal auf dem Bestückautomaten ausgeführt werden kann. Der Adaptionsalgorithmus dient zur Adaption des originalen Bestückauftrags in Hinblick auf eine mögliche Mehr- oder Minderbestückung in Abhängigkeit vom erfassten Zustand des Bestückautomaten bzw. der Fertigungslinie. Hier sollen insbesondere kurzzeitige Verzögerungen mitberücksichtigt werden. Vorteilhaft wirkt sich das Verfahren bei mehrfachen Verzögerungen und beim Hochlauf der Fertigungslinie positiv aus. Der Adaptionsalgorithmus überschreibt den originalen Bestückauftrag mit einem angepassten Bestückauftrag, der einen DO MORE oder DO LESS Befehl pro Position enthalten oder auch mit dem originalen Bestückauftrag identisch sein kann (falls z.B. kein Fehler oder keine Störung vorliegt).The adaptation algorithm is an automatically executed computer program that runs locally on the Pick and place machines can be executed. The adaptation algorithm is used to adapt the original placement order with regard to possible more or less placement depending on the detected condition of the placement machine or the production line. Short delays in particular should be taken into account here. The method has a positive effect in the event of multiple delays and when the production line starts up. The adaptation algorithm overwrites the original placement order with an adapted placement order, which can contain a DO MORE or DO LESS command per position or which can also be identical to the original placement order (if, for example, there is no error or no fault).

Vorstehend wurde die Lösung der Aufgabe anhand des Verfahrens beschrieben. Dabei erwähnte Merkmale, Vorteile oder alternative Ausführungsformen sind ebenso auch auf die anderen beanspruchten Gegenstände zu übertragen und umgekehrt. Mit anderen Worten können auch die gegenständlichen Ansprüche (die beispielsweise auf ein System oder auf ein Computerprogrammprodukt gerichtet sind) mit den Merkmalen weitergebildet sein, die in Zusammenhang mit dem Verfahren beschrieben und/oder beansprucht sind. Die entsprechenden funktionalen Merkmale des Verfahrens werden dabei durch entsprechende gegenständliche Module, insbesondere durch Hardware-Module oder Mikroprozessor-Module, des Systems bzw. des Produktes ausgebildet und umgekehrt.The solution to the problem was described above using the method. Features, advantages or alternative embodiments mentioned here are also to be transferred to the other claimed objects and vice versa. In other words, the objective claims (which are directed, for example, to a system or a computer program product) can also be developed with the features that are described and / or claimed in connection with the method. The corresponding functional features of the method are formed by corresponding objective modules, in particular hardware modules or microprocessor modules, of the system or the product and vice versa.

Eine weitere Aufgabenlösung sieht ein Computerprogramm vor, mit Computerprogrammcode zur Durchführung aller Verfahrensschritte des oben näher beschriebenen Verfahrens, wenn das Computerprogramm auf einem Computer ausgeführt wird. Dabei ist es auch möglich, dass das Computerprogramm auf einem von einem Computer lesbaren Medium gespeichert ist.A further task solution provides a computer program with computer program code for performing all method steps of the method described in more detail above when the computer program is executed on a computer. It is also possible for the computer program to be stored on a medium that can be read by a computer.

FigurenlisteFigure list

In der folgenden detaillierten Figurenbeschreibung werden nicht einschränkend zu verstehende Ausführungsbeispiele mit deren Merkmalen und weiteren Vorteilen anhand der Zeichnung besprochen. In dieser zeigen:

  • 1 eine Übersicht über mehrere Bestückautomaten, die mit einem Linienoptimierer betrieben werden;
  • 2 eine schematische Übersicht über mehrere Bestückautomaten, die mit einer Transportvorrichtung betrieben werden;
  • 3 ein Interaktionsdiagramm zum Nachrichtenaustausch zwischen Steuermodulen der Bestückautomaten und dem Linienoptimierer;
  • 4 Ablaufdiagramm eines Verfahrens gemäß einer bevorzugten Ausführungsform der Erfindung,
  • 5 eine weiteres Ablaufdiagramm eines Verfahrens gemäß einer bevorzugten Ausführungsform der Erfindung und
  • 6 zeigt eine übersichtsartige schematische Darstellung einer Fertigungslinie mit vier Bestückautomaten in mehreren Zeittakten.
In the following detailed description of the figures, exemplary embodiments to be understood in a non-restrictive manner are discussed with their features and further advantages with reference to the drawing. In this show:
  • 1 an overview of several placement machines that are operated with a line optimizer;
  • 2nd a schematic overview of several placement machines that are operated with a transport device;
  • 3rd an interaction diagram for the exchange of messages between control modules of the placement machines and the line optimizer;
  • 4th Flow chart of a method according to a preferred embodiment of the invention,
  • 5 another flowchart of a method according to a preferred embodiment of the invention and
  • 6 shows an overview-like schematic representation of a production line with four placement machines in several time cycles.

Detaillierte Beschreibung der FigurenDetailed description of the figures

Die Erfindung dient zur lokalen Adaption von zentral erzeugten Bestückaufträgen und wird im Folgenden am Beispiel der Leiterplattenfertigung beschrieben. Die Erfindung kann jedoch auch auf andere zu bestückende Bauteile übertragen werden.The invention is used for the local adaptation of centrally generated placement orders and is described below using the example of printed circuit board manufacture. However, the invention can also be applied to other components to be assembled.

Die starre Zuordnung von Bestückauftrag zu einer Bestückungsmaschine wird gelockert. Hierbei gibt es zwei Ausprägungen:

  1. 1. Mehrbestückung (DO MORE Befehl) Wenn eine Maschine A ihr Bestückprogramm (gleichbedeutend mit Bestückauftrag) abgeschlossen hat, aber die nachfolgende Maschine B ihre Bereitschaft noch nicht signalisiert hat (bspw. aufgrund einer kurzzeitigen Störung), übernimmt Maschine A einen Teil des Bestückprogramms von allen nachfolgenden Maschinen C/D/... und auch von der gestörten Maschine B, falls die in Maschine A gerüsteten Bauelemente dafür verwendet werden können. Die Information über diese Mehrbestückung wird mittels des Bearbeitungszustandes (Daten, die signalisieren, dass zusätzliche Bestückpositionen bereits besetzt sind) an nachfolgende Maschinen weitergeleitet. Dazu kann eine Netzwerkverbindung verwendet werden. Die (nachfolgenden) Maschinen B/C/D/..., die diese Bestückpositionen eigentlich bestücken sollten, lassen diese entsprechend dem angepassten Bestückauftrag aus.
  2. 2. Minderbestückung (DO LESS Befehl) Wenn eine Maschine A durch eine kurzzeitige Störung die verbleibenden Linienmaschinen aufhalten würde, lässt diese Maschine die Bestückung von einem Teil der verbleibenden Bestückpositionen aus. Der angepasste Bestückauftrag enthält dann einen DO LESS Befehl. Voraussetzung ist, dass diese Bestückpositionen im weiteren Linienverlauf bestückt werden können. Es muss insbesondere sichergestellt werden, dass die Bauelemente gerüstet sind, dass die korrekten Pipetten vorhanden sind etc. Die Bestückung dieser Bestückposition wird spätestens in der letzten Maschine Z nachgeholt, die diese durchführen kann. Die Information über die ausgelassene Bestückung wird mit dem Bearbeitungszustand weitergewhispert, so dass die fehlende Bestückung im weiteren Verlauf der Fertigungslinie (auch kurz „Linie“ genannt) ausgeführt werden kann.
The rigid assignment of placement order to a placement machine is loosened. There are two types:
  1. 1.Multiple assembly (DO MORE command) If a machine A has completed its assembly program (synonymous with assembly order) but the subsequent machine B has not yet signaled its readiness (e.g. due to a short-term fault), machine A takes over part of the assembly program from All subsequent machines C / D / ... and also from the faulty machine B, if the components equipped in machine A can be used for this. The information about this additional assembly is forwarded to subsequent machines by means of the processing status (data which signal that additional assembly positions are already occupied). A network connection can be used for this. The (subsequent) machines B / C / D / ..., which should actually populate these placement positions, leave them out according to the adjusted placement order.
  2. 2. Shortage of equipment (DO LESS command) If a machine A were to stop the remaining line machines due to a short-term fault, this machine omits the assembly from a part of the remaining assembly positions. The adjusted placement order then contains a DO LESS command. The prerequisite is that these placement positions can be populated in the further course of the line. In particular, it must be ensured that the components are equipped, that the correct pipettes are available, etc. The placement of this placement position is made up for at the latest in the last machine Z, which can carry it out. The information about the omitted assembly is with the Processing status whispers so that the missing assembly can be carried out in the further course of the production line (also called “line” for short).

Der Linienoptimierer (auch kurz „Optimierer“ genannt) gibt zentral vor, welche Bestückpositionen ausgelassen bzw. zusätzlich bestückt werden dürfen, da ihm die Rüstung der gesamten Linie bekannt ist. Weiterhin wird festgesetzt, in welcher Maschine der Linie eine bestimmte Bestückposition spätestens besetzt werden muss. Dies erfolgt durch die Anpassungsparameter, die in dem Bestückauftrag enthalten sind.The line optimizer (also called “optimizer” for short) specifies centrally which placement positions may be left out or additionally equipped, since the armament of the entire line is known to it. It is also determined in which machine of the line a particular placement position must be occupied at the latest. This is done using the adjustment parameters contained in the placement order.

Tritt eine kurzzeitige Störung auf, so wird in den einzelnen Maschinen autark und autonom über Mehr- bzw. Minderbestückung entschieden. Der Optimierer ist an dieser Entscheidung nicht beteiligt.If there is a short-term malfunction, the individual machines decide autonomously and autonomously about more or less equipment. The optimizer is not involved in this decision.

Die Maschinen melden - wie auch im bisherigen Verfahren bei stationsbasierter Materialdaten-Aufzeichnung - z.B. an eine Traceability-Anwendung, welche Bauelemente bestückt wurden. Somit ist auch bei der Lockerung der Bestück-Zuordnung die Traceability der Bauelemente sichergestellt.The machines report - as in the previous procedure with station-based material data recording - e.g. to a traceability application which components were fitted. This ensures the traceability of the components even when the placement assignment is relaxed.

Zunächst berechnet der Optimierer, welche Bestückpositionen von einer Maschine ausgelassen bzw. zusätzlich bestückt werden können/müssen. Dies erfolgt über die Berechnung der Anpassungsparameter pro Position und dediziert für jeden Bestückautomaten individuell. Diese Berechnung wird zentral für alle Bestückautomaten ausgeführt, da ihm die Rüstung der gesamten Linie bekannt ist. Weiterhin wird festgesetzt, bis zu welcher Maschine der Linie eine bestimmte Bestückposition spätestens besetzt werden muss. Die Attribute der Bestückpositionen in dem Anpassungsparameterdatensatz sind:

  • - SHOULD:
    • Soll eigentlich bestückt werden, muss aber nicht. Dieses Attribut bekommen Bestückpositionen zugewiesen, die laut Optimierer an dieser Maschine bestückt werden sollen, um im störungsfreien Fall die optimale Gesamt-Bestückleistung zu erreichen. Die Bestückung darf jedoch im Falle einer Minderbestückung aufgrund einer Störung ausgelassen werden. Eine Bestückung erfolgt selbstverständlich nur, wenn dort noch kein Bauteil bestückt wurde.
  • - CAN:
    • Wenn dort noch kein Bauteil ist, dann kann es bestückt werden, muss aber nicht. Dieses Bauteil wird in der Maschine nur bestückt, wenn eine Mehrbestückung aufgrund einer Störung einer anderen Maschine erfolgt.
  • - MUST:
    • Wenn dort noch kein Bauteil ist, dann muss es bestückt werden. Dieses Attribut erhalten Bestückpositionen in der letzten Maschine der Linie, die diese bestücken kann. Dies kann die gleiche Maschine sein, in der sie im störungsfreien Fall bestückt wird.
First, the optimizer calculates which placement positions can be left out of a machine or which can / must be additionally equipped. This is done by calculating the adjustment parameters per position and individually for each placement machine. This calculation is carried out centrally for all placement machines, since he knows the armament of the entire line. It is also determined up to which machine of the line a certain placement position must be occupied at the latest. The attributes of the placement positions in the adjustment parameter data record are:
  • - SHOULD:
    • Should actually be equipped, but does not have to. This attribute is assigned to placement positions which, according to the optimizer, should be equipped on this machine in order to achieve the optimal overall placement performance in the event of a fault. However, the equipment may be left out in the event of insufficient equipment due to a fault. Of course, assembly only takes place if no component has been assembled there.
  • - CAN:
    • If there is no component there, it can be assembled, but does not have to. This component is only assembled in the machine if additional assembly occurs due to a fault in another machine.
  • - MUST:
    • If there is no component there, then it must be assembled. This attribute is given to placement positions in the last machine of the line, which can load them. This can be the same machine in which it is loaded in the event of a fault.

Die beiden Ausprägungen Mehrbestückung und Minderbestückung werden im Folgenden beschrieben:

  • Mehrbestückung / DO MORE:
    • Tritt an einer Maschine eine Störung auf, so warten die übrigen Maschinen nach Abschluss ihres Bestückprogramms nicht untätig auf das Bereitschaftssignal der gestörten Maschine. Stattdessen setzt sie den Bestückvorgang fort, wenn gerüstete Bauelemente auf weiteren Bestückpositionen verwendet werden können. Die Entscheidung über diese Mehrbestückung wird autonom und autark in der jeweiligen Maschine gefällt auf Basis des vom Optimierer übermittelten Anpassungsparameters „CAN“ der Bestückposition. Dies hat zunächst keine Auswirkung auf den Board-Durchsatz oder die Gesamt-Bestückleistung der Linie. Tritt nur diese eine Störung auf, ergibt sich kein Vorteil durch dieses Verfahren, da eine mögliche Verkürzung der Board-Bearbeitungszeit im weiteren Linienverlauf nicht zu einer Reduktion des Gesamt-Bestückleistung führt. Da hinter der kurzzeitig gestörten Maschine angesiedelte Bestückautomaten lediglich einen Teil ihrer eigentlich geplanten Bauelemente bestücken, stehen diese anschließend still. Die verringerte Auslastung wurde dementsprechend nur in den hinteren Teil der Linie verschoben. Tritt jedoch im weiteren Linienverlauf eine weitere Störung, wird der Vorteil dieses Verfahrens sichtbar: Die zweite Störung führt nicht oder nur in geringerem Maße zu einer Verringerung der Gesamt-Bestückleistung, da die nun gestörte Maschine weniger Bauteile bestücken muss aufgrund der Mehrbestückung durch vorangehende Maschinen. Der Board-Durchsatz der Linie verringert sich somit nicht weiter, wodurch eine weitere Verringerung der Gesamt-Bestückleistung vermieden wird.
The two types of additional equipment and less equipment are described below:
  • Additional equipment / DO MORE:
    • If a machine malfunctions, the other machines do not wait for the ready signal of the malfunctioning machine after completing their placement program. Instead, it continues the placement process when equipped components can be used in other placement positions. The decision about this additional assembly is made autonomously and autonomously in the respective machine on the basis of the adjustment parameter “CAN” of the assembly position transmitted by the optimizer. Initially, this has no effect on the board throughput or the overall placement performance of the line. If only this one malfunction occurs, there is no advantage from this method, since a possible shortening of the board processing time in the further course of the line does not lead to a reduction in the overall placement performance. Since the placement machines behind the briefly disrupted machine only populate part of their originally planned components, they then stand still. Accordingly, the reduced occupancy was only moved to the rear of the line. However, if a further fault occurs in the further course of the line, the advantage of this method becomes apparent: the second fault does not lead to a reduction in the overall placement performance, or only to a lesser extent, since the machine which is now faulty has to assemble fewer components due to the additional assembly by previous machines. The line throughput of the line therefore does not decrease further, which avoids a further reduction in the overall placement performance.

Die Information über Mehrbestückung und damit, dass zusätzliche Bestückpositionen bereits besetzt sind, wird über das Netzwerk weitergereicht („gewhispert“) und die Maschine, die diese Bestückpositionen eigentlich bestücken sollte, lässt diese aus.The information about additional assembly and thus that additional assembly positions are already occupied is passed on via the network ("whispered") and the machine, which should actually equip these assembly positions, omits them.

Minderbestückung / DO LESS:

  • Tritt an einer Maschine A eine Störung auf, so lässt diese einen Teil der zu bestückenden Bauteile aus. Dies erfolgt nur für Bauteile, die im weiteren Verlauf der Linie noch bestückt werden können, also gerüstet sind. Die Folge des Auslassens ist, dass die übrigen Maschinen nach Abschluss ihres Bestückauftrags nicht untätig auf das Bereitschaftssignal/das Board der gestörten Maschine warten, sondern im normalen Takt weiterarbeiten können. Das Auslassen eines Teils der zu bestückenden Bauteile verhindert zunächst eine Auswirkung der Störung auf die Taktzeit.
Shortage / DO LESS:
  • If a malfunction occurs on machine A, it will omit some of the components to be fitted. This is only done for components that can still be equipped in the further course of the line, i.e. are equipped. The consequence of the omission is that the other machines do not wait idly for the ready signal / board of the faulty machine after completing their placement order, but can continue to work in the normal cycle. The omission of a part of the components to be assembled initially prevents the malfunction from affecting the cycle time.

Die von Maschine A ausgelassenen Bauteile müssen von den nachfolgenden Maschinen B/C/... nachgeholt werden, hier erfolgt also notwendigerweise eine Mehrbestückung. Während die Mehrbestückung stattfindet in den Maschinen B/C/..., die sich in der Linie hinter der ursprünglich gestörten Maschine A befinden, können nun auch die jetzt nicht mehr gestörte Maschine A sowie ihre Vorgänger eine Mehrbestückung durchführen (siehe oben unter dem Abschnitt „Mehrbestückung“), da die nachfolgenden Maschinen die Bereitschaft noch nicht signalisiert haben. Somit wird vorgearbeitet und präventiv eine potentielle neue Störung abgemildert.The components omitted by machine A must be made up for by the subsequent machines B / C / ..., so there is necessarily an additional assembly here. While the additional assembly takes place in the machines B / C / ..., which are in the line behind the originally disrupted machine A, the machine A, which is no longer disrupted, and its predecessors can now carry out additional assembly (see above under the section "Additional equipment"), since the following machines have not yet signaled readiness. This means that a potential new disorder is mitigated and preventively mitigated.

Die Maschinen melden - wie auch im bisherigen Verfahren bei stationsbasierter Materialdaten-Aufzeichnung - z.B. an eine Traceability-Anwendung, welche Bauelemente bestückt wurden. Somit ist auch bei der Lockerung der Bestück-Zuordnung die Traceability der Bauelemente sichergestellt.The machines report - as in the previous procedure with station-based material data recording - e.g. to a traceability application which components were fitted. This ensures the traceability of the components even when the placement assignment is relaxed.

Durch die Erfassung und Speicherung des Bearbeitungszustandes wird eine weitergehende Prognose und Analyse möglich. Insbesondere kann ein vergangenes Zeitintervall analysiert und der positive Effekt ermittelt werden. Ebenso ist eine Analyse des ungenutzten Potentials in dem vergangenen Zeitintervall und ein Schluss auf die Zukunft möglich. Um effektiv arbeiten zu können, setzt die Erfindung voraus, dass gleiche Bauelemente in möglichst vielen verschiedenen Maschinen gerüstet sind. Es kann analysiert werden, welche Performance-Steigerung im vergangenen Zeitintervall durch dieses Verfahren erzielt worden wäre, wenn in einer bestimmten Maschine Y zusätzlich das Bauelement Z gerüstet gewesen wäre. Die Analyse der Vergangenheit kann für Prognosen über die Zukunft genutzt werden. Dem Kunden wird mitgeteilt, welchen Vorteil die zusätzliche Rüstung gehabt hätte. Anschließend kann er auswählen, diese zusätzliche Rüstung vorzunehmen unter der Annahme, dass diese auch zukünftig von Vorteil ist.By recording and saving the processing status, further forecasting and analysis is possible. In particular, a past time interval can be analyzed and the positive effect can be determined. An analysis of the unused potential in the past time interval and a conclusion about the future is also possible. In order to be able to work effectively, the invention presupposes that the same components are equipped in as many different machines as possible. It can be analyzed which performance increase in the past time interval would have been achieved by this method if the component Z had also been equipped in a certain machine Y. The analysis of the past can be used to make predictions about the future. The customer is informed of the advantage of the additional armor. He can then choose to make this additional armor, assuming that it will also be an advantage in the future.

Im Folgenden wird die Erfindung unter Bezugnahme auf die Figuren erläutert.The invention is explained below with reference to the figures.

1 zeigt mehrere Bestückautomaten BA1, BA2, ... BAn, die über ein Netzwerk in Datenaustausch stehen. Die Bestückautomaten BA stehen darüber hinaus mit einem Linienoptimierer LO in Datenaustausch. Jeder Bestückautomat umfasst eine elektronische Verarbeitungseinheit V. Auf einer jeweiligen Verarbeitungseinheit V kann ein Steuermodul SM implementiert sein. So kann auf einem ersten Bestückautomaten BA1 eine erste Verarbeitungseinheit V1 angeordnet sein, die ein erstes Steuermodul SM1 umfasst und auf einem zweiten Bestückautomaten BA1 kann eine zweite Verarbeitungseinheit V1 angeordnet sein, die ein zweites Steuermodul SM1 umfasst etc. 1 shows several placement machines BA1 , BA2 , ... BAn that are exchanging data over a network. The placement machines BA are also available with a line optimizer LO in data exchange. Each placement machine includes an electronic processing unit V . On a respective processing unit V can be a control module SM be implemented. So on a first placement machine BA1 a first processing unit V1 be arranged, which is a first control module SM1 includes and on a second placement machine BA1 can a second processing unit V1 be arranged, the second control module SM1 includes etc.

Es ist auch möglich, eine alternative Architektur vorzusehen, so dass z.B. das Ergebnis des lokal ausgeführten Adaptionsalgorithmus (der die Entscheidung über DO MORE / DO LESS repräsentiert) an eine zentrale Verarbeitungseinheit übermittelt wird. Wichtig ist, dass die Ausführung des Adaptionsalgorithmus immer lokal auf oder für die jeweiligen Automaten ausgeführt wird und dessen Fertigungssituation sowie der (bisherige und übermittelte) Bearbeitungszustand der Leiterplatte berücksichtigt werden.It is also possible to provide an alternative architecture so that e.g. the result of the locally executed adaptation algorithm (which represents the decision about DO MORE / DO LESS) is transmitted to a central processing unit. It is important that the adaptation algorithm is always executed locally on or for the respective machine and that its manufacturing situation and the (previous and transmitted) processing status of the circuit board are taken into account.

2 zeigt in einer schematischen Darstellung die Bestückautomaten BA1, BA2, BAn, wobei die zu bestückenden Leiterplatten über eine Transportvorrichtung TV, z.B. ein Förderband, getaktet und synchronisiert von Automat BAi zu Automat Bai+1 transportiert werden. Die Bestückautomaten BA (in der Regel sind es 3-12) bilden eine Fertigungslinie FL. (Es gibt aber auch deutlich längere Fertigungslinien FL). Kommt es bei einem der Automaten BA zu einer Verzögerung wird dies in einem Bearbeitungszustand repräsentiert und dieser wird als Nachricht an die folgenden Automaten berichtet, die in Antwort auf diese Nachricht den Adaptionsalgorithmus ausführen können. Das Übermitteln der Nachricht und der damit verbundene Datenaustausch wird nachfolgend in Zusammenhang mit 3 näher erläutert. 2nd shows the placement machines in a schematic representation BA1 , BA2 , BAn , wherein the circuit boards to be assembled via a transport device TV , for example a conveyor belt, clocked and synchronized, can be transported from Automat BAi to Automat Bai + 1. The placement machines BA (usually 3-12) form a production line FL . (But there are also significantly longer production lines FL ). It happens at one of the machines BA for a delay, this is represented in a processing state and this is reported as a message to the following machines, which can execute the adaptation algorithm in response to this message. The transmission of the message and the associated data exchange is subsequently described in connection with 3rd explained in more detail.

Treten kurzzeitige Störungen an einzelnen Automaten BA zeitlich nacheinander auf, so wird die negative Auswirkung der weiteren Störungen auf die Gesamt-Bestückleistung verringert oder vermieden. Somit erhöht sich die tatsächliche Performance der Linie FL.Short-term malfunctions occur on individual machines BA consecutively, the negative impact of the further disturbances on the overall placement performance is reduced or avoided. This increases the line's actual performance FL .

In 3 ist ein Sequenzdiagramm gezeigt. Die Steuermodule SM, die in den Bestückautomaten BA angeordnet sind, kommunizieren untereinander und mit dem Linienoptimierer LO. Zu Beginn empfängt das i-te Steuermodul SMi von dem Linienoptimierer LO den Bestückauftrag ba. Dieser umfasst den Anpassungsparameter jeweils individuell für die auf dem jeweiligen Bestückautomaten zu bestückenden Bestückposition mit einer Angabe SHOULD, CAN oder MUST. Das Steuermodul SMi erfasst von seinem „Vorgänger“ in der Fertigungslinie, dem Steuermodul SMi-1, den Bearbeitungszustand bz. Daraufhin kann auf dem Steuermodul SMi der Adaptionsalgorithmus ausgeführt werden. Dieser dient dazu, lokal zu entscheiden, welche Position - möglicherweise in Abweichung von dem original erfassten Bestückauftrag - bestückt oder nicht bestückt wird. Der Adaptionsalgorithmus transformiert den Bestückauftrag des Linienoptimierers LO in einen lokal optimierten angepassten Bestückauftrag ba'. Anschließend erfolgt die Bestückung in dem Bestückautomaten BAi mit dem angepassten Bestückauftrag ba', der gegebenenfalls eine Mehr- oder Minderbestückung umfassen kann (DO MORE oder DO LESS Befehl). Wie in 3 gezeigt, wird das Verfahren iterativ ausgeführt. Die Länge der Störung ist im Voraus nicht bekannt. Deswegen werden nach Beendigung der SHOULD- und MUST-Positionen (also Bestückung derjenigen Positionen, die mit einem SHOULD oder MUST-Datensatz belegt sind) solange kopfzyklenweise (also für 12-20 Positionen auf einmal) CAN Positionen bearbeitet, bis die Leiterplatte LP weitertransportiert werden kann. Das gleiche gilt für die Ausführung von DO LESS Befehlen. Auch dies wird in einer Schleife iterativ geprüft. Somit wird auch nach jedem Kopfzyklus neu evaluiert, ob ein DO LESS Befehl ausgeführt werden muss. Somit ergibt sich folgendes Wiederholungsmuster:

  • Kopfzyklus (KZy) -> Adaptionsalgorithmus (AA) -> KZy -> AA -> KZy -> AA -> KZy -> AA -> KZy -> AA -> etc.
In 3rd a sequence diagram is shown. The control modules SM that in the placement machines BA are arranged, communicate with each other and with the line optimizer LO . Initially, the i-th control module receives SMi from the line optimizer LO the placement order ba . This includes the adjustment parameter individually for the placement position to be filled on the respective placement machine with an indication SHOULD, CAN or MUST. The control module SMi detects the processing status of its "predecessor" in the production line, the control module SMi-1 or . The adaptation algorithm can then be executed on the control module SMi. This is used to locally decide which position - possibly deviating from the originally entered placement order - is or is not being populated. The adaptation algorithm transforms the placement order of the line optimizer LO into a locally optimized customized placement order ba '. Then the assembly takes place in the placement machine BAi with the adapted placement order ba ', which may include more or less placement (DO MORE or DO LESS command). As in 3rd shown, the method is carried out iteratively. The length of the disturbance is not known in advance. For this reason, after the SHOULD and MUST positions have been completed (that is, those positions that are assigned a SHOULD or MUST data record), CAN positions are processed per head cycle (i.e. for 12-20 positions at a time) until the circuit board LP can be transported further. The same applies to the execution of DO LESS commands. This is also checked iteratively in a loop. Thus, even after each head cycle, it is re-evaluated whether a DO LESS command has to be executed. This results in the following repetition pattern:
  • Head cycle (KZy) -> adaptation algorithm (AA) -> KZy -> AA -> KZy -> AA -> KZy -> AA -> KZy -> AA -> etc.

Nach Ausführung der Bestückung wird der aktuelle Bearbeitungszustand bz und damit die aktuelle Bestücksituation erfasst. Der Bearbeitungszustand bz wird an den unmittelbar nachfolgenden Bestückautomaten Bai+1 weitergereicht. Der Bearbeitungszustand bz kann daraufhin optional an den Linienoptimierer LO weitergeleitet werden. Da dies nur optional ist, ist dies in 3 mit einer gepunkteten Linie gekennzeichnet.After the assembly has been carried out, the current processing status becomes or and thus records the current placement situation. The processing status or is passed on to the Bai + 1 automatic placement machine that follows immediately. The processing status or can then optionally be connected to the line optimizer LO to get redirected. Since this is only optional, this is in 3rd marked with a dotted line.

4 zeigt ein Ablaufdiagramm. Beim Bezugszeichen 1 gibt der Linienoptimierer LO einen ersten Bestückauftrag ba1 an den ersten Bestückautomaten BA1 (bei der Figurenbezeichnung ist auf die Groß- und Kleinschreibung zu achten: während ba den Bestückauftrag repräsentiert, kennzeichnet das Bezugszeichen BA den Bestückautomaten). 4th shows a flow chart. At the reference number 1 gives the line optimizer LO a first placement order ba1 at the first placement machines BA1 (When designating the figures, attention should be paid to upper and lower case letters: while ba represents the placement order, the reference symbol indicates BA the placement machines).

Der Bestückauftrag ba1 umfasst in diesem Beispiel exemplarisch die folgenden Datensätze:

  • - Einen Bauteiltyp t1, eine Position_1 bzw. POS_1 und einen Anpassungsparameter MUST
  • - Einen Bauteiltyp t2, eine Position_2 (POS_2) und einen Anpassungsparameter SHOULD
  • - Einen Bauteiltyp t2, eine Position_3 (POS_3) und einen Anpassungsparameter CAN
  • - ...
In this example, the placement order ba1 includes the following data records:
  • - A component type t1, a Position_1 or POS_1 and an adjustment parameter MUST
  • - A component type t2, a Position_2 (POS_2) and an adjustment parameter SHOULD
  • - A component type t2, a Position_3 (POS_3) and an adaptation parameter CAN
  • - ...

Dabei ist der jeweils angegebene Bauteiltyp an die angegeben Bestückposition zu bestücken und für diese Teilaufgabe wird der Anpassungsparameter zugeordnet (MUST, SHOULD oder CAN).The specified component type must be assembled at the specified placement position and the adaptation parameter is assigned for this subtask (MUST, SHOULD or CAN).

Der Bestückautomat BA umfasst eine Verarbeitungseinheit V1, die ihrerseits ein Steuermodul SM1 umfasst. In diesem Beispiel ist der Bestückautomat BA1 ausgebildet, die Bauteiltypen t1 und t2 zu bestücken. Ein Bestückautomat BA kann natürlich nur die Typen von Bauteilen bestücken, für die er auch gerüstet ist. In diesem Beispiel ist der Automat BA1 für die Bauteiltypen t1 und t2 gerüstet und der Automat BA2 für die Bauteiltypen t2 und t3.The placement machine BA comprises a processing unit V1 which in turn is a control module SM1 includes. In this example the placement machine is BA1 trained to equip component types t1 and t2. A placement machine BA can of course only fit the types of components for which it is equipped. In this example, the machine is BA1 equipped for component types t1 and t2 and the automat BA2 for component types t2 and t3.

In einem ersten Ausführungsbeispiel entscheidet das Steuermodul SM1 der Verarbeitungseinheit V1 beim Bezugszeichen 2a, dass die Position_2 nicht bestückt, sondern ausgelassen werden soll. Deshalb wird ein DO LESS Befehl für Position_2 ausgegeben. Dies ist möglich, da diese Position 2 mit dem Anpassungsparameter SHOULD belegt war. Die Entscheidung kann z.B. darauf basieren, dass die Leiterplatte bereits aus dem folgenden Bestückautomaten BA2 entfernt worden ist und der nächste Bestückautomat BA2 bereits fertig ist. Der ursprüngliche Bestückauftrag ba für die jeweilige Position wird somit überschrieben. Dies sei wie folgt in den gespeicherten Datensätzen schematisch erklärt:


 ba1 = {...
     (t2, Position_2, SHOULD)
     mit}
     ba1' = {...
     (t2, Position_2, DO LESS)
     ...}
In a first embodiment, the control module decides SM1 the processing unit V1 at the reference number 2a that the position_2 should not be populated, but should be omitted. Therefore a DO LESS command is issued for Position_2. This is possible because of this position 2nd was assigned the adjustment parameter SHOULD. The decision can be based, for example, on the fact that the circuit board has already come from the following placement machine BA2 has been removed and the next placement machine BA2 is already finished. The original placement order ba the respective position is overwritten. This is explained schematically in the stored data records as follows:

 ba1 = {...
     (t2, position_2, SHOULD)
     With}
     ba1 '= {...
     (t2, position_2, DO LESS)
     ...} 

Der Bearbeitungszustand bz kann entsprechend für Position_2 eine Angabe OMIT enthalten, die repräsentiert, dass diese Position nicht bestückt worden ist, um BA2 zu informieren.The processing status or can accordingly contain an entry OMIT for position_2, which represents that this position has not been populated to BA2 to inform.

In einem zweiten, alternativen Ausführungsbeispiel entscheidet das Steuermodul SM1 der Verarbeitungseinheit V1 beim Bezugszeichen 2b, dass die Position_3 zusätzlich bestückt werden soll (entgegen dem ursprünglichen Bestückauftrag ba des Linienoptimierers LO). Deshalb wird ein DO MORE Befehl für Position_3 ausgegeben. Dies ist möglich, da diese Position_3 mit dem Anpassungsparameter CAN belegt war. Die Entscheidung kann z.B. darauf basieren, dass der Bestückauftrag für die Leiterplatte bereits finalisiert werden konnte und die Leiterplatte noch nicht aus dem Bestückautomaten BA entfernt werden konnte (z.B. da die nächste Instanz bzw. der nächste Bestückautomat noch nicht bereit ist). Dies sei wie folgt in den gespeicherten Datensätzen schematisch erklärt:


 ba1 = {...
     (t2, Position_3, CAN)
     ]
     mit
     ba1' = {...
     (t2, Position_3, DO MORE)
     ...}
Der Bearbeitungszustand bz kann entsprechend für Position_3 eine Angabe DONE enthalten, die repräsentiert, dass diese Position bestückt worden ist, um BA2 zu informieren.In a second, alternative exemplary embodiment, the control module decides SM1 the processing unit V1 at the reference number 2 B that the position_3 should be additionally populated (contrary to the original placement order ba of the line optimizer LO ). Therefore a DO MORE command is issued for position_3. This is possible because this position_3 was occupied with the adaptation parameter CAN. The decision can be based, for example, on the fact that the placement order for the circuit board has already been finalized and the circuit board has not yet been taken from the placement machine BA away could be (e.g. because the next instance or the next placement machine is not yet ready). This is explained schematically in the stored data records as follows:

 ba1 = {...
     (t2, position_3, CAN)
     ]
     With
     ba1 '= {...
     (t2, position_3, DO MORE)
     ...} 
The processing status or can accordingly contain a statement DONE for position_3, which represents that this position has been populated to BA2 to inform.

Die beiden vorstehend beschriebenen Beispiele sind als exklusive Alternativen zu verstehen, da es nicht sinnvoll, einerseits mehr zu bestücken und andererseits Positionen auszulassen. Grundsätzlich wird der DO MORE oder DO LESS Befehl zum Überschreiben des Bestückauftrags ba lokal auf dem Bestückautomaten BA erzeugt und direkt umgesetzt.The two examples described above are to be understood as exclusive alternatives, since it does not make sense to fill more on the one hand and omit positions on the other. Basically, the DO MORE or DO LESS command is used to overwrite the placement order ba locally on the placement machine BA generated and implemented directly.

Der Bearbeitungszustand bz umfasst somit im ersten Beispiel einen Eintrag für Position_2 mit der Kennzeichnung einer noch fehlenden Bestückung dieser Position oder im zweiten Beispiel einen Eintrag für Position_3 mit der Kennzeichnung einer bereits ausgeführten Bestückung.
Dieser Bearbeitungszustand wird an den nächsten Bestückautomaten BA2 übermittelt. Der Bearbeitungszustand ist ein elektronischer Datensatz und kann z.B. binär codiert sein, umfassend zumindest zwei Elemente:

  1. 1. Eine Positionsangabe auf der Leiterplatte und
  2. 2. Eine Angabe über den aktuellen Bestückzustand (bestückt / nicht-bestückt).
The processing status or thus comprises in the first example an entry for Position_2 with the identification of a still missing assembly of this position or in the second example an entry for Position_3 with the identification of an already executed assembly.
This processing status is at the next placement machine BA2 transmitted. The processing state is an electronic data record and can, for example, be binary coded, comprising at least two elements:
  1. 1. A position on the circuit board and
  2. 2. An indication of the current state of assembly (assembled / unequipped).

Beim Bezugszeichen 3a wird der Bearbeitungszustand bz1 für Position_2 und bei Bezugszeichen 3b der Bearbeitungszustand bz2 für Position_3 an den folgenden Bestückautomaten BA2 weitergereicht. Es sei an dieser Stelle darauf hingewiesen, dass die in einem Kreis gekennzeichneten Bezugszeichen in 4 keine zeitlich zwingende Abfolge darstellen. So kann z.B. auch erst der Bearbeitungszustand bz2 und dann bz1 übermittelt werden. Vorzugsweise erfolgt die Übermittlung in einem gemeinsamen Datenpaket, um die technischen Netzwerkressourcen zu sparen.At the reference number 3a becomes the processing state bz1 for position_2 and for reference signs 3b the processing status bz2 for Position_3 on the following placement machines BA2 passed on. At this point it should be pointed out that the reference symbols marked in a circle in 4th do not represent a chronological sequence. For example, the processing status can only be changed bz2 and then be transmitted to bz1. The transmission is preferably carried out in a common data packet in order to save the technical network resources.

Der zweite Bestückautomat BA2 erhält somit vom vorhergehenden Bestückautomaten den aktuellen und tatsächlichen Bearbeitungszustand bz1, bz2.The second placement machine BA2 receives the current and actual processing status bz1, bz2 from the previous placement machine.

Der zweite Bestückautomat BA2 erhält weiterhin von dem Linienoptimierer den Bestückauftrag ba2. Dieser wurde beim Bezugszeichen 1 ausgegeben und umfasst in diesem Beispiel exemplarisch die folgenden Datensätze:

  • - Einen Bauteiltyp t2, eine Position_3 und einen Anpassungsparameter MUST
  • - Einen Bauteiltyp t3, eine Position_4 und einen Anpassungsparameter MUST
  • - Einen Bauteiltyp t2, eine Position_2 und einen Anpassungsparameter MUST
  • - ...
The second placement machine BA2 also receives the placement order ba2 from the line optimizer. This became the reference number 1 output and in this example includes the following data records:
  • - A component type t2, a Position_3 and an adjustment parameter MUST
  • - A component type t3, a Position_4 and an adjustment parameter MUST
  • - A component type t2, a Position_2 and an adjustment parameter MUST
  • - ...

Beim Bezugszeichen 4a entscheidet das Steuermodul SM2 des zweiten Bestückautomaten BA2 lokal, dass für Position_2 ein DO MORE Befehl ausgegeben und ausgeführt werden soll, da die Position laut Bearbeitungszustand bz1 noch nicht bestückt worden ist.At the reference number 4a decides the control module SM2 of the second placement machine BA2 locally that a DO MORE command should be issued and executed for Position_2, since the position has not yet been populated according to processing status bz1.

Beim Bezugszeichen 4b entscheidet das Steuermodul SM2 des zweiten Bestückautomaten BA2 lokal, dass für Position_3 ein DO LESS Befehl ausgegeben und ausgeführt werden soll, da die Position gemäß übermittelten Bearbeitungszustand bz2 bereits bestückt ist.At the reference number 4b decides the control module SM2 of the second placement machine BA2 locally, that a DO LESS command should be issued and executed for Position_3, since the position has already been populated in accordance with the transmitted processing status bz2.

Kommt es in Folge nochmals zu einer Verzögerung, so kann mit dem angepassten Bestückauftrag Zeit gespart werden und die Bestückung insgesamt effizienter ausgeführt werden.If there is another delay as a result, time can be saved with the adapted placement order and the placement can be carried out more efficiently overall.

5 zeigt ein Ablaufdiagram des Verfahrens gemäß einer bevorzugten Ausführungsform der Erfindung. Nach dem Start des Verfahrens zur lokalen Optimierung wird in Schritt S1 ein für den Bestückautomaten BA individuell vom Linienoptimierer LO erzeugter Bestückauftrag erfasst. In Schritt S2 wird der Bearbeitungszustand bz von dem jeweils vorhergehenden Automaten Bai-1 erfasst oder aus einem Zwischenspeicher eingelesen. In Schritt S3 wird der Adaptionsalgorithmus ausgeführt, um in Schritt S4 einen angepassten Bestückauftrag ba' als Ergebnisdatensatz bereitzustellen. In Schritt S5 wird der Bestückautomat BA mit dem angepassten Bestückauftrag ba' angesteuert. In Schritt S6 wird der aktuelle Bearbeitungszustand bz erfasst, der an den nachfolgenden Automaten über eine direkte Maschine-zu-Maschinen Kommunikation gesendet wird. Damit kann das Empfangen des vorherigen Bearbeitungszustandes unabhängig vom Empfangen des Bestückauftrags erfolgen. Der jeweilige Automat verfügt damit über mehr Informationen und kann deshalb besser lokal optimieren. Dies führt zu einer Verbesserung der Performance. 5 shows a flowchart of the method according to a preferred embodiment of the invention. After starting the local optimization process, step S1 one for the placement machine BA individually from the line optimizer LO generated placement order recorded. In step S2 becomes the processing state or captured by the previous machine Bai-1 or read from a buffer. In step S3 the adaptation algorithm is executed in step S4 to provide an adapted placement order ba 'as a result data record. In step S5 the placement machine BA controlled with the adapted placement order ba '. In step S6 becomes the current processing status or recorded, which is sent to the subsequent machines via direct machine-to-machine communication. This means that the previous processing status can be received regardless of the receipt of the placement order. The respective machine therefore has more information and can therefore better optimize locally. This leads to an improvement in performance.

6 zeigt einen generellen Ablauf des Bestückvorgangs in einer Schemadarstellung, und insbesondere, wie die Leiterplatten (oder Boards, in 6 mit dem Bezugszeichen LP gekennzeichnet) in den verschiedenen Bestückautomaten BA bestückt werden. Die Zeitachse verläuft von oben nach unten und ist auf der linken Seite als nach unten gerichteter Pfeil dargestellt. Das Förderband TV transportiert die Boards LP von Automat BA zu Automat in einer Förderrichtung TV (in 6 nach rechts). Die untereinander dargestellten Zeilen repräsentieren die aufeinanderfolgenden Zeittakte oder Zeitscheiben t0, t1, t2 etc. Der Einfachheit halber ist die Leiterplatte LP zur besseren Verständlichkeit in jeweils vier Quadranten aufgeteilt, die Bereiche auf der Leiterplatte kennzeichnen sollen, die von den vier Bestückautomaten BA1-4 bestückt werden sollen. Dabei soll der erste Bestückautomat BA1 den linken oberen Quadranten bestücken, der zweite Bestückautomat BA2 den rechten, oberen Quadranten, der dritte Bestückautomat BA3 den linken unteren und der vierte Bestückautomat BA4 den rechten, unteren Quadranten. Es sei bemerkt, dass dies nur eine sehr vereinfachte schematische Beschreibung und Darstellung ist und die grundsätzliche Prozessbewegung erläutern soll. Üblicherweise sind die zu bestückenden Positionen nicht in Form von Quadranten vorgegeben, sondern durch eindeutige Positionsangaben bzw. Ortskoordinaten. Die Automaten können darüber hinaus auch für gleiche oder unterschiedliche Bauteiltypen gerüstet sein. Die erste Leiterplatte LP1 durchläuft als erste den Prozess, gefolgt von den weiteren Leiterplatten LP2, LP3 und LP4. Die erste Leiterplatte befindet sich in Takt t0 am vierten Automaten BA4. Die letzte Leiterplatte LP4, die im Beispiel von 6 gezeigt ist, befindet sich im ersten Takt t0 am ersten Bestückautomaten BA1, im zweiten Takt t1 beim zweiten Automaten BA2 und im dritten Takt t2 beim dritten Automaten BA3 und im vierten Takt t3 beim vierten Automaten BA4. 6 shows a general sequence of the assembly process in a schematic representation, and in particular how the circuit boards (or boards, in 6 with the reference symbol LP marked) in the various placement machines BA be equipped. The timeline runs from top to bottom and is shown on the left side as a downward arrow. The conveyor belt TV transports the boards LP from automat BA to machine in one conveying direction TV (in 6 to the right). The lines shown one below the other represent the successive time cycles or time slices t0, t1, t2 etc. For the sake of simplicity, the printed circuit board is LP divided into four quadrants for better comprehensibility, which should identify areas on the circuit board that are used by the four placement machines BA1-4 to be assembled. The first pick and place machine BA1 populate the upper left quadrant, the second pick and place machine BA2 the right, upper quadrant, the third placement machine BA3 the lower left and the fourth placement machine BA4 the lower right quadrant. It should be noted that this is only a very simplified schematic description and illustration and is intended to explain the basic process movement. Usually, the positions to be populated are not specified in the form of quadrants, but rather by unambiguous position information or location coordinates. The machines can also be equipped for the same or different types of components. The first circuit board LP1 goes through the process first, followed by the other circuit boards LP2 , LP3 and LP4 . The first circuit board is in cycle t0 on the fourth machine BA4 . The last circuit board LP4 that in the example of 6 is shown, is in the first cycle t0 on the first placement machine BA1 , in the second cycle t1 in the second machine BA2 and in the third cycle t2 in the third machine BA3 and in the fourth cycle t3 in the fourth machine BA4 .

In dem in 6 gezeigten Beispiel hat nun der dritte Automat BA3 eine Verzögerung im dritten Takt t2, so dass er seinen ursprünglichen Bestückauftrag nicht in der SOLL-Zeit ausführen kann. Erfindungsgemäß ist es nun vorgesehen, dass das Steuermodul SM3 des dritten Automaten BA3 auf Basis des Adaptionsalgorithmus „entscheidet“, die Position nicht zu bestücken, um das Band TV weiterschalten zu können und die anderen Automaten der Linie FL nicht aufzuhalten. Dies ist möglich, da die Position mit einem CAN belegt war. In 6 ist dies durch den nicht gefüllten Kreis repräsentiert. Der folgende vierte Bestückautomat BA4 erhält über den übermittelten Bearbeitungszustand bz3 diese Information über die Nicht-Bestückung und holt diese Position sozusagen stellvertretend für den Vorgänger Automaten BA3 nach. Dies ist möglich, weil er entsprechend dafür gerüstet ist. Dies ist in 6 mit dem Kreuz in Kreis repräsentiert.In the in 6 The third machine now has the example shown BA3 a delay in the third cycle t2 so that it cannot execute its original placement order in the TARGET time. According to the invention, it is now provided that the control module SM3 of the third machine BA3 based on the adaptation algorithm "decides" not to populate the position around the belt TV to be able to switch on and the other machines in the line FL unstopable. This is possible because the position was occupied by a CAN. In 6 this is represented by the unfilled circle. The following fourth placement machine BA4 receives about the transmitted processing status bz3 this information about the non-assembly and fetches this position, so to speak, for the predecessor machine BA3 to. This is possible because he is equipped accordingly. This is in 6 represented with the cross in a circle.

Grundsätzlich kann bei einer kurzzeitigen Verzögerung auf einem Bestückautomaten BA nun erfindungsgemäß lokal der Adaptionsalgorithmus ausgeführt werden, um eine Mehr- oder Minderbestückung durch die Ausgabe eines DO MORE oder DO LESS Befehls zu initiieren. Dies wird möglich, da der zugeordnete Bearbeitungszustand bz an den jeweils folgenden Automaten kommuniziert wird. Dies sei in 6 durch die Pfeile mit dem Bezugszeichen bz oben gekennzeichnet. Erfindungsgemäß wird somit die Wartezeit, die dadurch entsteht, dass ein anderer Bestückautomat BA in der Linie FL verzögert ist, sinnvoll genutzt (Ausgabe eines DO MORE Befehls) und die Stillstandzeit kann vermieden werden. Ebenso wird erfindungsgemäß ermöglicht, dass andere Bestückautomaten BA weiter bestücken können, wenn es an einem Automaten zu Verzögerungen kommt und die normale Bearbeitungszeit (Takt) nicht ausreichend ist, um alle Positionen zu bestücken. In diesem Fall, werden nur die MUST-Positionen bestückt und die SHOULD-Positionen können ausgelassen werden (Ausgabe eines DO LESS Befehls für diese Positionen), um von einer nachfolgenden Maschine (sozusagen „nachgeholt“) bestückt zu werden.Basically, with a short delay on a placement machine BA Now, according to the invention, the adaptation algorithm can be executed locally in order to initiate a more or less configuration by issuing a DO MORE or DO LESS command. This is possible because of the assigned processing status or is communicated at the following machines. This is in 6 by the arrows with the reference symbol or marked above. According to the invention, the waiting time that arises from the fact that another placement machine is used BA in the line FL is delayed, used sensibly (output of a DO MORE command) and downtime can be avoided. Likewise, it is made possible according to the invention that other placement machines BA can continue to load if there are delays on a machine and the normal processing time (cycle) is not sufficient to load all positions. In this case, only the MUST positions are populated and the SHOULD positions can be omitted (output of a DO LESS command for these positions) in order to be populated by a subsequent machine (so to speak "made up").

Abschließend sei darauf hingewiesen, dass die Beschreibung der Erfindung und die Ausführungsbeispiele grundsätzlich nicht einschränkend in Hinblick auf eine bestimmte physikalische Realisierung der Erfindung zu verstehen sind.In conclusion, it should be pointed out that the description of the invention and the exemplary embodiments are in principle not to be understood as restrictive with regard to a specific physical implementation of the invention.

Für einen Fachmann ist es insbesondere offensichtlich, dass die Erfindung nicht nur für die SMT-Technologie angewendet werden kann, sondern auch für andere Bestücktechnologien, die die Abarbeitung eines Bestückprozesses von mehrere Bestückautomaten erfordern, wie z.B. die Maschinen-unterstützte THT-Technologie (through hole technology). Des Weiteren können die Bauteile des Steuermoduls und des Systems auf mehrere physikalische Produkte verteilt realisiert werden. Des Weiteren ist die Erfindung nicht auf einen bestimmten Typus von Leiterplattenbestücksystemen beschränkt. So kann die Erfindung auch bei Automaten angewendet werden, die zur Bestückung die Leiterplatte bewegen, während der Kopf stillsteht oder auf Automaten, die keine Zuführeinheiten haben und bei denen sich die Bauteile direkt im Kopf befinden. Grundsätzlich kann die Erfindung auf alle Fertigungslinien mit in Reihe geschalteten, einzelnen Bestückautomaten angewendet werden. Der Bearbeitungsschritt einer Einzelmaschine muss dabei in kleinere Einheiten unterteilbar sein. Die kleineren Einheiten müssen dabei von mehreren Einzelmaschinen der Linie ausgeführt werden können.It is particularly obvious to a person skilled in the art that the invention can be used not only for SMT technology, but also for other placement technologies that require the execution of a placement process from several placement machines, such as e.g. the machine-supported THT technology (through hole technology). Furthermore, the components of the control module and the system can be implemented in several physical products. Furthermore, the invention is not restricted to a specific type of printed circuit board assembly system. Thus, the invention can also be applied to machines which move the printed circuit board for assembly while the head is stationary or to machines which have no feed units and in which the components are located directly in the head. In principle, the invention can be applied to all production lines with individual placement machines connected in series. The processing step of a single machine must be subdivided into smaller units. The smaller units must be able to be carried out by several individual machines in the line.

BezugszeichenlisteReference list

BABA
BestückautomatPlacement machine
SMSM
SteuermodulControl module
VV
VerarbeitungseinheitProcessing unit
LPLP
LeiterplatteCircuit board
NWNW
Netzwerk, insbesondere lokalesNetwork, especially local
LOLO
LinienoptimiererLine optimizer
TVTV
TransportvorrichtungTransport device
FLFL
FertigungslinieProduction line
baba
BestückauftragPlacement order
ba'ba '
angepasster Bestückauftragcustomized placement order
bzor
BearbeitungszustandProcessing status
tt
Bauteiltyp Component type
S1S1
Einlesen eines Bestückaufrags ba Read a placement order ba
S2S2
Erfasse den Bearbeitungszustand bz Record the processing status or
S3S3
Anwenden des AdaptionsalgorithmusApply the adaptation algorithm
S4S4
Bereitstellen eines angepassten Bestückauftrags ba' als Ergebnis-DatensatzProviding an adapted placement order ba 'as a result data record
S5S5
Ansteuern des Bestückautomaten mit dem angepassten Bestückauftrag ba'Control of the placement machine with the adapted placement order ba '

Claims (18)

Verfahren zur Steuerung eines Bestückprozesses eines Bestückautomaten (BA) in einer Fertigungslinie (FL) mit mehreren Bestückautomaten (BA1, BA2,... Ban) zur Bestückung von Leiterplatten (LP), wobei jeweils ein Bestückautomat (BA) jeweils eine Teilaufgabe eines Bestückungsplans ausführt, mit folgenden Verfahrensschritten: - Einlesen (S1) eines individuell für den jeweiligen Bestückautomaten (BA) erzeugten Bestückauftrags (ba), der vorgibt, welche Position auf der Leiterplatte (LP) mit welchem Bauteiltyp zu bestücken ist, wobei der Bestückauftrag flexibilisiert ist, indem zusätzlich zu jeder Position einen Anpassungsparameter bereitgestellt ist, der einen berechneten SHOULD, CAN oder MUST-Datensatz enthält, um jeweils festzulegen, welche Bestückposition von dem Bestückautomaten (BA) ausgeführt werden sollte, kann oder muss; - Erfassen (S2) eines Bearbeitungszustandes (bz) für die zu bestückende Leiterplatte (LP); - Ausführen (S3) eines Adaptionsalgorithmus zur flexiblen Adaption des eingelesenen Bestückauftrags (ba) auf Basis der Anpassungsparameter und des erfassten Bearbeitungszustands (bz) zum Berechnen eines angepassten Bestückauftrags (ba'), der festlegt, welche Bestückpositionen abweichend von dem eingelesenen Bestückauftrag (ba) bestückt und welche Bestückpositionen abweichend von dem eingelesenen Bestückauftrag (ba) nicht bestückt werden; - Ansteuern (S5) des Bestückautomaten (BA) mit dem angepassten Bestückauftrag (ba'); - Erfassen (S6) eines Bearbeitungszustandes (bz) der Leiterplatte (LP) nach Ausführung des angepassten Bestückauftrags (ba').Method for controlling an assembly process of an automatic placement machine (BA) in a production line (FL) with several automatic placement machines (BA1, BA2, ... Ban) for the assembly of printed circuit boards (LP), whereby an automatic placement machine (BA) carries out a partial task of an assembly plan , with the following procedural steps: - Reading (S1) a placement order (ba) generated individually for the respective placement machine (BA), which specifies which position on the circuit board (LP) is to be populated with which component type, the placement order being made more flexible by adding a position to each Adaptation parameter is provided, which contains a calculated SHOULD, CAN or MUST data set in order to determine in each case which placement position should or can be carried out by the placement machine (BA); - Detecting (S2) a processing state (bz) for the printed circuit board (LP) to be assembled; - Execution (S3) of an adaptation algorithm for flexible adaptation of the read placement order (ba) on the basis of the adjustment parameters and the recorded processing status (bz) for calculating an adapted placement order (ba '), which determines which placement positions deviate from the read placement order (ba) assembled and which assembly positions differ from the read assembly order (ba); - Control (S5) of the placement machine (BA) with the adapted placement order (ba '); - Detection (S6) of a processing state (bz) of the printed circuit board (LP) after execution of the adapted placement order (ba '). Verfahren nach dem vorangehenden Verfahrensanspruch, bei dem der nach der Ausführung des angepassten Bestückauftrages (ba') erfasste Bearbeitungszustand (bz) direkt an zumindest einen in der Fertigungslinie nachfolgenden Bestückautomaten (BA) elektronisch übermittelt wird.Method according to the preceding method claim, in which the processing state (bz) recorded after the adapted placement order (ba ') has been carried out is transmitted electronically directly to at least one placement machine (BA) following in the production line. Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem die Schritte Ausführen (S3) und Ansteuern (S5) solange wiederholt ausgeführt werden bis eine vorkonfigurierbare Abbruchbedingung erfüllt ist.Method according to one of the preceding method claims, in which the steps execute (S3) and control (S5) are carried out repeatedly until a preconfigurable termination condition is fulfilled. Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem der Adaptionsalgorithmus erfasst, ob an zumindest einem der Bestückautomaten (BA) der Fertigungslinie (FL) eine Verzögerung aufgetreten ist und in Abhängigkeit davon den angepassten Bestückauftrag (ba') zu berechnen.Method according to one of the preceding method claims, in which the adaptation algorithm detects whether a delay has occurred at at least one of the placement machines (BA) in the production line (FL) and to calculate the adapted placement order (ba ') as a function thereof. Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem der nach der Ausführung des angepassten Bestückauftrages (ba') erfasste Bearbeitungszustand (bz) einen elektronischen Datensatz über eine Mehrbestückung oder eine Minderbestückung durch den jeweiligen Bestückautomaten (BA) enthält.Method according to one of the preceding method claims, in which the processing state (bz) recorded after execution of the adapted placement order (ba ') contains an electronic data record of an increase or decrease in placement by the respective placement machine (BA). Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem im Fall einer auszuführenden Mehrbestückung, der jeweilige Mehr-Bestückauftrag auf die in der Fertigungslinie (FL) folgenden, einzelnen Bestückautomaten (BA) verteilt wird.Method according to one of the preceding method claims, in which, in the case of an additional assembly to be carried out, the respective additional assembly order is distributed to the individual automatic placement machines (BA) which follow in the production line (FL). Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem die Bestückautomaten (BA) untereinander über eine Maschine-zu-Maschine Kommunikation, insbesondere über ein Whisper-Protokoll und/oder über ein IPC-HERMES-9852 Protokoll Daten austauschen und den nach der Ausführung des angepassten Bestückauftrages (ba') erfassten Bearbeitungszustand (bz) an den jeweiligen in der Fertigungslinie nachfolgenden Bestückautomaten (BA) senden.Method according to one of the preceding method claims, in which the placement machines (BA) exchange data with one another via machine-to-machine communication, in particular via a Whisper protocol and / or via an IPC-HERMES-9852 protocol, and the data after execution of the adapted Send the placement order (ba ') the processing status (bz) to the respective placement machine (BA) that follows in the production line. Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem der SHOULD Datensatz definiert, dass die jeweilige Position von dem jeweiligen Bestückautomaten (BA) bestückt werden sollte, wenn keine Verzögerungen oder kein Fehler auftreten und dann nicht bestückt wird, wenn Verzögerungen oder ein Fehler auftreten. Method according to one of the preceding method claims, in which the SHOULD data record defines that the respective position should be populated by the respective placement machine (BA) if there are no delays or no errors and then not populated if delays or an error occur. Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem der CAN Datensatz definiert, dass die jeweilige Position von dem jeweiligen Bestückautomaten (BA) bestückt werden kann, wenn eine Verzögerung oder ein Fehler auftritt.Method according to one of the preceding method claims, in which the CAN data record defines that the respective position can be loaded by the respective placement machine (BA) if a delay or an error occurs. Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem der MUST Datensatz definiert, dass die jeweilige Position von dem jeweiligen Bestückautomaten (BA) bestückt werden muss.Method according to one of the preceding method claims, in which the MUST data record defines that the respective position must be equipped by the respective placement machine (BA). Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem ein Effizienzsteigerungswert für die Ausführung des Bestückungsplans berechnet wird, der eine Zeiteinsparung des Verfahrens bei Anwendung des Adaptionsalgorithmus im Vergleich zu einem Verfahren ohne dessen Anwendung repräsentiert.Method according to one of the preceding method claims, in which an efficiency increase value for the execution of the assembly plan is calculated, which represents a time saving of the method when using the adaptation algorithm compared to a method without its application. Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem ein Vorhersagedatensatz berechnet wird, der aus einer Analyse von bereits ausgeführten Bestückungsplänen unter Berücksichtigung von den angewendeten Adaptionsalgorithmen eine Vorhersage zur verbesserten Aufrüstung des Bestückautomaten (BA) bereitstellt.Method according to one of the preceding method claims, in which a prediction data record is calculated, which provides a prediction for improved upgrading of the placement machine (BA) from an analysis of placement plans already carried out, taking into account the adaptation algorithms used. Verfahren nach einem der vorangehenden Verfahrensansprüche, bei dem der Bestückautomat (BA) im Verzögerungsfall oder Fehlerfall einen Schätzwert für die durch den Fehler verursachte Verzögerung für die Bestückung ermittelt und bei dem die Anwendung des Adaptionsalgorithmus' nur aktiviert wird, falls der ermittelte Schätzwert einen vorkonfigurierbaren Schwellenwert überschreitet.Method according to one of the preceding method claims, in which the placement machine (BA) in the event of a delay or in the event of an error determines an estimate for the delay caused by the error in the placement, and in which the application of the adaptation algorithm is only activated if the determined estimate is a preconfigurable threshold value exceeds. Computerprogramm mit Programmcode oder Programmmitteln, wobei das Computerprogramm auf einem computerlesbaren Datenträger gespeichert sein kann, wobei der Programmcode oder die Programmmittel einen Computer veranlassen, ein Verfahren nach einem der vorangehenden Verfahrensansprüche auszuführen, wenn das Computerprogramm auf einem Computer oder einer Computer-basierten Verarbeitungseinheit (SM, V) ausgeführt wird.Computer program with program code or program means, wherein the computer program can be stored on a computer-readable data carrier, wherein the program code or program means cause a computer to carry out a method according to one of the preceding method claims, if the computer program on a computer or a computer-based processing unit (SM , V) is executed. Steuermodul (SM) für einen Bestückautomaten (BA), wobei der Bestückautomat (BA) zusammen mit anderen Bestückautomaten (BA) zur Bestückung von Leiterplatten (LP) in einer Fertigungslinie (FL) ausgebildet ist, wobei das Steuermodul (SM) ausgebildet ist, den Bestückautomaten (BA) mit einem Verfahren nach einem der vorangehenden Verfahrensansprüche zu steuern.Control module (SM) for an automatic placement machine (BA), the automatic placement machine (BA) being designed together with other automatic placement machines (BA) for the assembly of printed circuit boards (LP) in a production line (FL), the control module (SM) being designed To control placement machines (BA) with a method according to one of the preceding method claims. Steuermodul (SM) gemäß dem unmittelbar vorangehenden Anspruch, wobei das Steuermodul (SM) mit einer Schnittstelle zu weiteren Steuermodulen (SM) von anderen Bestückautomaten (BA) ausgebildet ist.Control module (SM) according to the immediately preceding claim, wherein the control module (SM) is formed with an interface to other control modules (SM) from other placement machines (BA). Bestückautomat (BA) mit einem Steuermodul (SM), gemäß einem der vorangehenden auf das Steuermodul (SM) gerichteten Ansprüche.Automatic placement machine (BA) with a control module (SM), according to one of the preceding claims directed to the control module (SM). System zur Steuerung einer Fertigungslinie (FL) zur Fertigung von Leiterplatten (LP), mit: - mehreren Bestückautomaten (BA) zur Bestückung der Leiterplatten (LP), wobei jeweils ein Bestückautomat (BA) jeweils eine Teilaufgabe eines Bestückungsplans ausführt und wobei jeweils ein Bestückautomat (BA) ein elektronisches Steuermodul (SM) gemäß einem der vorangehenden auf das Steuermodul (SM) gerichteten Patentansprüche aufweist; - einem Linienoptimierer (LO), der dazu bestimmt ist, den Bestückungsplan in Teilaufgaben zur Zuweisung auf die einzelnen Bestückautomaten (BA) der Fertigungslinie (FL) zu zergliedern und der weiterhin dazu bestimmt ist, jeweils einen individuell für einen jeweiligen Bestückautomaten (BA) erzeugten flexiblen Bestückauftrag zu berechnen, der vorgibt, welche Position auf der Leiterplatte (LP) mit welchem Bauteiltyp (t) zu bestücken ist, wobei der Bestückauftrag (BA) flexibilisiert ist, indem zusätzlich zu jeder Position einen Anpassungsparameter bestimmt wird, der einen berechneten SHOULD, CAN oder MUST-Datensatz enthält, um jeweils festzulegen, welche Bestückposition von dem Bestückautomaten (BA) ausgeführt werden soll, kann oder muss; - Einer Datenverbindung zwischen den einzelnen Bestückautomaten (BA) und einer Datenverbindung zwischen den einzelnen Bestückautomaten (BA) und dem Linienoptimierer (LO).System for controlling a production line (FL) for the production of printed circuit boards (LP), with: - Several placement machines (BA) for assembling the printed circuit boards (LP), with one placement machine (BA) each carrying out a partial task of a placement plan and one placement machine (BA) each with an electronic control module (SM) according to one of the preceding ones on the control module (SM ) has directed claims; - A line optimizer (LO), which is intended to break down the assembly plan into sub-tasks for assignment to the individual placement machines (BA) of the production line (FL) and which is also intended to generate one for each placement machine (BA) to calculate a flexible placement order, which specifies which position on the circuit board (LP) is to be equipped with which component type (t), the placement order (BA) being made more flexible by additionally determining an adjustment parameter for each position, which calculates a calculated SHOULD, Contains CAN or MUST data records in order to determine which placement position should, or must, be carried out by the placement machine (BA); - A data connection between the individual placement machines (BA) and a data connection between the individual placement machines (BA) and the line optimizer (LO).
DE102018133183.5A 2018-12-20 2018-12-20 Process for controlling an assembly process of automatic placement machines, electronic control of automatic placement machines, automatic placement machine and system for controlling a production line in the circuit board production Active DE102018133183B4 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102018133183.5A DE102018133183B4 (en) 2018-12-20 2018-12-20 Process for controlling an assembly process of automatic placement machines, electronic control of automatic placement machines, automatic placement machine and system for controlling a production line in the circuit board production
CN201911325259.2A CN111356353B (en) 2018-12-20 2019-12-20 Electronic control of pick-and-place machines in the production of printed circuit boards

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102018133183.5A DE102018133183B4 (en) 2018-12-20 2018-12-20 Process for controlling an assembly process of automatic placement machines, electronic control of automatic placement machines, automatic placement machine and system for controlling a production line in the circuit board production

Publications (2)

Publication Number Publication Date
DE102018133183A1 DE102018133183A1 (en) 2020-06-25
DE102018133183B4 true DE102018133183B4 (en) 2020-07-09

Family

ID=70969669

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018133183.5A Active DE102018133183B4 (en) 2018-12-20 2018-12-20 Process for controlling an assembly process of automatic placement machines, electronic control of automatic placement machines, automatic placement machine and system for controlling a production line in the circuit board production

Country Status (2)

Country Link
CN (1) CN111356353B (en)
DE (1) DE102018133183B4 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020126386A1 (en) 2020-10-08 2022-04-14 Asm Assembly Systems Gmbh & Co. Kg Synchronization of measures to adjust the functionality of two placement machines of a placement line

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998049646A2 (en) 1997-05-01 1998-11-05 Motorola Inc. Dynamically reconfigurable assembly line for electronic products
WO2000015017A1 (en) 1998-09-08 2000-03-16 Siemens Production And Logistics Systems Ag Method and device for processing substrates
DE102009043642A1 (en) 2009-09-29 2011-03-31 Siemens Electronics Assembly Systems Gmbh & Co. Kg Method for assembling printed circuit board with electronic component in assembly device e.g. pick-and-place machine, involves storing actual assembling condition at equipment program service while assembling printed circuit board
US20140090244A1 (en) 2011-06-14 2014-04-03 Yamaha Hatsudoki Kabushiki Kaisha Set-up method, component mounting method, and component mounting system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014076755A1 (en) * 2012-11-13 2014-05-22 富士機械製造株式会社 Substrate production state monitoring device
JP6402451B2 (en) * 2014-02-14 2018-10-10 オムロン株式会社 Quality control device, quality control method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998049646A2 (en) 1997-05-01 1998-11-05 Motorola Inc. Dynamically reconfigurable assembly line for electronic products
WO2000015017A1 (en) 1998-09-08 2000-03-16 Siemens Production And Logistics Systems Ag Method and device for processing substrates
DE102009043642A1 (en) 2009-09-29 2011-03-31 Siemens Electronics Assembly Systems Gmbh & Co. Kg Method for assembling printed circuit board with electronic component in assembly device e.g. pick-and-place machine, involves storing actual assembling condition at equipment program service while assembling printed circuit board
US20140090244A1 (en) 2011-06-14 2014-04-03 Yamaha Hatsudoki Kabushiki Kaisha Set-up method, component mounting method, and component mounting system

Also Published As

Publication number Publication date
CN111356353A (en) 2020-06-30
DE102018133183A1 (en) 2020-06-25
CN111356353B (en) 2021-06-22

Similar Documents

Publication Publication Date Title
DE112006003661T5 (en) Electronic component mounting system and electronic component mounting method
EP3170378B1 (en) Population of printed circuit boards
DE112008000767T5 (en) Method for assembling components
EP3616482B1 (en) Method and control device for the processing-time-optimized production of printed circuit boards on an assembly line
DE102014222936A1 (en) Assembly of printed circuit boards
DE102006022371A1 (en) Operation of a manufacturing plant for electronic assemblies
DE102018133183B4 (en) Process for controlling an assembly process of automatic placement machines, electronic control of automatic placement machines, automatic placement machine and system for controlling a production line in the circuit board production
EP3556191B1 (en) Method and control device for the throughput-optimised production of printed circuit boards on a pick-and-place line
DE112020006433T5 (en) Parts assembly system and parts assembly method
DE102009043642B4 (en) Method for assembling printed circuit boards with components
DE102008020167A1 (en) Method for determining optimal allocation of product to be produced in selected production line from multiple production lines configured differently, involves computing production time for product for each production line
DE112019007255T5 (en) Integrated navigation system and work command procedure
DE102018201136A1 (en) Manufacturing management device and manufacturing status display method
EP3485455A1 (en) Method and device for determining optimum batch sizes
DE112018007667T5 (en) COMPONENT REFILL MANAGEMENT SYSTEM AND COMPONENT ASSEMBLY SYSTEM
DE112018007670T5 (en) COMPONENT REFILL MANAGEMENT SYSTEM AND COMPONENT ASSEMBLY SYSTEM
WO2009062524A1 (en) Method for fitting an equipping device
EP3474650A1 (en) Method for producing a retrofitting set for an assembly machine
DE112018007175T5 (en) Component replenishment management system and component mounting system
DE112017007549T5 (en) Production management device
EP3581006B1 (en) Method and control device for the throughput-optimised production of printed circuit boards on multiple assembly lines
DE112019007135T5 (en) Component mounting system and method
EP1786255B1 (en) Feeding device for transport of electrical components
DE102020126386A1 (en) Synchronization of measures to adjust the functionality of two placement machines of a placement line
DE112021007531T5 (en) Component assembly system and component assembly method

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R082 Change of representative

Representative=s name: DILG, HAEUSLER, SCHINDELMANN PATENTANWALTSGESE, DE

Representative=s name: SCHWARZ + KOLLEGEN PATENTANWAELTE, DE

R020 Patent grant now final
R082 Change of representative

Representative=s name: DILG, HAEUSLER, SCHINDELMANN PATENTANWALTSGESE, DE

R081 Change of applicant/patentee

Owner name: ASMPT GMBH & CO. KG, DE

Free format text: FORMER OWNER: ASM ASSEMBLY SYSTEMS GMBH & CO. KG, 81379 MUENCHEN, DE