Howto Zum Gebrauch des "general attribute editors" mit Bezug auf Subcircuits und deren Parameter

RudiS

Absoluter Profi
Member
Landesflagge
Vorbemerkung
Da doch ab und zu Fragen zu den Eigenschaften (attributes) von Subcircuits auftauchen, habe ich den Abschnitt "General Attribute Editor"
von LTspice XVII (2022) aus dem Englischen übersetzt, stellenweise auch frei umformuliert und mit Beispielen unterlegt.
Ich verbinde damit natürlich die Hoffnung, dass es dem einen oder anderen hilft.
Obwohl ich Englisch ziemlich gut beherrsche, finde ich manche Teile stilistisch ein wenig rauh.
Gerade die könnten für jemanden, der nicht so gut Englisch kann, ein Grund sein, die LTspice Hilfe nicht zu lesen.
Trotzdem führt am Studieren der LTspice Hilfe kein Weg vorbei.

- - -

Der allgemeine Eigenschaftseditor -- Übersetzung von RudiS

Manchmal ist es wünschenswert, auf jede editierbare Eigenschaft eines Bauteils direkt zugreifen zu können,
um diese Eigenschaft in ihrem Wert zu ändern und auch festzulegen, ob sie auf dem Schaltplan angezeigt werden soll oder nicht.
Man ruft den Editor dafür auf, indem man bei gedrückter CTRL-Taste den Maus-Cursor auf das Bauteilsymbol bewegt
und die rechte Maustaste drückt.

Ein Dialogfenster erscheint, in dem alle zum Editieren verfügbaren Eigenschaften angezeigt werden.
Neben jedem Wertefeld gibt es unter "Vis.(ability)" ein kleines Feld, in dem durch Rechtsklick mit der Maus festgelegt wird,
ob diese Eigenschaft auf dem Schaltplan sichtbar ist oder nicht.

Die Eigenschaften SpiceModel, Value, Value2, SpiceLine und SpiceLine2 sind Teil des gesamten Werteumfangs eines Bauteils.
Das Bauteil erzeugt für die SPICE-Routine eine Zeile in der Netzliste etwa so:

<name> node1 node2 [...] <SpiceModel> <Value> <Value2> <SpiceLine> <SpiceLine2>

Wenn der Instanzname (reference designator) mit einem anderen Buchstaben beginnt als das für dieses Bauteil übliche Attributvorzeichen,
so wird dieses Attributzeichen vorangestellt und zwischen Vorzeichen und Instanznamen ein '§'-Zeichen eingefügt.
Wenn man zum Beispiel den Ausgangswiderstand statt "R12" in "Last" umbenannt hat,
wird dieser Widerstand (Attributvorzeichen R) in der Netzliste als "R§Last" aufgeführt.
Dies gestattet es, unabhängig vom Attributzeichen des Bauteils den Instanznamen beliebig wählen zu können.

Es gibt drei Ausnahmen zu der vorstehenden Regel.

1. Es gibt ein spezielles Symbol, den Jumper, das nicht als Schaltplanelement übersetzt wird,
sondern eine Anweisung an den Netzlisten-Generator ist, dass es zwei verschiedene Namen
für denselben elektrisch identischen Knoten gibt
.

2. Eine andere Ausnahme ist ist ein Symbol mit dem Präfix 'X' [subcircuit], bei dem beide
Attribute, Value und Value2, deklariert sind
[zusätzlich ist die Listung einer Bibliothek bzw. eines
Subcircuits beim Attribut "SpiceModel" notwendig, darauf weist die Hilfe jedoch nicht hin, RudiS].
Dies erlaubt es, ein Symbol zu schaffen, durch das die Bibliothek, die den Subcircuit enthält,
automatisch eingebunden wird. Der Netzlistencompiler beseitigt ohne Dazutun des Users doppelte
Nennungen der Bibliothek. Man beachte, dass solche Bauteilsymbole nicht direkt im Schaltplan editiert
werden können!


Für solche Bauteile werden in der Netzliste zwei Zeilen generiert:
<name> node1 node2 [...] <Value2> ; Referenz ist in der Netzliste nicht Value!
. . .
.lib <SpiceModel>

3. a) Die dritte Ausnahme ist ein Symbol mit dem Präfix 'X' [subcircuit], bei dem ein Subcircuit aus
einer Bibliothek [oder ein einzelner Subcircuit, RudiS] unter dem Attribut 'Value' und die
zugehörige Bibliothek
[bzw. der Subcircuit-Dateiname, RudiS] unter dem Attribut 'ModelFile'
gelistet ist. Mit diesen Attributen wird die Bibliothek, die den Subcircuit enthält, resp. der
Subcircuit ebenfalls automatisch eingebunden, das Symbol bleibt jedoch aus dem Schaltplan heraus
editierbar
.

Für dieses Bauteil werden gleichfalls zwei Zeilen in der Netzliste geschaffen:
<name> node1 node2 [...] <Value>
. . .
.lib <ModelFile>

3. b) Eine Sonderform dieser Ausnahme ist der Fall, wenn ein Subcircuit aus einer Bibliothek nicht
unter 'Value', sondern unter 'SpiceModel' aufgeführt ist.
Bei Rechtsklick auf das Symbol öffnet sich wie üblich der Bauteileigenschaftseditor, mit erneutem
Rechtsklick auf den bei 'SpiceModel' gelisteten Subcircuitnamen wird dort eine Dropdown-Liste
angezeigt, die man mit Linksklick ausfahren kann
. Auswahl per Mausrad ist auch möglich.
Bestätigen der Auswahl durch ENTER, nicht per Mausklick!

                 _______


Einige Beispiele für die vorstehenden Erläuterungen. Hilfestellung leisten einige Opamps. Nicht bei
LTspice vorhandene Teile werden mitgeliefert.

In einem leeren Schaltplan laden wir den Opamp OP07.
Wir brauchen ihn für unsere Zwecke noch nicht einmal zu beschalten.
Rechtsklick auf das Symbol resultiert in einer Fehlermeldung: "This component cannot be edited."
und entspricht der unter Punkt 2 besprochenen Ausnahme:
Präfix 'X' für den Subcircuit, zwei Eintragungen bei 'Value' und 'Value2' sowie der bei 'SpiceModel' registrierten Bibliothek.
Der bei 'Value2' eingetragene Name kann der gleiche sein wie bei 'Value', muss aber nicht.
LT1001 ist der als erster aufgeführte Opamp in der LTC.lib.

01__GAE_OP07.png

Als nächstes laden wir den OP27.
Rechtsklick auf das Symbol verweigert uns wie beim OP07 das direkte Editieren von Attributen,
diesmal etwas anders. Wir könnten entweder das Datenblatt von der ADI-Webseite herunterladen
oder eine Testschaltung ausprobieren. Für den OP07 ist keine Testschaltung vorhanden,
daher gab es dort die einfache Fehlermeldung.
Die Schaltung für den OP27 befindet sich in den Beispielen unter /examples/jigs.
Auch hier gilt die unter Punkt 2 besprochene Ausnahme.

02__GAE_OP27.png

Wir laden den von mir beigefügten NE5534CR.
Per Rechtsklick auf das Symbol öffnet sich anstandslos der Bauteileigenschaftseditor, von dem aus
wir sogar das Symbol editieren können. Hier gilt die unter 3a besprochene Ausnahme. Der Name
des Subcircuits ist bei 'Value' registriert, die Subcircuit-Datei unter 'ModelFile' eingetragen.

03__GAE_NE5534CR.png
Bei 'SpiceLine' ist ein Kondensator zur Frequenzkompensation eingetragen. Mit dem angegebenen
Wert wird der NE5534 zu einem NE5532. Der NE5534 hat eigentlich zwei zusätzliche Anschlüsse
für diesen Kondensator. Das war mir aber zu umständlich. Deshalb habe ich den Subcircuit modifiziert
und den Kondensator als Parameter deklariert.
Wenn ich den NE5534 in der vollen Bandbreite (GBW) benötige, setze ich einfach "Ccomp=1p" und gut ist.

Im Prinzip kann man die vier Attribute "Value, Value2, SpiceLine, SpiceLine2" für die Übermittlung von Parametern benutzen.
Ob der Subcircuit veränderbare Parameter bereitstellt, verrät ein Blick in die Subcircuit-Datei.
Wenn sie nicht verschlüsselt ist, kann man sie mit einem Texteditor öffnen.


Laden wir nun als letztes den von mir bereitgestellten AD-Opamps.
Dieser betrifft die unter 3b besprochene Ausnahme.
Wie beim vorigen Opamp können wir auch hier problemlos per Rechtsklick den Bauteileigenschaftseditor öffnen.
Der Subcircuit ist aber nicht unter 'Value', sondern unter 'SpiceModel' eingetragen, die Bibliothek ADI.lib wie gehabt bei 'ModelFile'.

04__GAE_ADI.lib.png
Die Handhabung ist etwas ungewöhnlich. Per Rechtsklick auf den bei 'Value' eingetragenen "AD8031"
verwandelt sich dieser Eintrag in eine Dropdown-Liste.

05__GAE_ADI.lib_droplst1.png
Das Anzeigen dieser Liste geschieht jedoch mit Linksklick!

06__GAE_ADI.lib_droplst2.png

Mit diesem Symbol kann man nun ganz einfach verschiedene Opamps auswählen.
Es gibt in der ADI.lib allerdings einige Opamps mit sechs Anschlüssen, die funktionieren hiermit nicht.
Die Auswahl, wie schon oben erläutert, bestätigt man durch zweimaliges Drücken der Enter-Taste.

Die vorstehenden Ausführungen habe ich zu Referenzzwecken als PDF-Datei beigefügt.
Die ADI.lib sollte bei jedem vorhanden sein, ebenso die Opamps OP07 und OP27.
Subcircuit und Symbol für den NE5534CR sowie das Symbol für AD-Opamps sind ebenfalls angehängt.
Über Rückmeldungen würde ich mich freuen. . . ;)

RudiS
 

Anhänge

  • GenAttrEdt.pdf
    203,5 KB · Aufrufe: 0
  • NE5534CR.sub
    1,2 KB · Aufrufe: 0
  • NE5534CR.asy
    869 Bytes · Aufrufe: 0
  • AD-Opamps.asy
    876 Bytes · Aufrufe: 0
Zuletzt bearbeitet:

Ähnliche Themen

Benutzer welche diesen Thread betrachten (Mitglieder: 0, Gäste: 1)

Wer hat diesen Thread gelesen

Zurück
Oben