@database AmiSPICEed.guide

@Node Main "AmiSPICEed.guide"

   AmiSPICEed V1.5 - Deutsche Kurzanleitung

   Dieser Text soll nur einen groben Einblick in die Programmfunkionen
   geben. Die Bedeutung der einzelnen Bauteileparameter muß aus der
   Anleitung zu SPICE entnommen werden.


 @{" Einführung, Anforderungen, Installation " Link "Einf"}
 @{" BITTE LESEN!!                           " Link "Recht"}

 @{" Fenster                                 " Link "Fenster"}
 @{" Menüfunktionen                          " Link "Menus"}
 @{" ToolTypes                               " Link "ToolTypes"}

 @{" Elemente der internen Bibliothek        " Link "Intern"}
 @{" Aufbau der bibliotheksdateien           " Link "BIBO"}

@EndNode

@Node "Einf" "Einführung, Anforderungen und Installation"

   AmiSPICEed ist ein grafischer Editor für analoge Schaltungen, die direkt
   mit dem Simulator SPICE ausgeführt werden können. Dabei ist es möglich
   alle mit SPICE simulierbaren Bauelemente und Schaltungen über Bibliotheks-
   dateien einzubinden und grafisch zu verarbeiten.


   Um das Programm voll nutzen zu können, sollten folgende Anforderungen
   erfüllt sein:

   - Mindestens OS 2.04

   - Eine Workbench mit mindestens 640x400 Pixeln (je nach Schriftart)

   - Installierte Version von SPICE. (AMINET: misc/sci/)

   - Zur Ausgabe im EPS-Format wird die "amigametafont.library" von Henk Jonas
     benötigt.

@EndNode


@Node "Recht" " BITTE LESEN!!"

   AmiSPICEed V1.5 is © in 1997 - 1998 by Dirk Hasse.

   AmiSPICEed V1.5 kann frei vertrieben werden, solange keine Veränderungen
   vorgenommen werden und nichts dafür verlangt wird. Eine kommerzielle
   Nutzung ist strengstens verboten.

   Ich bin für keinerlei Schäden, welche sich direkt oder indirket aus der
   Nutzung von AmiSPICEed ergeben, verantwortlich. Sie benutzen alles auf
   Ihre eigene Gefahr.

   Wer das Programm nützlich findet und etwas für die weitere Programm-
   entwicklung tun möchte, der kann mir über die folgende Bankverbindung
   einen Betrag seiner Wahl zukommen lassen:

   Volksbank Brilon
   BLZ: 41661719
   Konto-Nr.: 100881319

   Auch PPC-Boards, Surfboards, keyfiles usw. werden gerne entgegen genommen.

   Dirk Hasse
   Bernhardusstr. 34
   59929 Brilon
   DEUTSCHLAND


   Bug-reports, Kommentare, Fragen bitte NUR per email:

   beavis@azrael.uni-paderborn.de


   @{" Ein Bild von mir bei meiner Lieblingstätigkeit... " Link "surfing.iff/MAIN"}


   Brilon, den 15. März 1998

@EndNode

@Node "Fenster" "Programmfenster"

   Die einzelnen Programmfenster haben folgende Funktionen:

   @{fg highlight}@{b}Das Edit-Fenster@{ub}@{fg text}

   Das Edit-Fenster dient zur Darstellung der Schaltung. Mit den vorhandenen
   Scrollbalken kann der sichtbare Schaltungsausschnitt verschoben werden.
   Wird ein neues Element an den Rand des erreichbaren Bereichs gesetzt, so
   wird dieser neu Berechnet, so daß auf diese Weise prinzipiell unendlich
   große Schaltungen erstellt werden können. (Hmmm... - Also ich hoffe mal, daß
   32bit für die Positionen reichen...) Ab Version 1.1 kann der Ausschnitt
   mit den Cursor-Tasten ohne Begrenzung gescrollt werden.

   "Klebt" ein Bauelement am Mauszeiger, so kann dieses über einen Klick an
   der aktuellen Stelle eingefügt werden. Der Selektionspunkt aller
   Bauelemente (also der Punkt, auf den man klicken muß, um es auszuwählen)
   wird durch einen hellen Punkt (zumindest bei allen Nicht-Geschmacks-Verirrten)
   dargestellt. Wird der Mauszeiger im EDIT-MODE (s.u) über einen "klickbaren"
   Punkt bewegt, so wird dieser automatisch hervorgehoben.
   Der aktuelle Schaltungsname und die Hierarchieebene werden im Fenstertitel
   angezeigt.

   Ab Version 1.2 können die schon plazierten Elemente im EDIT-MODE durch
   einen Doppelklick editiert werden.

   @{fg highlight}@{b}Das Bibliotheks-Fenster@{ub}@{fg text}

   Hier sind zwei Listviews enthalten, die obere Liste enthält alle Bibliotheken,
   welche sich z.Z. im Speicher befinden und die untere zeigt die jeweils
   enthaltenen Bauelemente an. Alle Bibliotheken, bis auf die interne Biblio-
   thek, können über ASCII-Dateien beschrieben werden.
   Wichtig ist, daß nur bei angewähltem EDIT-MODE in der internen Bibliothek
   eine Möglichkeit zum Editieren der Schaltung besteht. Die Verdrahtung wird
   ebenfalls in diesem Modus durchgeführt.

   @{fg highlight}@{b}Das Plot-Fenster@{ub}@{fg text}

   Dieses Fenster öffnet sich ASYNCHRON (d.h. es kann in den anderen
   Fenstern weitergearbeitet werden!), wenn über den Menüpunkt
   "SPICE starten..." eine Simulation gestartet und auch erfolgreich beendet
   wurde. Die über Voltmeter und Amperemeter ausgewählten Spannungen und
   Ströme werden hier grafisch dargestellt.

   Am oberen Rand des Fensters befinden sich zur Zeit folgende Schalter:

   Schliessen       : Schliessen des Fensters

   Speichern ASCII  : Alle aktiven Plots (Checkbox-Gadgets) können hier unter
                      einem beliebigen Dateinamen als ASCII-Datei gespeichert
                      werden. Das dabei verwendete Trennzeichen läßt sich über
                      das ToolType: "DELIMITTER" festlegen.

                      Beispieldatei für DELIMITTER=TAB:

                      time     U0     U1     I0
                      0        1      0.5    0.01
                      0.1      0.5    0.67   0.023
                      0.2      0      0.8    0.04

   Teilen (Vereinen): Hier kann zwischen zwei möglichen Darstellungsarten
                      gewählt werden:

                      Vereint: Alle Spannungen bzw. Ströme werden in ein
                               Koordinatensystem geplottet.

                      Geteilt: Für jede Spannung bzw jeden Strom wird ein
                               eigenes Koordinatensystem benutzt, wobei die
                               einzelnen Plots untereinander im Fenster er-
                               scheinen.

   Plot hinzufügen  : Der in dem String-Gadget eingegebene Ausdruck wird
                      interpretiert und dem Fenster als neuer Plot mit der
                      Kennzeichnung Pxx hinzugefügt. Es können herkömmliche
                      mathematische Ausdrücke mit den folgenden Einschränkungen
                      und Elementen verwendet werden:

                      - Fliesskommazahlen ohne Exponenten, z.B. 1.234.

                      - Bereits im Plotfenster enthaltene Variablen, z.B
                        U0,U1,P0,A10
                        ACHTUNG: bei AC-Analysen werden zu jeder Spannung,
                        bzw. jedem Strom jeweil Real- und Imaginärteil
                        geplottet. Die Angabe von U0 steht dann für den Term
                        SQRT(Re(U0)^2+Im(U0)^2), also den Betrag. In diesem
                        Fall ist U0 also gleichbedeutend mit ABS(U0).

                      - Sonderzeichen: ^,+,-,*,/,(,)

                      - Funktionen:
                        ABS(x)   :   Betrag abs(x) = sqrt(Re(x)^2 + Im(x)^2)
                        PHASE(x) :   Phase  phase(x) von -Pi bis Pi
                        DB(x)    :   Dezibel  db(x) = 20*log10(x)
                        RE(x)    :   Realteil
                                     KANN NICHT AUF GANZE AUSDRÜCKE ANGEWENDET
                                     WERDEN! Re(U0+U2) IST Z.B. NICHT MÖGLICH!
                        IM(x)    :   Imaginärteil
                                     KANN NICHT AUF GANZE AUSDRÜCKE ANGEWENDET
                                     WERDEN! Im(U0+U1) IST Z.B. NICHT MÖGLICH!

                      - Es dürfen keine negativen Konstanten oder Plots
                        angegeben werden, d.h. die Ausdrücke: -2*U0 und
                        2*(-U0+U1) sind UNGÜLTIG und führen u.U. zu
                        falschen Ergebnissen. Hier hilft z.Z. nur folgender
                        Trick: 0-2*U0 und 2*(U1+U0)

                      - ES WIRD KEIN 100%tiger SYNTAXCHECK DURCHGEFÜHRT.

                      - Einige Beispiele für sinnvolle Ausdrücke:

                        + Plot von Betrag und Phase innerhalb eines AC-Plots:

                          abs(U0) und phase(U0)

                        + Plot einer Spannungsdifferenz:

                          U0-U1

   Auf der linken Seite erscheint für jede zu plottende Spannung bzw. jeden
   Strom ein eigenes Checkbox-Gadget, so daß hier festgelegt werden kann,
   welche Spannungen und Ströme geplottet werden sollen.

   PROBLEME:

   Wenn (nahezu) konstante Spannungen oder Ströme in einem separaten Plot
   angezeigt werden, kann es vorkommen, daß sich die Routine für das
   Y-Raster in einer Endlosschleife verfängt. Die Ursache dafür ist mir noch
   nicht ganz klar, so daß ich ein Time-out nach 100 Schleifendurchläufen
   eingeführt habe. Auf meinem Rechner dauert es in diesem Fall ca. eine
   Sekunde, bis das Programm seine Funktion wieder aufnimmt.

   Wenn die Höhe eines Plots zu gering wird, kann es vorkommen, daß keine
   Y-Werte ausgegeben werden. In diesem Fall sollte das Fenster vergrößert,
   oder andere Plots ausgeblendet werden.

@EndNode

@Node "Menus" "Menüfunktionen"

   Es stehen z.Z. folgende Menüpunkte zu Verfügung:

   @{" Projekt    " Link "Project"}
   @{" Editieren  " Link "Edit"}
   @{" Bibliothek " Link "Library"}

@EndNode

@Node "Project" "Projekt-Menü"

   Das Project-Menü enthält folgende Einträge:

   @{fg highlight}@{b}(Unter-)Schaltung löschen...@{ub}@{fg text}

   Alle Schaltungselemente, welche sich auf der aktuell dargestellten
   Schaltungsebene oder tiefer befinden, werden gelöscht.

   @{fg highlight}@{b}Laden...@{ub}@{fg text}

   Eine Schaltung kann hier von einem beliebigen Datenträger geladen
   werden. Befinden sich bereits einige Schaltungselemente in der aktuell
   dargestellten Ebene, so werden diese zuvor gelöscht. Wird diese Funktion
   aus einer tieferen Ebene einer schon existierenden Schaltung aufgerufen,
   so bleiben alle höheren Ebenen unberuehrt.

   @{fg highlight}@{b}Speichern...@{ub}@{fg text}

   Die aktuelle Schaltung kann hier auf einem beliebigen Datenträger
   gespeichert werden, dabei werden alle Ebenen gesichert.

   @{fg highlight}@{b}Exportieren nach SPICE...@{ub}@{fg text}

   Die aktuelle Schaltung wird als SPICE-Schaltungsdatei auf einem beliebigen
   Datenträger gesichert.

   @{fg highlight}@{b}SPICE starten...@{ub}@{fg text}

   Die aktuelle Schaltung wird über SPICE simuliert. Die Ergebnisse werden
   anschliessend in einem asynchronen Plot-Fenster angezeigt. Dieser Vorgang
   läuft im Einzelnen wie folgt ab:

   1.  Die aktuelle Schaltung wird im SPICE Format in ein temporäres
       Verzeichnis gespeichert.
   2.  Es wird ein CLI-Fenster geöffnet, in welches die Ausgaben von SPICE
       umgelenkt werden.
   3.  Die Simulation wird über den Aufruf von SPICE gestartet.
   4.  SPICE schreibt die Simulationsergebnisse in eine Datei im temporären
       Verzeichnis.
   5.  AmiSPICEed ließt diese Simulationsdatei ein und öffnet das Plot-Fenster.

   Die Simulation kann nur dann gestartet werden, wenn

   -   Mindestens ein Masseknoten definiert wurde.
   -   Mindestens ein Voltmeter oder ein Amperemeter eingebunden ist.
   -   Genau eine Simulationsart vorgegeben ist.

   @{fg highlight}@{b}Exportieren nach TeX (eepic)...@{ub}@{fg text}

   Der aktuell dargestellte Schaltungsteil wird im TeX-Format, unter
   Verwendung des EEPIC Makropaketes, auf einem beliebigen Datenträger
   abgespeichert. Es wird die gesamte Schaltungsebene exportiert, NICHT nur
   der im Fenster sichtbare Teil. Eine einfache Skalierung kann über die
   ToolTypes vorgenommen werden.

   @{fg highlight}@{b}Exportieren als EPS-Datei...@{ub}@{fg text}

   Der aktuell dargestellte Schaltungsteil wird im EPS-Format auf einem
   beliebigen Datenträger gespeichert. Auch hier wird die gesamte Schaltungs-
   ebene exportiert, NICHT nur der sichtbare Teil. Die Postscript-Schrift und
   deren Größe kann über die Tooltypes gewählt werden.

   @{fg highlight}@{b}Fensterpositionen speichern@{ub}@{fg text}

   Die aktuellen Fensterpositionen werden in die Datei "AmiSPICEed.prefs"
   geschrieben. Somit erscheinen alle Fenster auch beim nächsten Programm-
   start wieder an der gleichern Stelle.

   @{fg highlight}@{b}Über...@{ub}@{fg text}

   Ein Informationsfenster wird eingeblendet.

   @{fg highlight}@{b}Hilfe...@{ub}@{fg text}

   Die Datei "AmiSPICEed.guide" im Programmverzeichnis wird mittels Multi-
   view angezeigt. Dazu muß Multiview im aktuellen Suchpfad enthalten sein.

   @{fg highlight}@{b}Beenden...@{ub}@{fg text}

   Das Programm wird beendet.

@EndNode

@Node "Edit" "Editieren-Menü"

   Das Edit-Menü enthält folgende Einträge:

   @{fg highlight}@{b}Bauelement editieren...@{ub}@{fg text}

   Die Parameter eines ausgewählten Bauelements können hier in einem
   Fenster editiert werden. Bei fast allen Elementen ist der erste Eintrag
   die Elementnummer, welche hinter dem Identifier (R, L, C, ...) verwen-
   det wird. Alle anderen Parameter sind Bauelementspezifisch und können in
   den Bibliotheksdateien festgelegt werden. Ist an einer (oder mehr)
   Stelle(n) keine Eingabe vorhanden (ACHTUNG: auch keine Leerzeichen!!),
   so wird der Parameter UND auch ein evtl. vorhandenes Prefix (z.B DC oder
   AC) nicht in die SPICE-Datei geschrieben.

   ACHTUNG!!: Die Höhe des Parameter-Fensters wird automatisch aus der Anzahl
              an veränderbaren Parametern berechnet, so daß auf kleinen Bild-
              schirmen Probleme eine Fehlermeldung auftritt!

   Tastaturbelegung:

   Ab Version 1.1 ist das oberste Gadget automatisch aktiviert, so daß mit der
   Tabulatortaste alle Gadgets erreichbar sind. Nach Abschluß der Eingaben mit
   RETURN, kann das Fenster über die Tasten "u" und "c" für "Use" und "Cancel"
   verlassen werden. Mit SPACE läßt sich das erste String-Gadget aktivieren.

   @{fg highlight}@{b}Verlauf editieren...@{ub}@{fg text}

   Bei den Quellen "Piecewise linear current/voltage" können die Kurvenver-
   läufe in einem extra Fenster "grafisch unterstützt" erstellt werden.
   Die Eingabe erfolgt nach wie vor überein String-Gadget am oberen Fenster-
   rand, wobei nach einem Druck auf die RETURN-Taste sofort der entsprechende
   Kurvenverlauf geplottet wird. Die Wertepaare müssen chronologisch aufein-
   anderfolgen und es dürfen keine negativen Zeiten angegeben werden. "OK"
   übernimmt den Verlauf, "Cancel" restauriert die alten Werte.

   Tastaturbelegung:

   Die Gadgets OK, Cancel und Show können, bei nicht aktivem String-Gadget,
   über die Tasten "u", "c" und "s" angewählt werden. Mit der SPACE-Taste ist
   es möglich, das String-Gadget zu aktivieren.

   @{fg highlight}@{b}Unterschaltung anzeigen@{ub}@{fg text}

   Ist ein IC angewählt, so wird die entsprechende Unterschaltung dargestellt.
   Dieser Wechsel in eine tiefere Hierarchieebene wird im Fenstertitel durch
   einen Pfeil (->) angezeigt. Ist dort z.B die Zeile "Empfänger->Filter"
   eingeblendet, so befindet sich die Unterschaltung "Filter" der Schaltung
   "Empfänger" in der Anzeige.

   @{fg highlight}@{b}Zurück zur höheren Schaltungsebene@{ub}@{fg text}

   Befindet sich eine Unterschaltung in der Anzeige, so kann man hier in die
   nächst höhere Schaltungsebene zurückkehren.

   @{fg highlight}@{b}Löschen@{ub}@{fg text}

   Das angewählte Bauelement wird mit allen Verbindungen gelöscht. Handelt
   es sich um ein IC, so wird auch die darin enthaltene Unterschaltung
   gelöscht.

   @{fg highlight}@{b}Bewegen@{ub}@{fg text}

   Das angewählte Bauelement kann verschoben werden. Dazu "klebt" dieses
   Element am Mauszeiger und kann durch einen Mausklick an eine neue Stelle
   gesetzt werden. Dabei bleiben alle vorhandenen Verbindungen erhalten.

   @{fg highlight}@{b}Drehen@{ub}@{fg text}

   Das angewählte Bauelement wird um 90 Grad gedreht. Alle vorhandenen
   Verbindungen bleiben erhalten.

   @{fg highlight}@{b}Spiegeln@{ub}@{fg text}

   Das angewählt Bauelement wird um die horizontale Achse gedreht. Alle vor-
   handenen Verbindungen bleiben erhalten.

   @{fg highlight}@{b}Bild aufbauen@{ub}@{fg text}

   Die Schaltung wird erneut dargestellt. Diese Funktion ist vorhanden um
   evtl. vorhandene Grafikfehler zu eliminieren. (Sollte eigentlich nicht
   nötig sein...)

@EndNode

@Node "Library" "Bibliotheks-Menü"

   Das Library-Menü enthält folgende Einträge:

   @{fg highlight}@{b}Laden...@{ub}@{fg text}

   Es kann eine zusätzliche Bibiothek von einen beliebigen Datenträger
   geladen werden. Beim Programmstart werden alle Bibliotheken im Ver-
   zeichniss bibs/ automatisch geladen.

   @{fg highlight}@{b}Entfernen...@{ub}@{fg text}

   Die ausgewählte Bibliothek wird aus dem Speicher entfernt. Diese
   Funktion kann nur erfolgreich ausgeführt werden, wenn es sich nicht um
   die interne Bibliothek handelt und wenn kein Bauelement aus dieser
   Bibiothek mehr in der aktuellen Schaltung enthalten ist.

@EndNode

@Node "ToolTypes" "ToolTypes"

   Es stehen z.Z. folgende ToolTypes zu Verfügung:

   @{fg highlight}@{b}SPICEEXE@{ub}@{fg text}

   Hier wird der genaue Pfad und Dateiname des SPICE Hauptprogramms fest-
   gelegt. Z.B. SPICEEXE=SPICE:spice_3f5

   @{fg highlight}@{b}SPICEWINDOW@{ub}@{fg text}

   Hier kann das Fenster, in welches SPICE seine Ausgaben leitet konfigu-
   riert werden. Z.B. SPICEWINDOW=CON:0/20//180/Running SPICE...

   @{fg highlight}@{b}PLOTCOLOUR1 bis PLOTCOLOUR6@{ub}@{fg text}

   Hier können maximal sechs Farbregister für das Plotfenster festgelegt
   werden. Dazu sollte man wissen, daß die Workbench die ersten 4 einstell-
   baren Farben immer in den ersten Farbregistern ablegt und die weiteren
   4 Farben in den letzten Registern. Z.B. PLOTCOLOUR1=127

   @{fg highlight}@{b}PLOTBACKGR@{ub}@{fg text}

   Hier kann das Farbregister für die Darstellung des Hintergrundes im Plot-
   fenster festelegt werden. Die hier verwendete Farbe sollte nicht bei
   PLOTCOLOUR oder PLOTTEXT benutzt werden. Z.B. PLOTBACKGR=0

   @{fg highlight}@{b}PLOTTEXT@{ub}@{fg text}

   Hier kann das Farbregister für die Achsen und den Text im Plotfenster
   festgelegt werden. Z.B. PLOTTEXT=1

   @{fg highlight}@{b}TEXUNIT@{ub}@{fg text}

   Über diesen Wert läßt sich die Größe der TeX-Ausgabe steuern. Ein Bild-
   schirmpixel im AmiSPICEed-Fenster erhält später im TeX-Dokument diese
   Kantenlänge. Die Einstellung TEXUNIT=0.2mm funktioniert mit den meisten
   kleineren Schaltungen ganz gut.

   @{fg highlight}@{b}EPSFONT@{ub}@{fg text}

   Hier kann die Postscipt-Schrift für die EPS-Ausgabe festgelegt werden, z.B:
   EPSFONT=Courier

   @{fg highlight}@{b}EPSFONTSIZE@{ub}@{fg text}

   Setzt die Größe der Postscript-Schrift in Punkten fest, z.B.:
   EPSFONTSIZE=12

   @{fg highlight}@{b}F1 bis F10@{ub}@{fg text}

   Über die Funktionstasten lassen sich beliebige Bauelemente direkt an-
   sprechen (Auch der EDIT-MODE). Dazu muß die Bibliothek und das darin ent-
   haltene Element durch ein Komma getrennt angegeben werden. Sollte beim
   Interpretieren der Tooltypes ein Fehler auftreten, so wird das u.U. nicht
   gemeldet, sondern die entsprechende Taste ist einfach nicht belegt. Um z.B.
   über die F1-Taste in den EDIT-MODE zu gelangen, müsste der Eintrag wie
   folgt aussehen: F1=Internal elements,EDIT-MODE

   @{fg highlight}@{b}SCREENMODE@{ub}@{fg text}

   Ist dieses Tooltype definiert, so wird AmiSPICEed auf einem eigenen Bild-
   schirm der angegebenen Mode-ID (hexadezimal) gestartet. Für einen
   PAL-HIRES-INTERLACED Bildschirm muß z.B. SCREENMODE=$00029004 angegeben
   werden.

   @{fg highlight}@{b}SCREENCOLS@{ub}@{fg text}

   Falls AmiSPICEed einen eigenen Bildschirm öffnet, so können hier GENAU 8
   Farben definiert werden, wobei für jeden Farbwert nur 4 Bit zur Verfügung
   stehen ($0 bis $f). Die Farben müssen über die Tooltypes PLOTCOLOUR1 bis
   PLOTCOLOUR8 sowie PLOTTEXT und PLOTBACKGR den jeweiligen Funktionen zu-
   geordnet werden.
   Beispiel: SCREENCOLS=$bbb,$000,$fff,$06A,$1f1,$e2e,$fe2,$e33

   @{fg highlight}@{b}DELIMITTER@{ub}@{fg text}

   Für die ASCII-Ausgabe der aktiven Plots im Plot-Fenster kann hier das zu
   verwendende Trennzeichen festgelegt werden. Mögliche Angaben sind: "SPACE",
   "TAB" oder ein beliebiges Zeichen. Beispiel: DELIMITTER=SPACE

@EndNode

@Node "Intern" "Elemente der internen Bibliothek"

   Die interne Bibiliothek enthält z.Z folgende Elemente:

   @{fg highlight}@{b}EDIT-MODE@{ub}@{fg text}

   Ist dieses Element angewählt, so ist es möglich die aktuelle Schaltung
   zu editieren. Bauelemente können angeklickt und anschliessend über die
   Funktionen im Edit-Menü verändert werden. Um eine Verbindung zwischen
   zwei Elementen herzustellen muß wie folgt vorgegangen werden:

   1. Anklicken des Selektionspunktes des ersten Elements
   2. Anklicken des Anschlußpunktes des ersten Elements

   Ab Version 1.3 kann der erste Knotenpunkt auch direkt angeklickt werden,
   ohne erst das zugehörige Element anzuwählen.

   Von nun an sollte immer eine Linie zwischen dem Mauszeiger und diesem
   Punkt angezeigt werden.

   3. Anklicken des Selektionspunktes des zweiten Elements
   4. Anklicken des Anschlußpunktes des zweiten Elements

   Ab Version 1.3 kann auch der zweite Knotenpunkt direkt angewählt werden.

   Die Verbindung sollte jetzt automatisch geroutet werden.

   Wichtig ist, daß bestehende Verbindungen auch auf diese Art und Weise
   verändert werden können.

   @{fg highlight}@{b}Text@{ub}@{fg text}

   Hier kann ein Hilfstext, welcher keinerlei Bedeutung für die eigentliche
   Schaltung hat, eingefügt werden. Der Text kann über das Edit-Menü verändert
   werden.

   @{fg highlight}@{b}Ground@{ub}@{fg text}

   Masse, MUß in jeder Schaltung mindestens einmal enthalten sein.

   @{fg highlight}@{b}Knotenpunkt@{ub}@{fg text}

   Sollen mehrere Baulemente an einen Schaltungsknoten angeschlossen werden,
   so kann das über dieses Bauelement geschehen. Ab Version 1.1 läßt sich
   für jeden Knoten ein Anfangspotential über die Menüfunktion "edit element"
   festlegen.

   @{fg highlight}@{b}Interface@{ub}@{fg text}

   Innerhalb einer Unterschaltung wird über dieses Bauelement eine Verbindung
   zur nächst höheren Schaltung hergestellt. Das IC in der höheren Ebene
   enthält für jedes Inteface-Element einen Anschlußdraht. Ausrichtung und
   Elementnummer werden auf die Anschlüsse des IC`s übertragen.

   @{fg highlight}@{b}IC@{ub}@{fg text}

   Leere Unterschaltung.

   @{fg highlight}@{b}View voltage@{ub}@{fg text}

   Spannungsmessung für die Simulation.

   @{fg highlight}@{b}View current@{ub}@{fg text}

   Strommessung für die Simulation.

   @{fg highlight}@{b}OPTIONS@{ub}@{fg text}

   Hier können alle globalen Simulationsparameter von SPICE (z.B. die
   Umgebungstemperatur) geändert werden.

   @{fg highlight}@{b}Weitere Elemente...@{ub}@{fg text}

   Die weiteren Elemente bestimmen die Simulationsart, dabei wurde die
   Terminologie direkt aus SPICE übernommen, so daß die Funktion hier nicht
   erläutert werden muß. Es sollte möglichst nur eines dieser Elemente in die
   Schaltung eingefügt werden. Die Simulationsparameter können über das
   Edit-Menü verändert werden.

@EndNode

@Node "BIBO" "Aufbau der Bibliotheksdateien"

   Der Programmteil, welcher die Bibliotheken einliest ist nicht sehr
   verzeihlich, d.h. die folgenden Syntaxregeln müssen auf jeden Fall
   eingehalten werden, auch wenn keine Abstürze auftreten sollten:

   - Es dürfen keine Kommentare oder Leerzeilen eingefügt werden.
   - Die Identifier müssen groß geschrieben werden.
   - Der folgende Aufbau muß unbedingt eingehalten werden, dabei muß
     auch die Reihenfolge der Zeilen stimmen.

   Alle Dateien, welche sich im bibs-Verzeichnis befinden, werden beim
   Programmstart automatisch von AmiSPICEed eingelesen. Die schon vor-
   handenen Bibliotheken wurden von mir NICHT auf ihre korrekte Funktion
   getestet, es ist also durchaus Möglich, daß hier falsche Ergebnisse
   auftauchen.

   Im Folgenden werden die einzelnen Zeilen einer möglichen Bibliotheks-
   datei erläutert, dabei gehört NUR der @{fg highlight}farbige Text@{fg text} auch wirklich
   in die Bibliotheksdatei:

   -------------------------------------------------------------------------
   Kopf einer Bibliotheksdatei:
   -------------------------------------------------------------------------
   @{fg highlight}#AmiSPICEed Library@{fg text}

   Diese Zeile steht am Anfang einer Bibliotheksdatei und dient zur Iden-
   tifikation.

   @{fg highlight}My element@{fg text}

   Name der Bibliothek. Erscheint später im Listview.

   -------------------------------------------------------------------------
   Beschreibung eines Bauelements
   -------------------------------------------------------------------------
   @{fg highlight}#ELEMENT@{fg text}

   Beginn der Beschreibung eines Bauelements.

   @{fg highlight}My element@{fg text}

   Name des Bauelements. Erscheint später im Listview.

   @{fg highlight}ID@{fg text}

   SPICE-Identifier des Bauelements. Z.B. R für Widerstand, C für Kondensator
   Wird hier ein X angegeben, so wird im Folgenden eine komplette Unter-
   schaltung definiert und kein SPICE-Bauelement. (siehe CMOS.bib)

   @{fg highlight}My model@{fg text}

   Name der Modellbeschreibung bzw. der Unterschaltung oder #NO_MOD, wenn
   keine Modellbeschreibung angegeben wird.

    | Fall a:
    | Wurde ein Modellname angegeben, so folgt jetzt die Modellbeschreibung,
    | welche sich auf mehrere Zeilen verteilen kann. Die Identifier NPN oder
    | PNP für Transistoren sollten hier z.B in der ersten Zeile stehen, die
    | weiteren Zeilen können dann die Modellparameter enthalten.
    | (Siehe bipolar.bib)
    |
    | Fall b:
    | Wurde als Identifier ein X angegeben und ist ein Name für die Unter-
    | schaltung definiert worden, so folgt hier die Beschreibung der Schaltung.
    |
    | @{fg highlight}#SUBCIRCUIT@{fg text}
    |
    | In den nächsten Zeilen kann eine vollständige Schaltung mit eigenen
    | Modellen beschrieben werden. Dabei werden die Knoten 1, 2, 3, ...
    | automatisch in dieser Reihenfolge als Schnittstellenknoten verwendet.
    | Die Anzahl der Schnittstellenknoten wird später definiert.
    |
    | Ab Version 1.3 können Parameter an die Unterschaltung übergeben werden,
    | indem die folgenden Platzhalter verwendet werden: #1, #2, ..., #9. Die
    | verwendeten Platzhalter müssen später im Identifier-Feld der Parameter-
    | beschreibung benutzt werden.
    | Ein Widerstandwert und eine Kapazität könnten z.B. wie folgt übergeben
    | werden:
    | ...
    | R1 1 2 #1
    | C1 2 3 #2
    | ...
    |
    | @{fg highlight}#END_MOD@{fg text}
    |
    | Diese Zeile schließt die Modell- oder Schaltungsbeschreibung ab.

   @{fg highlight}MODE@{fg text}

   Diese Zeile ist ein Relikt aus älteren Programmversionen. Die Bedeutung
   ist mir momentan auch nicht mehr geläufig, so daß hier auf jeden Fall
   der String #NO_MODE stehen sollte.

   Im Folgenden können die Parameter, welche in der SPICE-Datei hinter den
   Knotennummern erscheinen (z.B. Widerstandswert) definiert werden. Die
   Reihenfolge wird dabei übernommen, so daß auch mehrere Parameter ohne
   Identifier realisiert werden können. Es können theoretisch unendlich
   viele Parameter nacheinander definiert werden, wobei jedoch zu beachten
   ist, daß das Programm automatisch ein Fenster generiert, in welchem alle
   Parameter dargestellt werden. Die Beschreibung eines Parameters besteht
   aus drei Zeilen:

   @{fg highlight}Description@{fg text}

   Diese Zeile wird im Edit-Fenster des Programms zur Identifizierung des
   Parameters eingeblendet.

   @{fg highlight}Identifier@{fg text}

   Identifier, welcher direkt vor dem Parameter in der SPICE-Datei erscheint.
   Z.B. IC= für den Parameter initial condition. Soll kein Identifier
   erscheinen sollte hier #NO_IDENTIFIER stehen (z.B. Widerstandswert)

   Ab Version 1.3 kann hier im Falle einer Beschreibung durch eine Unter-
   schaltung mit Parameterübergabe der entsprechende Platzhalter eingetragen
   werdem (#1 bis #9). JEDER PLATZHALTER IN DER UNTERSCHALTUNG MUSS AUCH
   HIER BESCHRIEBEN SEIN! Ein Beispiel ist das "transformer"-Element in der
   "passive elements" Bibliothek.

   @{fg highlight}Parameter@{fg text}

   Wert des Parameters, oder eine Leerzeile.

   An dieser Stelle könnte die Beschreibung des nächsten Parameters beginnen.

   @{fg highlight}#END_OPTS@{fg text}

   Diese Zeile Kennzeichnet das Ende der Parameterbeschreibung.

   Als nächstes folgt die Beschreibung der Anschlußknoten. Auch hier können
   beliebig viele Knoten defniert werden. Die Beschreibung eines Knotens
   besteht aus zwei Zeilen:

   @{fg highlight}My knot@{fg text}

   Name des Knotens. (z.B. Basis, Emmitter, Kollektor)

   @{fg highlight}x,y,direction@{fg text}

   x legt die Position des Anschlusses in X-Richtung relativ zur Elementposition
   in Pixeln fest. y legt genauso die Position in Y-Richtung fest. Es sind sowohl
   positive als auch negative Werte erlaubt, die allerdings Vielfache von 10 sein
   MÜSSEN!!
   direction bestimmt die Richtung des Anschlusses. Es gibt vier Möglichkeiten:

   #DIR_LEFT,#DIR_RIGHT,#DIR_UP,#DIR_DOWN (links, rechts, hoch, runter)

   An dieser Stelle könnte die Beschreibung des nächsten Knotens beginnen.

   @{fg highlight}#END_KNOTS@{fg text}

   Diese Zeile Kennzeichnet das Ende der Anschlußbeschreibungen.

   Zum Abschluß erfolgt die Beschreibung des graphischen Symbols. Dabei
   beschreibt eine Zeile jeweils eine Linie, einen Kreis oder einen Text.
   Es können beliebig viele Zeilen verwendet werden:

   @{fg highlight}command,x1,y1,x2,y2@{fg text}

   command bestimmt die Art des Zeichenelements:

   L  : Linie ziehen
   C  : Kreis zeichnen
   N  : Name des Elements einblenden
   S  : SPICE-Identifier mit Element-Nummer einblenden

   Je nach Zeichenkommando haben die folgenden relativen Koordinaten ver-
   schiedene Bedeutungen. Der Punkt (0,0) ist der Punkt an welchem die
   Maus das Element später greift:

   L  : x1,y1 Anfangspunkt, x2,y2 Endpunkt
   C  : x1,y1 Mittelpunkt, x2,y2 Radien
   N,S: x1,y1 Position, x2=0,y2=0

   @{fg highlight}#END_GRAPH@{fg text}

   Diese Zeile Kennzeichnet das Ende der Beschreibung des graphischen Symbols
   UND gleichzeitig das Ende der Elementbeschreibung. In der nächsten Zeile
   könnte jetzt mit #ELEMENT ein weiteres Element beschrieben werden.

   @{fg highlight}#END_BIB@{fg text}

   Ende der Bibliothek, alle nachfolgenden Zeilen werden nicht eingelesen.


   Das war's. Wer ernsthaft daran denkt eine Bibliothek zu erstellen, oder
   zu erweitern, der sollte sich die Beispiele anschauen und den Effekt
   auf die SPICE-Dateien begutachten.

@EndNode

