Die letzte Leiterbahn ist fertig geroutet und die Planes sind generiert. Wer Altium noch aus den Protel-Zeiten kennt, der weiß, dass jetzt noch eine gehörige Portion Arbeit auf einen zukam. Für die abschließende Erzeugung der Dokumentation mussten alle Einstellungen mühsam per Hand neu gesetzt und die benötigten Dateien einzeln generiert werden.
Zum Glück sind diese Zeiten lange vorbei.
Natürlich kann man auch noch mit Altium Designer 19.1 alles einzeln erzeugen (File ? Fabrication-/Assembly-Outputs), die Benutzung der OutputJob-Funktion ist jedoch wesentlich einfacher und man kann die einmal gemachten Einstellungen immer wiederverwenden. Damit kann man die Dokumentation aller PCB Projekte im Unternehmen vereinheitlichen und sicherstellen, dass immer alle benötigten Informationen enthalten sind und nichts Relevantes vergessen wurde. Manuelle Arbeiten und unnötige Rückfragen vom Leiterplatten-Produzenten / -Bestücker oder von innerbetrieblichen Abteilungen können so vermieden werden.
Außerdem können auch Dokumentationen erzeugt werden, die weit über die übliche Fabrication- oder Assembly-Dokumentation hinausgeht.
Ich möchte Ihnen mit diesem Artikel einen Überblick und Anregungen über die vielfältigen Möglichkeiten dieser Funktion geben.
In einem OutputJob (oder kurz „OutJob“) kann die Generierung einer beliebigen Menge von Ausgaben definiert werden. Die Ausgaben können sowohl in eine Datei bzw. eine Ordnerstruktur als auch direkt auf einen Drucker erfolgen. Im Folgenden beschränke ich mich auf die digitale Erzeugung, da physikalische Ausdrucke meist schnell veraltet sind und nur in irgendwelchen Aktenordnern verschwinden, ohne jemals wieder angesehen zu werden.
Ausgaben können als sogenannte Container definiert werden, die entweder aus einer PDF-Datei (z.B. Schematics, Assembly Drawings, etc.), Daten (z.B. Gerber-Daten, Step-Daten, etc.) oder einem Video bestehen.
Es kann z.B. ein Container definiert werden, der alle benötigten Daten für den Leiterplatten-Hersteller generiert:
Gerber
ODB++
NC Drill
etc.
Oder ein Container für den Leiterplattenbestücker:
Assembly Drawings
Pick and Place
Stückliste („Bill of Materials“)
3D-Ansicht (gerendertes Bild oder ein PDF3D) der Leiterplatte
Draftsman
STEP-Modell
etc.
Es ist empfehlenswert jeweils eine OutputJob-Datei für jede benötigte Ausgabe zu erstellen. Also z.B. eine OutputJob-Datei für die interne Dokumentation mit Schaltplan, eine Datei für den Leiterplattenproduzenten mit Produktionsdaten, usw.
Die benötigten Daten bzw. Dokumente können einfach per Klick den entsprechenden Containern zugewiesen werden. Die Reihenfolge kann durch Doppelklick auf das Enable-Feld geändert werden.
Weiterhin kann konfiguriert werden, ob die OutputJob-Datei nur eine bestimmte Bestückungsvariante berücksichtigen soll oder ob die Variante für jede Ausgabe einzeln festgelegt werden soll.
Darüber hinaus kann jedes generierte Dokument individuell angepasst werden. Bei PCB Drawings kann z.B. eingestellt werden, welche Layer ausgegeben werden und welche Farben dafür benutzt werden sollen. Es kann u.a. konfiguriert werden, ob das erzeugte PDF Verweise zu den Netzen und Bauteilen und/oder Parameter zu jedem Bauteil enthalten soll. Außerdem kann auch die verwendete PDF-Version ausgewählt werden.
Auch bei den CAM-Daten können diverse Anpassungen (Datenformat, Einheiten, etc.) vorgenommen werden.
Das Gleiche gilt auch für die BOM-Generierung, die bereits in dem dreiteiligen Beitrag von Sven Ingelfinger ausführlich behandelt wurde.
Nicht zu vergessen die Draftsman Dokumente, die wichtige Informationen zur Bestückung und Montage der Leiterplatte geben können. Auch hier kann ein Template erstellt werden, um ein einheitliches Bild und gleichbleibende Informationen zu schaffen. U.a. können Designdetails hervorgehoben, Bemaßungen hinzugefügt, Layerstack und Drilltable hinzugefügt werden. Für weitere Recherche empfehle ich die Altium Designer® Hilfe und die Artikel im Blog.
Wie ich oben schon erwähnt habe, gibt es jedoch auch noch weitergehende Möglichkeiten der Dokumentation, die nicht unbedingt für Leiterplattenherstellung oder -bestückung wichtig, aber essenziell für das Gesamtprodukt sind.
Zum Beispiel kann ein OutputJob auch ein Schritt in einer internen Verifizierungs-/Validierungskette sein. ERC (Electrical Rule Check) und DRC (Design Rule Check) können automatisch als Bestandteil des OutputJobs getriggert und der Dokumentation hinzugefügt werden. Es kann auch automatisch geprüft werden, ob alle im Projekt verwendeten Footprints in Libraries sind (Footprint Comparison) oder ob alle Templates korrekt verwendet wurden (Configuration Compilance). Diese Dokumente können dann z.B. als ein Entscheidungskriterium in einem Gatereview Prozess genutzt werden.
Nachdem ich ausführlich auf die Möglichkeiten der Containertypen „PDF“ und „Daten“ eingegangen bin, möchte ich nun auch noch die Einsatzmöglichkeiten des dritten Containertyps „Video“ erläutern. Die Erstellung eines Videos beginnt im PCB Editor mit dem „PCB 3D Movie Editor“ Panel. Mit „New“ können Sie ein neues Video anlegen und dann die Bewegungsabläufe („Key Frame“) definieren. Jedes „Key Frame“ ist eine neue Position der Baugruppe im Raum. Die Bewegungen dazwischen werden bei der Generierung des Videos interpoliert, das vereinfacht die Erstellung ungemein und man bekommt mit wenigen Mausklicks ein eindrucksvolles Ergebnis. Mit dem Parameter „Duration“ gibt man die Zeit in Sekunden an, die für die Transition vom vorhergehenden Key Frame zum neuen Key Frame benötigt wird.
Ganz besonders beeindruckend sind Videos von Starrflex-Boards, denn es wird, sofern vorher definiert, auch der „Fold State“ berücksichtigt. So kann z.B. die spätere Einbauposition bei einer Präsentation perfekt visuell aufbereitet werden, auch wenn es noch keinen Prototypen gibt.
Nachdem alle Key Frames definiert wurden, kann man sich das Ergebnis auch schon direkt im PCB Editor vorab anschauen. Auflösung, Videotyp, -codec und -qualität können dann wieder im OutputJob festgelegt werden.
Sie sehen, mit OutputJobs kann man
individuelle und gleichbleibende Fertigungs-Dokumentation generieren
manuelle Arbeit minimieren
gerenderte Bilder und Videos zur Produktpräsentation erzeugen
Um nun ein Projekt zu releasen brauchen Sie nur noch die verschiedenen Container in den OutputJobs und können daraus die benötigten Dokumente und Daten generieren. Sie können den Arbeitsaufwand für ein Release aber noch weiter reduzieren. Dadurch müssen Sie nicht mehr alle Container einzeln triggern, sondern können diese Aufgabe dem „Project Releaser“ überlassen. Dort können Sie die einzelnen OutputJobs hinterlegen, die dann vom „Project Releaser“ automatisch aufgerufen und die Ausgaben nach Ihren Wünschen abgelegt werden.
Ich weiß, dass die hier beschriebenen Einstellungen sehr umfangreich sind und im ersten Moment erschlagend wirken können. Nachdem man jedoch die ersten Schritte gemacht hat, sieht man schnell Erfolge und die einmal gemachten Einstellungen lassen sich ohne oder mit sehr geringen Anpassungen immer wieder verwenden und reduzieren somit den späteren Arbeitsaufwand enorm. Für einen ersten Einstieg können Sie z.B. das von Altium bereitgestellte Beispielprojekt „Bluetooth Sentinel“ öffnen und die enthaltenen OutputJobs für Ihre Zwecke anpassen.
Überzeugen Sie sich selbst von den Vorteilen!