Hallo, Ich befasse mich aktuell mit einer umfangreichen Simulation in LTSpice und brauche eure Hilfe. Dieses Projekt soll hinterher weiterverwendet und deswegen weitestgehend hierarchisiert werden. Hierbei entstand jedoch ein Problem mit der Parameterübergabe an Subcircuits. Das Projekt ist wie folgt aufgebaut: Ebene -2: - Subcircuit: stellt eine Spannungsgesteuerte Spannungsquelle dar. Ebene -1: - Sekundärschaltbild: Komposition aus verschiedenen Elementen, unter anderem mehrere Elemente der Ebene -2. Hauptebene: - Hauptschaltung: Komposition mehrerer Elemente der Ebene -1. Nun soll die Spannungsgesteuerte Spannungsquelle parametriert werden. Das heißt ich will in der Hauptebene die Parameter der Spannungsgesteuerten Spannungsquellen einstellen - für jede einzelne von ihnen unterschiedliche Werte. Jedoch funktioniert dies nicht so, wie wenn man die Parameter an Sekundärschallbilder unterer Hierarchieebenen übergibt, da sich Subcircuits anscheinen anders verhalten. Hat jemand von euch schon Mal Erfahrungen mit dieser Situation gemacht und kann mir weiterhelfen? Liebe Grüße und vielen Dank schonmal im Voraus!
Meinst du jetzt hierarchische Schaltpläne oder meinst du Hierarchie basierend auf subcircuits mit reinem Text?
Beides! Ebene -2 ist ein Subcircuit, also eine in Textform geschriebene Netzliste (<- so heißt es doch, nicht wahr?). Und Ebene -1 ist ein hierarchischer Schaltplan, also mit diskreten Bauelementen in LTSpice aufgebaut. Anders konnte ich es bisher leider nicht implementieren.
Hier mal ein paar Beispiele die ich für die LTspice-Yahoo-group gemacht habe. Keines der Beispiele beinhaltet exakt deine Konfiguration. Zur Not musst du eines deiner Beispiele anhängen, wenn ich es "reparieren" soll.
:
Bearbeitet durch User
Vielen Dank für deine Beispiele! Wieder was gelernt was bestimmt später nochmal hilfreich sein wird. Für mein spezielles Problem hier nochmal ein kleines Beispiel. Nicht so professionell und eingänglich wie deins, aber es beschreibt mein Problem ganz gut. Und zwar haben wir in den Dateien "resistor.cir" und "block.asc" jeweils einen Widerstand. Jeweils ein Widerstand in Form einer Netzliste und eines hierarchischen Schaltplans sind in "doppelblock.asc" zusammengefasst. In der Hauptebene haben wir nun zwei solcher Doppelblöcke mit jeweils zwei Widerständen drin, deren Parameter einzeln, von der Hauptebene aus eingestellt werden sollen. Bei dem Widerstand in dem hierarchischen Schaltplan klappt dies, mithilfe der Übergabe des Parameters an den Unterschaltplan, ohne Probleme. Das Gleiche klappt jedoch mit dem Widerstand in der Netzliste nicht. Eine Möglichkeit, den Widerstandswert in der Netzliste zu parametrieren, ist in meinem Beispiel gegeben. Leider ist es jedoch hiermit nicht möglich, die beiden Werte der Netzlisten-Widerstände unabhängig voneinander festzulegen. Vielen Dank für deine Mühen!
Hallo Max, es ist gerichtet :-) Schau bitte bei den Symbolen die Attribute an. Die blauen Kommentare kannst du auch weglassen. Hruß Helmut
Nachtrag Natürlich könnte man auch mehrere Parameter übergeben. Statt RA={RA1} steht dann halt RA={RA1} RX={RA2} ...
Hallo Helmut, Habe deine Lösung soeben in mein Projekt implementiert und es klappt wunderbar! Vielen lieben Dank dir, hat mir wirklich geholfen. Wäre ich von selbst vermutlich nie drauf gekommen.
Hallo Helmut, ich glaube ich müsste dich nochmals um Hilfe bitten. Jetzt wo man gerade mal einen Experten gefunden hat, dachte ich mir, ich frage einfach nochmal ganz doof. Und zwar wollte ich fragen ob es möglich ist, default-Parameter für die beiden Widerstände festzulegen? Ich hatte versucht im ersten Unterschaltbild - also dem doppelblock - mittels der Spice-Direktive ".param RB={100} .param RI={100}" default-Werte festzulegen, wenn auf der Hauptebene keine Parameter angegeben werden. Dies führte jedoch nicht zum gewünschten Ergebnis. Ein weiterer Versuch, die Widerstände in den "PARAMS" des Schaltbildes für den Doppelblock direkt zu definieren führte ebenfalls zu einer Fehlermeldung. Viele Grüße, Max
Solange du in den Symbolen bereits Parameter übergibst, muss LTspice vor der eigentlichen Simulation in der Lage sein denen eine Zahl zu geben. Ändere doch dein doppelblock.asy. Schreib dort statt RB={RA} einfach RB=100.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.