
Habe eine Kurzanleitung geschrieben, welche anhand des CD4033 zeigt, wie man eigene Modelle mit Symbol erstellt. Sollte eigentlich für jede LTspice Version gelten.
1. Im lauffähigen Schaltplan Spannungsquellen und dergleichen entfernen. Auch den Simulationscommand (zBsp .tran 600m) entfernen. Labels als Input bzw Output definieren.

Ich habe hier nebst meinen eigenen Gattern & Verbindungen den bereits vorhandenen Baustein CD4017B verwendet. Diese Lib (und die benötigten "Sub-Libs") von diesem einfach in den Schaltplan rein kopieren.....wie im Screenshot oben.
2. View > Spice Netlist
3. Rechts Klick > Generate Expanded Listing

4. Speichern .sp.cir Datei

5. Diese sp.cir Datei mit Editor öffnen und subckt als zweite Zeile einfügen. Die erste(n) Zeile(n) sollte mindestens aus einem * bestehen. In meinem Fall:
Wobei hier vhigh1={vdd} dann erlaubt, in der SpiceLine des Bauteils VDD=xx einzutragen. Der Wert xx wird so in der Variable vhigh1 gespeichert.
Die Ein- und Ausgänge müssen in derselben Reihenfolge wie in der Symbol-Datei aufgezählt werden (wird unten bei Punkt 7 erklärt).
Weitere Anpassungen machen wie gewünscht. Speichern
6. Diese Dateiendung umbenennen in .sub (oder .lib)
Hinweis von Udo:
Wenn man im Schaltplan z.B. einen Puls mit einer Gleichung versieht, die z.B. eine Frequenz f enthält (also keinen Fixwert), dann ist diese Gleichung mit .....{f} zu hinterlegen.
Aus der Klammer {} wird aber bei der Übersetzung in ein .subckt jedoch eine Klammer der Form () erzeugt und es kommt eine Fehlermeldung "unknown Parameter.....".
Abhilfe: Nacheditieren des subcircuit Files und die Sache ist gegessen.
7. Symbol asy erstellen.
Bei Schaltplan auf Hierarchy > Open this sheet's Symbol

Hier Ja wählen.
Es wird automatisch ein Symbol kreiert, welches natürlich noch editiert werden kann.

Rechts Klick > Attributes > Edit Attributes. Oder wahlweise über Edit > Attributes > Edit Attributes oder direkt mit Strg-A .

Weiter bei Punkt 8.
Hier gibt's noch ein Tutorial: https://www.google.ch/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwikh8Dr35rzAhV7_rsIHYnqAZEQFnoECAQQAQ&url=http://dublin.zhaw.ch/~hhrt/LTspice/LTSpice%20Tutorial%202.pdf&usg=AOvVaw1dWntHTGvGbb-LOv3nYAuT
Dies habe ich auch als Anhang angefügt (LTspice Tutorial 2.pdf).
8. Attribute eintragen: Prefix: X , Value: CD4033 , SpiceLine: VDD=5
Erst jetzt "Symbol Type" auf Cell stellen und speichern.
9. Ab jetzt kann in jedem neuen Schaltplan das Symbol ausgesucht werden

und die erstellte .sub mittels .inc cd4033.sub direktive eingefügt werden.
Es empfiehlt sich ja eh, für jeden Schaltplan ein eigenes Unterverzeichnis zu erstellen.
In dieses einfach nur die asy und sub rein kopieren (neben/parallel zur asc).
Bei Problemen mit Variablen Werten intern im Modell verweise ich auf Post #8 von Udo!
Im Anhang habe ich zusätzlich noch eine Anleitung von einem Will Kceg, welche ich im Netz gefunden habe (LTspiceIV_Tutorial_Subcircuit.pdf).
Hier noch weitere Infos: Howto - Importieren von Fremdmodellen in LTspice
1. Im lauffähigen Schaltplan Spannungsquellen und dergleichen entfernen. Auch den Simulationscommand (zBsp .tran 600m) entfernen. Labels als Input bzw Output definieren.

Ich habe hier nebst meinen eigenen Gattern & Verbindungen den bereits vorhandenen Baustein CD4017B verwendet. Diese Lib (und die benötigten "Sub-Libs") von diesem einfach in den Schaltplan rein kopieren.....wie im Screenshot oben.
2. View > Spice Netlist
3. Rechts Klick > Generate Expanded Listing

4. Speichern .sp.cir Datei

5. Diese sp.cir Datei mit Editor öffnen und subckt als zweite Zeile einfügen. Die erste(n) Zeile(n) sollte mindestens aus einem * bestehen. In meinem Fall:
Code:
Bitte,
Anmelden
oder
Registrieren to view codes content!
Die Ein- und Ausgänge müssen in derselben Reihenfolge wie in der Symbol-Datei aufgezählt werden (wird unten bei Punkt 7 erklärt).
Weitere Anpassungen machen wie gewünscht. Speichern
6. Diese Dateiendung umbenennen in .sub (oder .lib)
Hinweis von Udo:
Wenn man im Schaltplan z.B. einen Puls mit einer Gleichung versieht, die z.B. eine Frequenz f enthält (also keinen Fixwert), dann ist diese Gleichung mit .....{f} zu hinterlegen.
Aus der Klammer {} wird aber bei der Übersetzung in ein .subckt jedoch eine Klammer der Form () erzeugt und es kommt eine Fehlermeldung "unknown Parameter.....".
Abhilfe: Nacheditieren des subcircuit Files und die Sache ist gegessen.
7. Symbol asy erstellen.
Bei Schaltplan auf Hierarchy > Open this sheet's Symbol

Hier Ja wählen.
Es wird automatisch ein Symbol kreiert, welches natürlich noch editiert werden kann.

Rechts Klick > Attributes > Edit Attributes. Oder wahlweise über Edit > Attributes > Edit Attributes oder direkt mit Strg-A .

Weiter bei Punkt 8.
Hier gibt's noch ein Tutorial: https://www.google.ch/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwikh8Dr35rzAhV7_rsIHYnqAZEQFnoECAQQAQ&url=http://dublin.zhaw.ch/~hhrt/LTspice/LTSpice%20Tutorial%202.pdf&usg=AOvVaw1dWntHTGvGbb-LOv3nYAuT
Dies habe ich auch als Anhang angefügt (LTspice Tutorial 2.pdf).
8. Attribute eintragen: Prefix: X , Value: CD4033 , SpiceLine: VDD=5
Erst jetzt "Symbol Type" auf Cell stellen und speichern.
9. Ab jetzt kann in jedem neuen Schaltplan das Symbol ausgesucht werden

und die erstellte .sub mittels .inc cd4033.sub direktive eingefügt werden.
Es empfiehlt sich ja eh, für jeden Schaltplan ein eigenes Unterverzeichnis zu erstellen.
In dieses einfach nur die asy und sub rein kopieren (neben/parallel zur asc).
Bei Problemen mit Variablen Werten intern im Modell verweise ich auf Post #8 von Udo!
Im Anhang habe ich zusätzlich noch eine Anleitung von einem Will Kceg, welche ich im Netz gefunden habe (LTspiceIV_Tutorial_Subcircuit.pdf).
Hier noch weitere Infos: Howto - Importieren von Fremdmodellen in LTspice
Anhänge
Zuletzt bearbeitet: