LtSpice: Multiplier ?

Gast #4423042
Lesenswert?

Danke schön :-)

Ich versuche, das Ganze in eine Bibliothek zu verpacken:
1
*
2
*
3
* multiplier
4
.SUBCKT multiply v1 v2 vout
5
B1 vout 0 V(v1)*V(V2)
6
.ENDS
7
*
8
*
9
* subtract
10
.SUBCKT subtract v1 v2 vout
11
B1 vout 0 V(v1)-V(V2)
12
.ENDS
13
*
14
*

Ist das richtig so ?
Gast #4423657
Lesenswert?

Irgendwie ist mir der Syntax von LtSpice immer noch unklar.

Ich versuche, eine Multiplikation mit einer Konstanten zu erstellen.

Das Modell müsste meiner Meinung nach so aussehen:
1
*
2
* multiply with constant
3
.SUBCKT multiplyconst v1 vout k=1
4
B1 vout 0 V(v1)*V(k)
5
.ENDS
6
*

aber es kommt eine Fehlermeldung, wenn ich auf "simulate" drücke.
Angehängte Dateien:
Gast #4423752
Lesenswert?

>V(k) ist ein Netzname.
Danke. So was habe ich mir schon gedacht.
Meine Version sieht jetzt so aus. Funktioniert aber auch nicht:
1
*
2
* multiply with constant
3
.SUBCKT multiplyconst input output 
4
.param k=1
5
B1 output 0 V(input)*k
6
.ENDS
7
*
Angehängte Dateien:
Gast #4424134
Lesenswert?

Hallo Helmut,

vielen Dank für Deine Antwort.
Deine Version funktioniert gut. Obwohl ich den Teil der *.lib auch schon 
so hatte, ging es bei mir nicht.
Ich meine also zu Verstehen, dass man das *.asy File auf jeden Fall von 
Hand erweitern muss und dass der Fehler in den folgenden, beim mir 
fehlenden Zeilen lag:
1
SYMATTR SpiceLine k=1
2
SYMATTR Description multiply with const value
3
SYMATTR ModelFile gprogch.lib
4
SYMATTR Value MULTIPLYCONST
5
SYMATTR Prefix X

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren