mikrocontroller.net

Forum: Platinen Altium Room über mehrere Sheets nicht möglich?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe eine Platine mit 4 Baugruppen. Daher will ich nur eine 
plazieren und routen und dann über "Copy Room Formats" vervielfältigen. 
Das klappte auch bisher sehr gut bei einer Sheet.

Nun ist die Schaltung aber recht umfangreich, d.h. eine Baugruppe 
besteht aus 3 Sheets.
Und da beiße ich mir schon tagelang die Zähne aus, wie ich einen Room 
aus 3 Sheets definiere. Immer kriege ich dieses berüchtigte 
"Channel-Offset Errors Found".
Es kann doch nicht sein, daß Rooms nur eine Sheet groß sein dürfen.
Auch finde ich nirgends, was diese Fehlermeldung bedeutet.

Ich hab jetzt als Würg-Around alles auf ne A2-Sheet geknallt, aber das 
kann doch nicht die Lösung sein.

Autor: Wühlhase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm...und die Dokumentation über Multi-Channel sagt dir nichts dazu?

Ohne Multi-Channel kannst du Copy-Room-Format auch nicht benutzen, d.h. 
es muß so oder so ein Multi-Channel sein. Schau mal, was du unter dem 
Stichwort Parametric Multi-Channel Hierarchical Design findest...klingt 
mir doch nach dem, was du suchst.

Autor: Taz G. (taz1971)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> Nun ist die Schaltung aber recht umfangreich, d.h. eine Baugruppe
> besteht aus 3 Sheets.

Ich kann jetzt nicht testen aber mal so aus dem Gedächtnis.
Mach ein Sheet für die Baugruppe über diese 3 Sheets - Quasi ein 
Mastersheet und platziere die 3 Subsheets als Sheetsymbol. In den 
Project Options - Class Generation kann man nun die Rooms für die 
Subsheets ausschalten (stören ja nur) und den vom Master muss natürlich 
eingeschaltet sein. Auf einem weiteren Sheet darüber kann man dann das 
Sheet 'Baugruppe' viermal platzieren (oder als Repeat). (Ich denke das 
sollte gehen)

Autor: Rainer S. (enevile)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal paar Sheets von meiner Schaltung. Vielleicht hilft dir das.

Mir hat dieses Video enorm geholfen:
Youtube-Video "Multi Sheet and Hierarchical Structure"

PS: Bin noch nicht fertig mit der PCB ;) Normalerweise zeige ich keine 
halben Sachen

: Bearbeitet durch User
Autor: Fachexperte für Google (Gast)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
Taz G. schrieb:
> Mach ein Sheet für die Baugruppe über diese 3 Sheets - Quasi ein
> Mastersheet und platziere die 3 Subsheets als Sheetsymbol. In den
> Project Options - Class Generation kann man nun die Rooms für die
> Subsheets ausschalten (stören ja nur) und den vom Master muss natürlich
> eingeschaltet sein. Auf einem weiteren Sheet darüber kann man dann das
> Sheet 'Baugruppe' viermal platzieren (oder als Repeat).

Altium scheint ja ein mächtiges Programm zu sein. Leute die sich damit 
auskennn müssen ja unersetzbar sein.

Autor: Taz G. (taz1971)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fachexperte für Google schrieb:
> Altium scheint ja ein mächtiges Programm zu sein. Leute die sich damit
> auskennn müssen ja unersetzbar sein.

Das stimmt.
Ich muss aber sagen, dass wenn man ein 'Flat' Design macht (keine 
Hierarchie), was bedeutet alle Schaltplanseiten sind gleichberechtigt 
und über die Netznamen verbunden ist die Sache sehr simple. Erst wenn 
man eine Hierarchie aufbaut also Subsheets erzeugt, Ports platziert, 
Schaltplanseiten mehrfach benutzen möchte (z.B. Multichannel) wird es 
kompliziert und die standard Einstellungen sind leider nicht hilfreich.

PS: auf 'Main' ist SDA und SCL über Kreuz, wahrscheinlich so nicht 
gewollt.

: Bearbeitet durch User
Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Taz G. schrieb:
> Mach ein Sheet für die Baugruppe über diese 3 Sheets - Quasi ein
> Mastersheet und platziere die 3 Subsheets als Sheetsymbol.

Das habe ich auch probiert. Dann bleiben aber die 4 Rooms leer, d.h. 
enthalten keine Bauteile.

Autor: Wühlhase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm...so wie ich die Bilder verstehe, hast du nicht ein Multichannel aus 
drei Sheets, sondern zwei Multichannel aus jeweils einem Sheet.

Und dieses Gebilde willst du jetzt vervierfachen-hab ich das so richtig 
verstanden? Wo ist denn die Stelle, wo du vervierfachen willst?

Ansonsten würde ich das hier mal lesen:
https://www.altium.com/documentation/15.1/display/ADES/((Multi-Sheet+and+Multi-Channel+Design))_AD
https://techdocs.altium.com/display/ADOH/Multi-Channel+Design+Concepts

Vor allem das Beispiel mit der Tastenmatrix würde ich mir gut anschauen. 
Ansonsten sind, wie Taz schon angedeutet hat, die Projekteinstellungen 
bezüglich hierarchischen Aufbaus wichtig, schau dir mal genau an was die 
verschiedenen Einstellungen da machen. Mit diesen steht dein 
Multichannel-oder eben nicht.

Kompiliert Altium das denn so, wie es jetzt ist, fehlerfrei?

Wenn nicht: Ich meine mal das Problem gehabt zu haben das Altium 
gemeckert hat, wenn ich den Channel-Zähler nicht bei 1 hab loslaufen 
lassen. Du hast dein Output von 2...53 gewählt, ist das so gewollt? 
Kompiliert er den, wenn du da bei eins anfängst?
Wenn ja, dann würde ich das mal im Bugrunch-Forum posten bzw. schauen, 
ob es einen Thread dazu gibt und abstimmen.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Rooms werden bei mir so erzeugt, dass die Bauteile der gleichnamigen 
Component Class zugeordnet sind.
Über den Object Class Explorer kannst Du die Bauteile der passenden 
Klasse zuweisen.
Oder Du machst in der Room Definition die Bauteil-Zuordnung über ein 
Custom Query.

Autor: Wühlhase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann wundert mich das nicht, daß das nicht geht. Wie gesagt, Copy Room 
Format geht nur auf Rooms, die durch ein Multichannel erzeugt wurden. 
Was du willst ist ein Multichannel, daß die beiden Multichanness mit dem 
Main-Sheet enthält (was du oben in Bilder gegossen hast).

Zum dritten Mal: Lies doch einfach mal die verdammte Doku, ich hab sie 
dir doch schon extra verlinkt.

Autor: Fachexperte für Google (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wühlhase schrieb:
> Zum dritten Mal: Lies doch einfach mal die verdammte Doku, ich hab sie
> dir doch schon extra verlinkt.

Du bist aber ganz schön harsch :-(
Du solltest wissen, wer lesen kann, der googeld heutzutage und wer 
nicht, der zieht sich YT Tutorial's rein.
Das Ganze liest sich hier sehr kompliziert. Das schreckt bestimmt sehr 
viele ab.

Autor: Wühlhase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fachexperte für Google schrieb:
> Das Ganze liest sich hier sehr kompliziert. Das schreckt bestimmt sehr
> viele ab.

Wie jetzt...komplexe Software schreiben, komplexe Hardware bauen wollen 
aber dann das Handbuch nicht verstehen? Also nein...

Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wühlhase schrieb:
> Wie gesagt, Copy Room
> Format geht nur auf Rooms, die durch ein Multichannel erzeugt wurden.

Es geht auch ohne Repeat Sheets. Man kann die Baugruppen-Sheets auch 
händisch auf der Mastersheet plazieren und die Sheets kopieren.
Die Krux an der Sache ist aber, daß "Copy Room Format" sich an der 
Position der Bauteile auf der Sheet orientiert und deshalb nur eine 
Sheet geht. Diese Position ist der "Channel-Offset".
Ich hab jetzt die Sheet noch etwas umgezeichnet, so daß sie nun auf A3 
paßt.
Irgendwie finde ich das Konzept der Rooms nicht zu Ende gedacht.

Autor: Taz G. (taz1971)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habs ausprobiert und war erstaunt, dass mein Vorschlag nicht 
funktioniert.
Ich nehm jetzt mal Bezug zu meinem Screenshot.
In den Projekt Optionen 'Class Generation' habe ich Generate Rooms nur 
für den Sheet der 'Repeated' wird aktiviert - also 'Filter'.
Im Room 'Filter1' sind tatsächlich nur R1_1 und C1_1, das Bauteil C20 
vom SubSheet (Sheet Symbol U_SubSheet_Cap) ist nicht mit drin. (why ?)
Ich hab auch keine Einstellung gefunden - vielleicht bin ich zu dumm. 
Habe auch nichts im Altium Forum gefunden.
Jedenfalls bin ich hingegangen und habe die Klasse dem Room in den Rules 
hinzugefügt. ( in den Rules 'Room Definition' bei mir 'Filter1', Query 
umgestellt auf 'Custom' und Klasse SubShhet angehängt -> 
"InComponentClass('Filter2') or InComponentClass('U_SubSheet_Cap2') "

Man muss nur beim nächsetn update PCB aufpassen, dass die Klassen nicht 
wieder aus der Room Definition entfernt werden.

Autor: Alexander K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist möglich in Altium ein Room zu erstellen, der aus mehreren Sheets 
besteht und dann mittels "Copy Room Formats" die Platzierung und das 
Routing zu übernehmen. Jedoch muss man hierfür einiges im Schaltplan und 
Layout manuell einstellen.
Zuerst muss man allen Bauteilen auf den zu wiederholenden 
Schaltplanseiten (oder einfach allen Bauteilen, man erhält dadurch eine 
nicht benötigte ComponentClass und Room, die ignoriert werden können) 
mit dem "Parameter Manager..." den Parameter "ClassName" mit dem Wert 
"=Phase" zuweisen (Der Wert kann frei gewählt werden, wichtig ist nur 
dass er mit einem "=" beginnt, damit dieser Wert über einen anderen 
Parameter geändert werden).
Nun erstellt man eine Schaltplanseite mit Sheet Symbolen von allen 
Schaltplanseiten die zum Room gehöhren sollen. Für diese erstelle 
Schaltplanseite wird dann auf dem TopSheet ein SheetSymbol so oft 
platziert, wie man diesen Schaltunsteil wiederholen will. Jedem dieser 
SheetSymbole wird dann der Parameter "Phase" (muss mit dem Wert 
übereinstimmen, dem man den Bauteilen zugeordnet hat nur ohne "="), aber 
mit unterschiedlichen Werten z. B. Phase 1, Phase 2 usw.
Unter Project --> Projects Options --> Class Generation sollte man die 
Room für die zu wiederholenden Schaltplanseiten ausschalten. Bei 
User-Defined Classes muss man die Optionen "Generate Component Classes" 
und "Generate Rooms for Component Classes" aktivieren.
Nun wird im Layout ein Room für diese Schaltplanseiten generiert.
Um das Layout mit "Copy Room Formats" muss man im Layout weitere 
Einstellungen machen.
Unter Design --> Classes... erstellt man eine neue "Design Channel 
Class". Dieser weist man dann die erstellten ComponentClasses zu (Phase 
1, Phase 2 usw.).
Als letztes muss noch der Channel Offset richtig vergeben werden. Dazu 
markiert man alle Bauteile einer ComponetClass (am einfachsten über den 
PCB Editor). Nun geht man in die "PCB List" und lässt sich nur die 
ausgewählten Bauteile anzeigen. In den Edit Modus wechseln und die 
Bauteile nach Designator sortieren. In Excel einen Spalte mit 
aufsteigender Nummerierung (mit der Länge von der Anzahl der Bauteile in 
der ComponentClass) erstellen und kopieren. Diese Spalte dann in der 
"PCB List" in die Spalte "Channel Offset" kopieren. Dies muss man für 
jede ,die zu wiederholenden ComponentClasses wiederholen. Nun sollten 
alle Bauteile mit der Bezeichnung C100_1, C100_2 usw. den gleichen 
Channel Offset haben.
Dies ist nur möglich wenn bei der Durchnummerierung folgendes 
Namensschema verwendet wurde $Component_$ChannelIndex (Project --> 
Project Options --> Multi-Channel)
Es sollte jetzt möglich sein das Layout mit der Funktion "Copy Room 
Format" zu kopieren.
Werden nachträglich am Schaltplan Änderungen gemacht, müssen man all 
dies wieder durchführen.

Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für den ausführlichen Beitrag. Das klingt alles recht 
umständlich. Also sollte man erstmal versuchen, mit einer Sheet je Room 
auszukommen.

Autor: Fachexperte für Google (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alexander K. schrieb:
> Es ist möglich in Altium ein Room zu erstellen, der aus mehreren Sheets
> besteht und dann mittels "Copy Room Formats .....

Ich frage mich wo liegt der Vorteil und der Nutzen dieser Room - Eierei?
Ich arbeite vorwiegend mit KiCad.
Wenn ich da die Aufgabe habe 5x die gleiche Teilschaltung zu platzieren, 
dann benutze ich die hirachische Schaltplaneingabe um ein Modul zu 
kreieren. (Das kann durchaus aus mehreren Sheets bestehen) Auf der 
richtigen Ebene wird es 5x kopiert, die Modulnamen geändert und thats 
it!
(Nix "Channel" "Offset" und "Phase")
Beim Laden ins PCBnew sind dann die Bauteile gemäß den Modulnamen 
bereits vorsortiert. Dann wird ein Modul platziert und geroutet. Bei den 
restlichen Modulen orientiert man sich am ersten und platziert die 
Bauteile genauso wie beim Ersten. Beim Routen genauso. Am Ende werden 
die gerouteten Module in die richtige Position geschoben. Basta. lch 
glaube das man am Ende genauso schnell ist wie mit der Roomerei bei 
Altium, speziell wenn man sieht, dass die Einsstellerei ziemlich 
fricklick sein kann.

Fachexperte für Google
Vulgo il Conte

Autor: Wühlhase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fachexperte für Google schrieb:
> Ich frage mich wo liegt der Vorteil und der Nutzen dieser Room - Eierei?


Ganz einfach:

Fachexperte für Google schrieb:
> Wenn ich da die Aufgabe habe 5x die gleiche Teilschaltung zu platzieren,
> dann benutze ich die hirachische Schaltplaneingabe um ein Modul zu
> kreieren. (Das kann durchaus aus mehreren Sheets bestehen) Auf der
> richtigen Ebene wird es 5x kopiert, die Modulnamen geändert und thats
> it!

Das kannst du so ungefähr in Altium auch machen. Der Vorteil der ganzen 
Multichannelei kommt dann raus, wenn du die Schaltung ändern willst. 
Dann faßt du jede Kopie einzeln an, oder kopierst wieder von vorne. Im 
Falle des TS kannst du ja mal den Transistor tauschen (bei seinen >50 
Kopien).


Fachexperte für Google schrieb:
> Beim Laden ins PCBnew sind dann die Bauteile gemäß den Modulnamen
> bereits vorsortiert. Dann wird ein Modul platziert und geroutet. Bei den
> restlichen Modulen orientiert man sich am ersten und platziert die
> Bauteile genauso wie beim Ersten. Beim Routen genauso.

Und in Altium routest du den ersten Room und sagst 'Copy Room Format'.
Wenn du willst, ordnet er dir die Rooms auch noch automatisch an, so daß 
die alle (oder nur einige) hübsch nebeneinander in Reih und Glied 
liegen.


Mit den Multichannels ist es eigentlich nicht so kompliziert, und es ist 
auch für andere Dinge ganz nützlich um z.B. eine Schaltermatrix zu 
bauen.

Das, was Alexander da beschrieben hat, macht Altium eigentlich 
automatisch beim Kompilieren. Ehrlich gesagt wußte ich gar nicht, daß 
man das auch so umständlich machen kann.

Autor: Fachexperte für Google (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wühlhase schrieb:
> Der Vorteil der ganzen Multichannelei kommt dann raus, wenn du die
> Schaltung ändern willst. Dann faßt du jede Kopie einzeln an, oder
> kopierst wieder von vorne.

Da wird nichts angefasst! Das ist ja der Gegg von hirachischem Design!

Wühlhase schrieb:
> Und in Altium routest du den ersten Room und sagst 'Copy Room Format'.

Das kritisiere ich ja gar nicht.
Es fällt nur auf wie lange da anscheinend rum gedoktert wird bis sich 
das 'Copy Room Design' befriedigend einstellt.
Meine Fragestellung war ob man nicht letztlich zu Fuss schneller ist.

Autor: Wühlhase (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fachexperte für Google schrieb:
> Da wird nichts angefasst! Das ist ja der Gegg von hirachischem Design!

Dann hab ich deine Aussage mißverstanden.


Fachexperte für Google schrieb:
> Es fällt nur auf wie lange da anscheinend rum gedoktert wird bis sich
> das 'Copy Room Design' befriedigend einstellt.
> Meine Fragestellung war ob man nicht letztlich zu Fuss schneller ist.

Wie gesagt, ich weiß auch nicht was da so aufwendig ist. Ich hätte aber 
auch keine Lust, 50 mal einen Transistor mit zwei Widerständen 
zusammenzustöpseln und das ganze dann noch händisch routen zu müssen.

Selbst wenn es sich zeitlich nichts geben würde, das händisch zu routen 
oder zu automatisieren, würde ich die Automation vorziehen. Alleine 
schon deswegen, weil ich das als deutlich weniger dröge und 
einschläfernd empfinde.

Autor: Fachexperte für Google (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wühlhase schrieb:
> Selbst wenn es sich zeitlich nichts geben würde, das händisch zu routen
> oder zu automatisieren, würde ich die Automation vorziehen. Alleine
> schon deswegen, weil ich das als deutlich weniger dröge und
> einschläfernd empfinde.

Ach das ist doch halb so schlimm!

Da gibt es doch diese 'Motivationszeile' am unteren Rand des 
Bildschirms. Die da z.B. lauted >> 500 Netze , davon 10 geroutet. Und 
wenn man bei jedem Routeincrement laut sagt: Jagga wieder eins geschafft 
- dann macht das doch Spass und ist motiviert - oder nicht ? ;-)

Autor: AltiumOhAltium (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Thema hatte ich vor einer Weile hier im Forum durch, allerdings gab 
es dafür damals keine Lösung.

Ich hab dann auch sehr viel händisch gemacht. Das Design bestand aus 
vier identischen Teilen, die jeweils 8 Schaltplanseiten umfassten.

Ich habe dann alle Seiten 4fach gemultichannelt. Dadurch waren zumindest 
schon mal die Designatoren und Netze richtig benamt. Also alle Netznamen 
und Designatoren von Kanal 1 hatten ein _1 am Ende.

Im Design selber habe ich dann einen Kanal geroutet und dann einfach den 
gesamten Schaltungsteil kopiert und die Designatoren entsprechend 
benannt.
Ist aber leider auch recht fehleranfällig und man muß sich danach 
trotzdem nochmal alles genau angucken.

Zufrieden bin ich damit nicht. Ein komplexes Layout-Tool wie Altium soll 
einem die Arbeit erleichtern und einem nicht solche Steine in den Weg 
legen.

Autor: Peter D. (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fachexperte für Google schrieb:
> Es fällt nur auf wie lange da anscheinend rum gedoktert wird bis sich
> das 'Copy Room Design' befriedigend einstellt.
> Meine Fragestellung war ob man nicht letztlich zu Fuss schneller ist.

Solange ein Room auf ein Schaltungsblatt paßt, muß man da nicht viel 
einstellen. Und ja, man ist bedeutend schneller.

Autor: Fachexperte für Google (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> Solange ein Room auf ein Schaltungsblatt paßt, muß man da nicht viel
> einstellen. Und ja, man ist bedeutend schneller.

Was passiert wenn der "ROOM" nicht auf das Schaltungsblatt passt und DIN 
A0 nicht ausreicht? (siehe oben)
Du wirst mir wohl recht geben, dass da was Verbesserung würdig  ist.

Bei dem CAD was wir hier verwenden (mal abgesehen vom Layouten) ist das 
hierarchisch super gelöst, einfach und stress frei.
Das war übrigens der Grund warum wir zu "diesem" CAD gewechselt sind 
(2012).
(wir kannten zu dieser Zeit, Eagle , Diptrace, Orcad und ALTIUM)
Über diese ROOM Geschichte bin ich seinerzeit schon gestolpert.
Was mich wundert ist, dass sich bis heute nicht viel in dieser Richtung 
getan hat :-(

(wahrscheinlich sind die mit den "bezahlten" BugFixes so damit 
beschäftigt, dass  für Verbesserungen keine Zeit ist ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.