Restructuring a Design through Refactoring
Refactoring im traditionellen Sinne ist das Umstrukturieren eines bestehenden Designs (oder eines Codebestands in der Programmierung), ohne die Funktionalität dieses Designs (oder Codes) zu verändern. Im PCB-Design gibt es verschiedene Situationen, in denen eine Form des Refactorings eine vorteilhafte und zeitnahe Lösung bietet:
-
Ein Bauteil ist obsolet geworden und muss durch eine funktional gleichwertige Teilschaltung ersetzt werden. (Show Me)
-
Ein Schaltplanentwurf soll zu einer Teilschaltung werden, die innerhalb eines größeren Designs verwendet wird. (Show Me)
-
Ein vorhandenes Schaltplan-Untersheet soll in ein Device Sheet umgewandelt werden, um es in zukünftigen Designs wiederzuverwenden. (Show Me)
-
Ein vorhandenes Device Sheet muss für das aktuelle Design lokalisiert und angepasst werden. (Show Me)
-
Ein Teil einer vorhandenen Teilschaltung muss auf ein anderes Sheet verschoben werden. (Show Me)
Altium Designer bietet mehrere Funktionen, die zusammen seine Design-Refactoring-Fähigkeiten bilden und Ihnen maximale Flexibilität geben, Ihre Designs entsprechend den Anforderungen umzustrukturieren.
Ein Bauteil in ein Sheet Symbol umwandeln
Diese Funktion wandelt ein Bauteil im aktuellen Dokument in ein Sheet Symbol um. Sie ist ideal, wenn ein vorhandenes Bauteil obsolet geworden ist und durch eine funktional gleichwertige Teilschaltung ersetzt werden muss, die auf einem separaten Sheet definiert ist.
Wenn Sie mit der rechten Maustaste auf ein Bauteil klicken und dann im Kontextmenü den Befehl Part Actions » Convert Part To Sheet Symbol wählen, wird das Bauteilsymbol in ein Sheet Symbol umgewandelt. Die Konnektivität bleibt erhalten, wobei die Sheet Entries nach dem ursprünglichen Pinnamen benannt werden und I/O Type so gesetzt wird, dass es den ursprünglichen elektrischen Pintyp widerspiegelt.
Die Designator des Sheet Symbols wird zunächst auf den Designator des ursprünglichen Bauteils gesetzt, und seine File Name is wird zunächst auf den Kommentartext des Bauteils gesetzt.
Wandeln Sie ein vorhandenes Bauteil in ein Sheet Symbol um.
Wenn das benötigte Child Sheet vorhanden ist, ändern Sie die File Name des Sheet Symbols so, dass sie auf dieses Sheet verweist. Falls nicht, kann schnell ein Untersheet erstellt werden, indem Sie mit der rechten Maustaste auf das Sheet Symbol klicken und den Befehl Sheet Symbol Actions » Create Sheet From Sheet Symbol wählen. In diesem Fall werden auf dem neuen Untersheet Ports platziert, die den Sheet Entries des Symbols entsprechen und bereit sind, damit die Ersatz-Teilschaltung definiert und angeschlossen werden kann.
Ein Bauteil auf ein neues Untersheet verschieben
Eine alternative und möglicherweise schnellere Methode, ein ähnliches Ergebnis zu erzielen, besteht darin, mit der rechten Maustaste auf das gewünschte Bauteil zu klicken und dann den Befehl Part Actions » Push Part To Sheet zu wählen. Dieser Befehl wird verwendet, um ein Bauteil im aktuellen Dokument auf ein neues Untersheet zu verschieben und dabei das ursprüngliche Bauteil durch ein Sheet Symbol zu ersetzen, das auf dieses Sheet verweist. Dabei wird im Wesentlichen die folgende Abfolge von Schritten ausgeführt:
-
Das Bauteil wird kopiert.
-
Das ursprüngliche Bauteil wird in ein Sheet Symbol umgewandelt, wobei Designator auf den Designator des ursprünglichen Bauteils gesetzt wird und File Name auf <OriginalPartComment>.SchDoc gesetzt wird. Auch hier bleibt die Konnektivität erhalten, wobei die Sheet Entries nach dem ursprünglichen Pinnamen benannt werden und I/O Type so gesetzt wird, dass es den ursprünglichen elektrischen Pintyp widerspiegelt.
-
Aus dem Sheet Symbol wird ein neues Schaltplan-Sheet erstellt und anhand des Werts von File Name des Symbols benannt.
-
Die Kopie des ursprünglichen Bauteils wird in die Mitte des Sheets eingefügt; dabei werden Ports platziert und mit den Pins des Bauteils verdrahtet, die den Sheet Entries des Sheet Symbols entsprechen.
Sie können das Bauteil dann löschen und es bei Bedarf durch funktional gleichwertige Schaltung ersetzen.
Mit dem Befehl Push Part To Sheet wird das ursprüngliche Bauteil schnell in ein Sheet Symbol umgewandelt, und anschließend wird eine Kopie dieses Bauteils auf ein neu erstelltes Sheet eingefügt,
auf das dieses Symbol verweist.
Ein Bauteil in Ports umwandeln
Diese Funktion wird verwendet, um ein Bauteil im aktuellen Dokument in eine Gruppe von Ports umzuwandeln. Sie ist ideal für ein vorhandenes eigenständiges Teildesign, etwa eine Stromversorgung oder eine Satellitenplatine, das zu einer Teilschaltung gemacht werden soll, die innerhalb eines größeren Single-Board-Designs verwendet wird, möglicherweise um die Fertigungskosten zu senken. Dies ist das Gegenteil des vorherigen Abschnitts, in dem eine Komponente durch eine Teilschaltung auf niedrigerer Ebene ersetzt wurde. Stattdessen handelt es sich hier um den Prozess, eine Teilschaltung in das übergeordnete Design einzubinden und sie für die Verbindung zu einem Punkt oberhalb in der Hierarchie verfügbar zu machen.
Wenn Sie mit der rechten Maustaste auf ein Bauteil klicken und dann im Kontextmenü den Befehl Part Actions » Convert Part To Ports wählen, wird das Bauteilsymbol in eine Gruppe von Ports umgewandelt. Die Konnektivität bleibt erhalten, wobei die Ports nach dem ursprünglichen Pinnamen benannt werden und I/O Type so gesetzt wird, dass es den ursprünglichen elektrischen Pintyp widerspiegelt.
Verwenden Sie den Befehl Convert Part To Ports, um ein Bauteil schnell durch Ports zu ersetzen, die eine Teilschaltung in ein übergeordnetes Design einbinden.
Das Einfügen der Teilschaltung in die Hierarchie wird dann durch das Hinzufügen eines Sheet Symbols auf dem entsprechenden übergeordneten Parent Sheet abgeschlossen. Gehen Sie dazu wie folgt vor:
-
Aktivieren Sie das benötigte Parent Sheet.
-
Verwenden Sie den Befehl Design » Create Sheet Symbol From Sheet.
-
Wählen Sie im Dialog Choose Document to Place das Dokument aus (das die aus dem Bauteil erzeugten Ports enthält).
-
Ein Sheet Symbol erscheint am Cursor; positionieren Sie es wie gewünscht im Sheet und klicken Sie dann, um es zu platzieren.
Das Sheet Symbol verweist auf das zugrunde liegende Untersheet (über seine Eigenschaft File Name ) und besitzt Sheet Entries, die den Ports auf dem Child Sheet entsprechen.

Verwenden Sie den Befehl Create Sheet Symbol From Sheet, um schnell ein Sheet Symbol hinzuzufügen und damit die Teilschaltung in die Designhierarchie einzubinden.
Ein Schaltplan-Sheet in ein Device Sheet umwandeln
Irgendwann muss das Konzept des wiederverwendungsorientierten Designs in seiner Abstraktion erweitert werden. Wenn wir auf der Komponentenebene stehen blieben, würde jedes Design mit einer ähnlichen Funktionalität, etwa einer USB-Schnittstelle oder einem Spannungsregler, gewissermaßen das Rad neu erfinden. Hier kommen Device Sheets ins Spiel, also Schaltplan-Sheets, die dafür ausgelegt sind, bestimmte Schaltungsfunktionen bereitzustellen. Ihre Verwendung beseitigt die Risiken des traditionellen Copy-and-Paste-Ansatzes. Sie vermeiden die Wiederholung von Entwicklungsaufwand und erhöhen zugleich den Anteil an Designinhalten, die in zukünftigen Designs wiederverwendet werden können.
Als Teil seiner Refactoring-Werkzeugsuite ermöglicht Ihnen der Schaltplaneditor, ein vorhandenes Standard-Schaltplan-Sheet schnell in ein Device Sheet umzuwandeln, um es in anderen Designs wiederzuverwenden.
So wandeln Sie ein vorhandenes Schaltplan-Sheet in ein Device Sheet um:
-
Suchen Sie auf der entsprechenden Parent-Seite in der Designhierarchie das Sheet Symbol, das auf das gewünschte Sheet verweist.
-
Wählen Sie das Sheet Symbol aus und wählen Sie in den Hauptmenüs den Befehl Edit » Refactor » Convert Selected Schematic Sheet To Device Sheet. Der Dialog Convert Schematic Sheet to Device Sheet wird angezeigt. Wählen Sie den Zielort, an dem das neu erstellte Device Sheet gespeichert werden soll, sowie den Umfang der Umwandlung – ob das aktuelle Sheet Symbol oder alle relevanten Sheet Symbols im Designbereich oder aktiven Projekt aktualisiert werden sollen. Letzteres ist besonders nützlich bei einem Multi-Channel-Design, bei dem die Teilschaltung in mehreren Instanzen vorhanden ist.
Geben Sie die Details der Umwandlung im Dialog Convert Schematic Sheet to Device Sheet an.
-
Klicken Sie auf OK. Das Sheet Symbol wird in ein Device-Sheet-Symbol umgewandelt, und der Schaltplan wird an den angegebenen Device-Sheet-Speicherort verschoben.
Eigenschaften des ursprünglichen Sheet Symbols werden vom Device-Sheet-Symbol übernommen.
Ein Device Sheet in ein Schaltplan-Sheet umwandeln
Device Sheets ermöglichen es, funktionale Teilschaltungen zu erfassen und designübergreifend wiederzuverwenden. Es kann jedoch erforderlich sein, eine vorhandene Teilschaltung für ein bestimmtes Design zu ändern. Anstatt das Device Sheet selbst zu ändern, ermöglicht Ihnen der Schaltplaneditor, eine Kopie des Device Sheets zu erstellen und dessen Schaltung auf einem Standard-Schaltplan-Sheet verfügbar zu machen. So können Sie die lokale Kopie entsprechend den Anforderungen Ihres aktuellen Designs ändern, in dem sicheren Wissen, dass das ursprüngliche Device Sheet unverändert bleibt.
So „wandeln“ Sie ein vorhandenes Device Sheet in ein Schaltplan-Sheet um:
-
Suchen Sie das Device-Sheet-Symbol, das auf das gewünschte Device Sheet verweist.
-
Wählen Sie das Device-Sheet-Symbol aus und wählen Sie in den Hauptmenüs den Befehl Edit » Refactor » Convert Device Sheet To Schematic Sheet. Der Dialog Convert Device Sheet to Schematic Sheet wird angezeigt. Wählen Sie den Zielort, an dem das neu erstellte Schaltplan-Sheet gespeichert werden soll, sowie den Umfang der Umwandlung – ob das aktuelle Device-Sheet-Symbol oder alle relevanten Device-Sheet-Symbole im aktiven Projekt aktualisiert werden sollen.
Geben Sie die Details der Umwandlung im Dialog Convert Device Sheet to Schematic Sheet an.
-
Klicken Sie auf OK. Das Device-Sheet-Symbol wird in ein Sheet-Symbol umgewandelt, und eine Kopie des Device-Sheets wird lokal als Standardblatt (ungeschützt) am angegebenen Speicherort abgelegt. Das Sheet-Symbol verweist auf dieses lokale Blatt.
Das lokale Schaltplanblatt ersetzt nach der Konvertierung das vorherige Device-Sheet im Bereich Projects .
Die Eigenschaften des ursprünglichen Device-Sheet-Symbols werden vom Sheet-Symbol übernommen.
Verschieben ausgewählter Teilschaltungen auf ein anderes Blatt
Im Verlauf der Weiterentwicklung eines Designs kann es erforderlich sein, den Inhalt der Quell-Schaltplanblätter, aus denen dieses Design besteht, neu anzuordnen – ein bestimmter Teil der Schaltung lässt sich möglicherweise auf einem eigenen Blatt besser darstellen, oder ein Blatt wird überladen (und unleserlich!) und würde davon profitieren, wenn ein Teil der Schaltung auf ein zusätzliches/anderes Blatt verschoben wird.
Eine weitere Refactoring-Funktion ist die Möglichkeit, ein oder mehrere Objekte auf einem Blatt auszuwählen und diese Auswahl auf ein anderes Blatt zu verschieben. Gehen Sie dazu wie folgt vor:
-
Wählen Sie zunächst die Schaltung aus, die Sie verschieben möchten.
-
Klicken Sie mit der rechten Maustaste und wählen Sie im Kontextmenü den Befehl Edit » Refactor » Move Selected Subcircuit to Different Sheet. Daraufhin wird der Dialog Choose Destination Document geöffnet, in dem Sie das Ziel-Schaltplanblatt festlegen können.
Verschieben Sie einen Teil eines Designs auf ein anderes Schaltplanblatt.
-
Klicken Sie auf OK. Das ausgewählte Blatt wird aktiv, und die ausgewählte Teilschaltung erscheint schwebend am Cursor.
-
Positionieren Sie die Schaltung wie erforderlich auf dem Blatt und klicken Sie, um sie zu platzieren. Nach dem Platzieren wird diese Schaltung vom ursprünglichen Blatt entfernt.
-
Wenn die verschobene Schaltung ein oder mehrere vorhandene Sheet-Symbole enthält, werden die durch diese Symbole referenzierten untergeordneten Schaltplanblätter in der im Bereich Projects dargestellten Designhierarchie unter das Blatt verschoben, auf das diese Sheet-Symbole verschoben wurden. Wenn auf ein neues Blatt verschoben wird, fügen Sie der entsprechenden übergeordneten Seite ein Sheet-Symbol hinzu, um dieses Blatt korrekt in die Designhierarchie einzufügen.