vorhergehende Seite nächste Seite Inhaltsangabe

21. Die Macro-Funktion in Probe

Beispiel Ladekurve eines Kondensators
Anlegen und Abspeichern eines Macros
Aufrufen und Anwenden des Macros

Probe bietet bereits eine Vielzahl vorgefertigter Funktionen, mit denen Sie das Simulationsergebnis nachträglich mathematisch aufbereiten können. Mit der Macro-Funktion in Probe können Sie sogar eigene Macros verfassen und diese im Add-Traces-Fenster aufrufen. Wie Sie vorzugehen haben, soll Ihnen ein kleines Beispiel vorführen.


Beispiel Ladekurve eines Kondensators

Die nachfolgende Schaltung dient als Beispiel und lädt über den Widerstand einen Kondensator auf. Neben dem zeitlichen Spannungsverlauf am Kondensator soll Probe zusätzlich auch die momentane Leistung, welche in den Kondensator fließt und die momentane, gespeicherte Energie des Kondensators zu erkennen geben:


Die Schaltung zum Laden des Kondensators. IC=0 (Inititial Condition) des Kondensators garantiert, dass der Kondensator am Anfang der Simulation immer entladen ist (Das vorbereite Projekt finden Sie unter clade bzw. clade.zip).

Neben dem Spannungsverlauf, welchen Sie am Knoten C abgreifen, interessiert uns auch die momentane Leistung, welche in den Kondensator fließt. Diese ermitteln Sie durch den Ausdruck V(C)*I(C1), welcher dem Produkt aus Strom und Spannung entspricht. Wenn Sie diesen Ausdruck mit S über die Zeit integrieren, erhalten Sie die momentane Energie, welche in Abhängigkeit von der Zeit im Kondensator gespeichert ist. Der entsprechende Ausdruck lautet dann S(V(C)*I(C1)):


Das Simulationsergebnis: V(C) (blaue Kurve): Spannungsverlauf des Kondensators, V(C)*I(C1) (grüne Kurve): Momentane Leistung, welche in den Kondensator fließt, S(V(C)*I(C1)) (rote Kurve): Momentane, gespeicherte Energie des Kondensators.


Anlegen und Abspeichern eines Macros

Damit Sie den Ausdruck S(V(C)*I(C1)) nicht immer neu eintippen müssen, können Sie diesen als Macro einspeichern. Rufen Sie dazu in der Menüleiste von Probe unter "Trace" die Position "Macros..." auf:


Über die Menüleiste von Probe rufen die Eingabemaske zum Eintragen und Abspeichern der Macros auf.

Danach öffnet sich das folgende Fenster "Macros":


So tragen Sie Ihr Macro ein und speichern es in der lokalen PRB-Datei ab. Alternativ können Sie auch "Global File" auswählen, damit Ihr Macro für alle Projekte global zur Verfügung steht.

Tragen Sie im Fenster "Macro" unter "Definition:" Ihr Macro ein. Es lautet KondensatorEnergie(x,y) = s(x*y). Dann klicken Sie zum Speichern auf "Save To...". Darauf öffnet sich ein weiteres Fenster, welches Sie mit "OK" bestätigen. Dadurch haben Sie Ihr Macro in der PRB-Datei, welche sich im lokalen Ordner befindet, abgespeichert. Dann können Sie mit "Close" das Macro-Fenster wieder schließen.

Ihr Macro wurde nun in einer Datei mit der Endung PRB, welche sich in jenem Ordner befindet, in dem sich auch Ihr Projekt befindet, abgespeichert. Sie finden in dieser PRB-Datei Ihr Macro ganz unten unter [MACROS]. Sie könnten dort Ihre Macros auch direkt in diese Datei eintragen.


Aufrufen und Anwenden des Macros

Das Macro finden Sie nun rechts oben im Add-Traces-Fenster unter "Functions or Macros", wenn Sie "Macros" auswählen:


Rechts oben im Add-Traces-Fenster finden Sie unter Macros Ihr Macro.

Wenn Sie das entsprechende Macro anklicken, finden Sie es unten in der Zeile "Trace Expression" vor:


In der unteren Zeile des Add-Traces-Fenster steht nun Ihr Macro, in welches Sie noch den Strom und die Spannung eintragen müssen.

In der Zeile "Trace Expression" steht nun das Macro KondensatorEnergie(,). Fügen Sie nun diesem Ausdruck links und rechts des Kommas den Strom und die Spannung hinzu, so dass dort der vollständige Ausdruck KondensatorEnergie(V(C), I(C1)) steht. Das nachfolgende Video zeigt Ihnen, wie Sie den ganzen Vorgang ohne Tipperei mit der linken Maustaste bewältigen können:

So rufen Sie Ihr eigenes Macro auf und setzen die Variablen für Strom und Spannung ein. Dabei können Sie ganz auf die Tipperei verzichten und arbeiten nur mit der linken Maustaste (clade.avi).

Im Probe-Fenster sehen Sie dann, wie Ihr eigenes Macro "KondensatorEnergie" ausgeführt wurde:


Ihr Macro "KondensatorEnergie" nach der Berechnung.

Angemerkt sei noch, dass Sie die momentan gespeicherte Energie des Kondensators auch durch den Ausdruck S(W(C1)) hätten anzeigen lassen können. Mit W(C1) hätten Sie die momentane Leistungsaufnahme des Kondensators kürzer darstellen können:


Mit dem Argument W für Leistung können Sie die gleichen Kurven anzeigen lassen.

Ein weiteres interessantes Macro, mit dem Sie den Effektivwert anzeigen lassen können, lautet Effektivwert(x)=sqrt(s(x*x)/time). Es erfüllt die gleiche Aufgabe wie die Funktion RMS. SQRT steht für Quadratwurzel. Näheres zur Bedeutung von "time" finden Sie im Abschnitt über ABM-Blöcke.

Weiter zum nächsten Abschnitt