LTSpice .Step (2. Dimension) Syntaxfehler

Ich versuche derzeit, die Schrittfunktion zu verwenden, um die Portabilität einiger Arbeitsschaltungen zu vereinfachen / zu erhöhen. Ich kann die genaue Schaltung nicht teilen, aber ich versuche einfach, eine oder mehrere Variablen zu definieren, diese Variablen in einigen Berechnungen zu verwenden und schließlich die ausgegebenen Gleichungen in die Schrittfunktion zu leiten.

Eine vereinfachte Version dessen, was ich zu tun versuche, kann hier gesehen werden:

Vereinfachter Testaufbau

Wenn ich versuche, die obige Schaltung zu simulieren, erhalte ich die folgende Fehlermeldung.Testsatzfehler

Ich denke, meine Frage besteht aus zwei Teilen:

  1. Gibt es eine Möglichkeit, LT zu zwingen, zuerst die Berechnungen durchzuführen?
  2. Gibt es möglicherweise einen anderen Befehl oder eine andere Aktion, die besser für das geeignet ist, was ich erreichen möchte?

Vielen Dank im Voraus!

Antworten (2)

Gibt es möglicherweise einen anderen Befehl oder eine andere Aktion, die besser für das geeignet ist, was ich erreichen möchte?

Verwenden

.param a=0
.step param x list 1 2 3

und setzen Sie den Wert von B1 aufV={a+x}

Übrigens habe ich bei Bedarf eine LIST mit 1 2 3 ... usw. verwendet, um BJT-Modelle auszuwählen, die 1 2 3 ... usw. genannt wurden. Sie können ein Modell mit einer Nummer benennen. Funktioniert.

Gibt es eine Möglichkeit, LT zu zwingen, zuerst die Berechnungen durchzuführen?

Ja, Sie können eine Netzlistendatei erstellen und die Zeilen in der Netzlistendatei neu anordnen. Das Problem dabei ist, dass nicht die Reihenfolge des Compilers, der die Zeilen "ausführt", ein Problem verursacht. Das Problem scheint zu sein, dass Listen keine geschweiften Klammern akzeptieren können, sondern nur Konstanten

* C:\Program Files (x86)\LTC\LTspiceIV\blah.net
B1 V1 0 V={x}
.param a=0 x1=a+1
.step param x list 1 {a}
.tran 1
.backanno
.end

Gibt es möglicherweise einen anderen Befehl oder eine andere Aktion, die besser für das geeignet ist, was ich erreichen möchte?

Ja, die Verwendung von if then-Anweisungen in einem b-source-Block ist wahrscheinlich der beste Weg, um mehrere Anweisungen zu verarbeiten.

IF-Anweisung auf LTspice

Das Problem scheint zu sein, dass Listen keine geschweiften Klammern akzeptieren können, nur Konstanten. Ich denke, die Hilfedatei bestätigt dies (obwohl nicht offensichtlich klar): "Schritte können linear, logarithmisch oder als Werteliste angegeben werden "
@Huisman Das ist hier das Problem. Du hast Recht.
Das war mein Take-Away aus der Dokumentation, und es ist nicht klar. Ich vermute, wenn lt spice dies unterstützen würde, müsste es die Gültigkeit der .param-Anweisungen vor der Liste überprüfen, was sich in einen logischen Albtraum verwandelt, sodass sie es bei Konstanten belassen haben. Ich habe gelernt, dass jede spezielle Logik, die benötigt wird, von b-Quellen gehandhabt werden kann und dort am besten verwendet wird