Forum: Analoge Elektronik und Schaltungstechnik Infineon Pspice Modelle funktionieren nicht?!


von Emil (Gast)


Angehängte Dateien:

Lesenswert?

Hallo allerseits,

ich habe eben versuch die SiC Schottkey Modelle in meine Simulation zu 
integrieren und bekomme als Resultat verschiedenste Fehlermeldungen:

ERROR -- Argument list does not agree with previous instance
ERROR -- Missing or invalid expression
WARNING -- Too many arguments to function X_U4.XPND2.Td+ T,X),-1e6,1e6)}

Ich vermute mal es liegt an mir und nicht an Infineon, zur Sicherheit 
wäre schön wenn jemand es mal gegenprüft...

Die Modelle befinden sich im Anhang.

Danke

von Emil (Gast)


Lesenswert?

PS: bei mir geht es um die 12S60 Modelle

von Leonardo W. (krangel)


Lesenswert?

Mahlzeit

unter LTspice laufen die Modelle ohne Fehlermeldung, allerdings extrem 
langsam.

Grüße Leo

von Leonardo W. (krangel)


Lesenswert?

Mahlzeit,

unter LTspice laufen die Modelle ohne Fehlermeldung, aber extrem 
langsam.

Grüße Leo

von Kai Klaas (Gast)


Lesenswert?

>WARNING -- Too many arguments to function X_U4.XPND2.Td+ T,X),-1e6,1e6)}

Wie bei Mozart: "Zuviele Noten! Nehme er hier und da ein paar weg..."

Kai Klaas

von Emil (Gast)


Lesenswert?

Danke schonmal für die Antworten... Kann ja wohl nicht sein, dass die 
Modelle bei der "Konkurrenz" laufen und unter Pspice nicht!

Vielleicht ist ja irgendjemand da der auch zugang zu Orcad hat? 
Studenten vielleicht? Ich benutze Version 16.3.

Das Modell umzuschreiben hat für mich wenig Sinn, da so Parameter 
verloren gehen würden :/

von Leonardo W. (krangel)


Lesenswert?

Hi,

 oder zu wenig, vielleicht ein Symbol mit nur 2 Pins verwendet. Die 
Infineon Modelle benötigen 4 Pins, Anode, Kathode, Gehäuse und 
Junctiontemperatur.

Grüße Leo

von Guido C. (guidoanalog)


Angehängte Dateien:

Lesenswert?

Hallo,

unter PSpice (Orcad Family Release 9.2) funktioniert das Modell für die 
Diode vom Typ IDD12SG60C_L3 auch. Allerdings musste ich etwas 
nachhelfen. In der Datei "ThinQ3G.lib" war in dem Subcircuit 
"SCS_SCHOTTKY_3G_L3" die Zeile mit der Definition von "GSCHOTTKY" zu 
lang. In meiner Version darf die Zeilenlänge maximal 132 Zeichen 
betragen. Seitdem ich die zwei unnötigen Leerzeichen am Ende der Zeile 
gelöscht habe funktioniert das Modell.

Bitte beachten:
Ich habe die Simulation ohne Rücksicht auf die technischen Daten der 
Diode durchgeführt.

Mit freundlichen Grüßen
Guido

von Emil (Gast)


Lesenswert?

Das Problem mit den 132 Zeichen hatte ich auch, habs dann aber ebenfalls 
geändert.

Die Pins für Junction und Case habe ich genauso wie Guido gebrückt.

Ich vermute mal die Modelle wurden noch nicht für die neue Version 
optimiert und funktionieren deshalb nicht.

Die Simulation läuft jedenfalls mit anderen Modellen einwandfrei.

Vielleicht hilft ja noch die Netlist?
1

2
**** 06/17/10 09:05:52 ******* PSpice 16.3.0 (June 2009) ****** ID# 0 ********
3
4
 ** Profile: "SCHEMATIC1-BrueckenSim"
5
6
7
 ****     CIRCUIT DESCRIPTION
8
9
10
******************************************************************************
11
12
13
14
15
** Creating circuit file "try.cir" 
16
** WARNING: THIS AUTOMATICALLY GENERATED FILE MAY BE OVERWRITTEN BY SUBSEQUENT SIMULATIONS
17
18
*Libraries: 
19
* Profile Libraries :
20
* Local Libraries :
21
habs mal entfernt
22
23
*Analysis directives: 
24
.TRAN  0 100us 0 0.5us SKIPBP 
25
.OPTIONS RELTOL= 0.01
26
.PROBE V(alias(*)) I(alias(*)) W(alias(*)) D(alias(*)) NOISE(alias(*)) 
27
.INC "..\SCHEMATIC1.net" 
28
29
30
31
**** INCLUDING SCHEMATIC1.net ****
32
* source FINAL
33
.EXTERNAL INPUT Vpulse
34
.EXTERNAL INPUT 1quad
35
.EXTERNAL INPUT 4quad
36
.EXTERNAL OUTPUT 3quad
37
.EXTERNAL OUTPUT 2quad
38
R_R6         N38788 N38120  10 TC=0,0 
39
C_C6         N38124 N38920  1000pF  TC=0,0 
40
R_R2         N38638 N38682  4.7 TC=0,0 
41
V_V2         N38556 N38124  
42
+PULSE -5V 12V 0 {TR} {TF} {((1/6)*(1/fPWM))-(2*TZ)} {1/fPWM}
43
R_R1         N38556 N38920  4.7 TC=0,0 
44
V_V3         N38130 0 250V
45
C_C7         N38124 N38822  1n  TC=0,0 
46
V_V1         N38638 0  
47
+PULSE -5V 12V {(1/6)*(1/fPWM)} {TR} {TF} {((5/6)*(1/fPWM))-(2*TZ)} {1/fPWM}
48
C_C1         N38130 0  300u  
49
L_Spule1         N38604 N38124  5uH  
50
R_R7         N38822 N38130  10 TC=0,0 
51
M_FET2         N38120 N38682 0 0 IRFP360
52
C_C4         0 N38788  1n  TC=0,0 
53
C_C2         0 N38682  1000pf  TC=0,0 
54
L_Spule2         N38120 N38604  5uH  
55
M_FET3         N43268 N43882 N43086 N43086 IRFP360
56
R_R9         N43420 N43644  4.7 TC=0,0 
57
L_Spule3         N43566 N43086  5uH  
58
C_C11         N43216 N43750  1n  TC=0,0 
59
M_FET4         N43082 N43644 N43216 N43216 IRFP360
60
R_R3         N44624 N43882  4.7 TC=0,0 
61
C_C14         N43086 N43882  1000pF  TC=0,0 
62
C_C12         N43086 N43784  1n  TC=0,0 
63
C_C9         N43216 N43644  1000pf  TC=0,0 
64
R_R13         N43784 N43268  10 TC=0,0 
65
V_V4         N43420 N43216  
66
+PULSE -5V 12V {(3/6)*(1/fPWM)} {TR} {TF} {(1/6)*(1/fPWM)-(2*TZ)} {1/fPWM}
67
R_R12         N43750 N43082  10 TC=0,0 
68
L_Spule4         N43082 N43566  5uH  
69
L_FilterSpule1         N38604 N47563  6.5uH  
70
L_FilterSpule2         N47559 N43566  6.5uH  
71
C_C15         N47563 N47559  20.4u  TC=0,0 
72
R_R14         N47563 N47559  2 TC=0,0 
73
Z_FET11         N38130 N38920 N38124 APT40GF100BN
74
V_V5         N44624 N43086  
75
+PULSE -5V 17V {(4/6)*(1/fPWM)} {TR} {TF} {(5/6)*(1/fPWM)-(2*TZ)} {1/fPWM}
76
R_R15         N38130 N43268  0.001 TC=0,0 
77
R_R16         0 N43216  0.00001 TC=0,0 
78
L_Spule8         N102110 N101904  5uH  
79
M_FET7         N102100 N102164 0 0 IRFP360
80
V_V19         N115272 0  
81
+SIN 0 {Ampl} {sinfreq} 0 0 0
82
C_C3         N101942 0  300u  
83
C_C8         N101904 N103382  1n  TC=0,0 
84
X_Freilauf7         N102200 N102168 SDT12S60_L2 PARAMS: TJ=60
85
L_FilterSpule3         N102110 N102750  6.5uH  
86
C_C17         N102172 N102552  1n  TC=0,0 
87
C_C13         N102192 N102470  1000pf  TC=0,0 
88
X_Freilauf6         0 N101904 SDT12S60_L2 PARAMS: TJ=60
89
C_C10         N101904 N102024  1000pF  TC=0,0 
90
E_ABM18         N115444 0 VALUE { -V(N115272)    }
91
E_ABM20         4QUAD 0 VALUE { {IF(V(N115272)<V(VPULSE),vout,0)}    }
92
M_FET5         N102168 N102614 N102172 N102172 IRFP360
93
L_Spule7         N102100 N102110  5uH  
94
C_C18         N102172 N102614  1000pF  TC=0,0 
95
R_R20         N102552 N102168  10 TC=0,0 
96
I_I2         N102750 N102774 DC 65Adc  
97
C_C16         N102192 N102518  1n  TC=0,0 
98
C_C19         N102750 N102754  20.4u  TC=0,0 
99
R_R5         1QUAD N102024  4.7 TC=0,0 
100
V_V18         VPULSE 0  
101
+PULSE {-Ampl} {Ampl} 0 {0.5/freq} {0.5/freq} 0 {1/freq}
102
M_FET6         N102200 N102470 N102192 N102192 IRFP360
103
X_Freilauf5         N102100 N101942 SDT12S60_L2 PARAMS: TJ=60
104
M_FET8         N101942 N102024 N101904 N101904 IRFP360
105
C_C5         0 N102164  1000pf  TC=0,0 
106
R_R21         N102774 N102754  2 TC=0,0 
107
E_ABM19         1QUAD 0 VALUE { {IF(V(N115444)>V(VPULSE),vout,0)}    }
108
L_FilterSpule4         N102754 N102424  6.5uH  
109
L_Spule6         N102424 N102172  5uH  
110
L_Spule5         N102200 N102424  5uH  
111
R_R19         N102518 N102200  10 TC=0,0 
112
V_V10         N101942 0 250V
113
E_ABM22         3QUAD 0 VALUE { {IF(V(N115272)>V(VPULSE),vout,0)}    }
114
R_R4         3QUAD N102614  4.7 TC=0,0 
115
C_C20         0 N103352  1n  TC=0,0 
116
R_R18         0 N102192  0.00001 TC=0,0 
117
R_R17         N101942 N102168  0.001 TC=0,0 
118
E_ABM21         2QUAD 0 VALUE { {IF(V(N115444)<V(VPULSE),vout,0)}    }
119
R_R22         N103382 N101942  10 TC=0,0 
120
R_R11         N103352 N102100  10 TC=0,0 
121
X_Freilauf8         N102192 N102172 SDT12S60_L2 PARAMS: TJ=60
122
R_R8         2QUAD N102164  4.7 TC=0,0 
123
R_R10         4QUAD N102470  4.7 TC=0,0 
124
X_U1         N43082 N43268 N123275 N123275 IDD12SG60C_L3 PARAMS: T0=25
125
+  ratio=0.54
126
X_U2         N43216 N43086 N123279 N123279 IDD12SG60C_L3 PARAMS: T0=25
127
+  ratio=0.54
128
X_U3         0 N38124 N123267 N123267 IDD12SG60C_L3 PARAMS: T0=25 ratio=0.54
129
X_U4         N38120 N38130 N123271 N123271 IDD12SG60C_L3 PARAMS: T0=25
130
+  ratio=0.54
131
.PARAM  fpwm=60000 td={0.5*(1/fpwm)} tf=1ns tz={totzeit/2} sinfreq=1k freq=60k
132
+  ampl=5 totzeit=100n vout=10v vthreshold=10v tr=1ns
133
134
**** RESUMING try.cir ****
135
.END
136
+ WX1/Lspec)))}
137
.FUNC EG(T) {(3.23 - 6.5e-4*(T + t0)**2/(T + t0 + 1300))*q}
138
.FUNC ni(T) {log(3.95e15*(T0 +T)**1.5*exp(-EG(T)/2/kb/(T0 +T)))}
139
.FUNC ISE(T,V) {LIMIT(un(T)*(exp( log(Ise_g) +log(kb*(T + t0)) +2*ni(T) 
140
+ +q*V/kb/(T+t0)) - exp(log(Ise_g) +log(kb*(T + t0)) + 2*ni(T))),-1e6,1e6) 
141
+ }
142
.FUNC ISM(T,V) {LIMIT(sqrt(DA(T)/Tau_X(T))*(exp(log(Ism_g) + ni(T)+ q*V/kb/2/(
143
+ T+t0) ) - exp(log(Ism_g) +ni(T))),-1e6,1e6)}
144
.FUNC ATX1(X) {(X**2 - WX1**2 +Lspec**2)*arctan((-X+WX1)/Lspec)-(Lspec**2 
145
+ - WX1**2)*arctan(WX1/Lspec)}
146
.FUNC ATX2(X) {Lspec*X + Lspec*WX1*log((Lspec**2 +(X -WX1)**2)/(Lspec**2 
147
+ +WX1**2))}
148
.FUNC xj(V,Y2,X) {0.5*(X + (2*eps0*epsic*MAX(V +3.5,0.01)/q/X+NX3/pi/X*(
149
+ ATX1(X) + ATX2(X)) )/(NX1 - MIN(Y2,0)/q/AX0/vlimit+ NX3/2))}
150
.FUNC w(T,V) {MIN(MAX(wb-V*(1 + a1(T)),.0001m),wb- .0001m)}
151
.FUNC Rd(Z,T) {wb*wb/(un(T)*QN + (un(T) + up(T))*Z*1e-6)}
152
.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
153
+ 0)/4/DA(T)),1p,1e6)}
154
----------------------$
155
ERROR -- Argument list does not agree with previous instance
156
.FUNC IQ(V,Y,Z,U,T) {LIMIT((Tau_X(T)*Y - MAX(Z,0)*1e-6)/Td(V,U,T),-1e6,
157
158
WARNING -- Too many arguments to function X_U1.XPND.Td+ 1e6) }
159
--------$
160
ERROR -- Missing or invalid expression
161
+ WX1/Lspec)))}
162
.FUNC EG(T) {(3.23 - 6.5e-4*(T + t0)**2/(T + t0 + 1300))*q}
163
.FUNC ni(T) {log(3.95e15*(T0 +T)**1.5*exp(-EG(T)/2/kb/(T0 +T)))}
164
.FUNC ISE(T,V) {LIMIT(un(T)*(exp( log(Ise_g) +log(kb*(T + t0)) +2*ni(T) 
165
+ +q*V/kb/(T+t0)) - exp(log(Ise_g) +log(kb*(T + t0)) + 2*ni(T))),-1e6,1e6) 
166
+ }
167
.FUNC ISM(T,V) {LIMIT(sqrt(DA(T)/Tau_X(T))*(exp(log(Ism_g) + ni(T)+ q*V/kb/2/(
168
+ T+t0) ) - exp(log(Ism_g) +ni(T))),-1e6,1e6)}
169
.FUNC ATX1(X) {(X**2 - WX1**2 +Lspec**2)*arctan((-X+WX1)/Lspec)-(Lspec**2 
170
+ - WX1**2)*arctan(WX1/Lspec)}
171
.FUNC ATX2(X) {Lspec*X + Lspec*WX1*log((Lspec**2 +(X -WX1)**2)/(Lspec**2 
172
+ +WX1**2))}
173
.FUNC xj(V,Y2,X) {0.5*(X + (2*eps0*epsic*MAX(V +3.5,0.01)/q/X+NX3/pi/X*(
174
+ ATX1(X) + ATX2(X)) )/(NX1 - MIN(Y2,0)/q/AX0/vlimit+ NX3/2))}
175
.FUNC w(T,V) {MIN(MAX(wb-V*(1 + a1(T)),.0001m),wb- .0001m)}
176
.FUNC Rd(Z,T) {wb*wb/(un(T)*QN + (un(T) + up(T))*Z*1e-6)}
177
.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
178
+ 0)/4/DA(T)),1p,1e6)}
179
----------------------$
180
ERROR -- Argument list does not agree with previous instance
181
.FUNC IQ(V,Y,Z,U,T) {LIMIT((Tau_X(T)*Y - MAX(Z,0)*1e-6)/Td(V,U,T),-1e6,
182
183
WARNING -- Too many arguments to function X_U2.XPND.Td+ 1e6) }
184
--------$
185
ERROR -- Missing or invalid expression
186
+ WX1/Lspec)))}
187
.FUNC EG(T) {(3.23 - 6.5e-4*(T + t0)**2/(T + t0 + 1300))*q}
188
.FUNC ni(T) {log(3.95e15*(T0 +T)**1.5*exp(-EG(T)/2/kb/(T0 +T)))}
189
.FUNC ISE(T,V) {LIMIT(un(T)*(exp( log(Ise_g) +log(kb*(T + t0)) +2*ni(T) 
190
+ +q*V/kb/(T+t0)) - exp(log(Ise_g) +log(kb*(T + t0)) + 2*ni(T))),-1e6,1e6) 
191
+ }
192
.FUNC ISM(T,V) {LIMIT(sqrt(DA(T)/Tau_X(T))*(exp(log(Ism_g) + ni(T)+ q*V/kb/2/(
193
+ T+t0) ) - exp(log(Ism_g) +ni(T))),-1e6,1e6)}
194
.FUNC ATX1(X) {(X**2 - WX1**2 +Lspec**2)*arctan((-X+WX1)/Lspec)-(Lspec**2 
195
+ - WX1**2)*arctan(WX1/Lspec)}
196
.FUNC ATX2(X) {Lspec*X + Lspec*WX1*log((Lspec**2 +(X -WX1)**2)/(Lspec**2 
197
+ +WX1**2))}
198
.FUNC xj(V,Y2,X) {0.5*(X + (2*eps0*epsic*MAX(V +3.5,0.01)/q/X+NX3/pi/X*(
199
+ ATX1(X) + ATX2(X)) )/(NX1 - MIN(Y2,0)/q/AX0/vlimit+ NX3/2))}
200
.FUNC w(T,V) {MIN(MAX(wb-V*(1 + a1(T)),.0001m),wb- .0001m)}
201
.FUNC Rd(Z,T) {wb*wb/(un(T)*QN + (un(T) + up(T))*Z*1e-6)}
202
.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
203
+ 0)/4/DA(T)),1p,1e6)}
204
----------------------$
205
ERROR -- Argument list does not agree with previous instance
206
.FUNC IQ(V,Y,Z,U,T) {LIMIT((Tau_X(T)*Y - MAX(Z,0)*1e-6)/Td(V,U,T),-1e6,
207
208
WARNING -- Too many arguments to function X_U3.XPND.Td+ 1e6) }
209
--------$
210
ERROR -- Missing or invalid expression
211
+ WX1/Lspec)))}
212
.FUNC EG(T) {(3.23 - 6.5e-4*(T + t0)**2/(T + t0 + 1300))*q}
213
.FUNC ni(T) {log(3.95e15*(T0 +T)**1.5*exp(-EG(T)/2/kb/(T0 +T)))}
214
.FUNC ISE(T,V) {LIMIT(un(T)*(exp( log(Ise_g) +log(kb*(T + t0)) +2*ni(T) 
215
+ +q*V/kb/(T+t0)) - exp(log(Ise_g) +log(kb*(T + t0)) + 2*ni(T))),-1e6,1e6) 
216
+ }
217
.FUNC ISM(T,V) {LIMIT(sqrt(DA(T)/Tau_X(T))*(exp(log(Ism_g) + ni(T)+ q*V/kb/2/(
218
+ T+t0) ) - exp(log(Ism_g) +ni(T))),-1e6,1e6)}
219
.FUNC ATX1(X) {(X**2 - WX1**2 +Lspec**2)*arctan((-X+WX1)/Lspec)-(Lspec**2 
220
+ - WX1**2)*arctan(WX1/Lspec)}
221
.FUNC ATX2(X) {Lspec*X + Lspec*WX1*log((Lspec**2 +(X -WX1)**2)/(Lspec**2 
222
+ +WX1**2))}
223
.FUNC xj(V,Y2,X) {0.5*(X + (2*eps0*epsic*MAX(V +3.5,0.01)/q/X+NX3/pi/X*(
224
+ ATX1(X) + ATX2(X)) )/(NX1 - MIN(Y2,0)/q/AX0/vlimit+ NX3/2))}
225
.FUNC w(T,V) {MIN(MAX(wb-V*(1 + a1(T)),.0001m),wb- .0001m)}
226
.FUNC Rd(Z,T) {wb*wb/(un(T)*QN + (un(T) + up(T))*Z*1e-6)}
227
.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
228
+ 0)/4/DA(T)),1p,1e6)}
229
----------------------$
230
ERROR -- Argument list does not agree with previous instance
231
.FUNC IQ(V,Y,Z,U,T) {LIMIT((Tau_X(T)*Y - MAX(Z,0)*1e-6)/Td(V,U,T),-1e6,
232
233
WARNING -- Too many arguments to function X_U4.XPND.Td+ 1e6) }
234
--------$
235
ERROR -- Missing or invalid expression

von Guido C. (guidoanalog)


Angehängte Dateien:

Lesenswert?

Hallo,

Dein erster Fehler tritt in der folgenden Zeile auf.

.FUNC Td(V,U,T) {LIMIT(a2(T)*w(T,V)*w(T,V)/DA(T)/(1 + w(T,V)*1e6*MAX(U,
+ 0)/4/DA(T)),1p,1e6)}

PSpice (meine Version) schreibt die Fehlermeldung immer nach der 
betreffenden Zeile. Wie ich es sehe gibt es Probleme beim Aufruf von 
"LIMIT". Kann es sein, dass Dein Interpreter mit der 
<space><tab>-Kombination vor "LIMIT" nicht klar kommt (s. Anhang).
In einem ersten Schritt würde ich in der betreffenden Zeile alle 
Zwischenräume durch Leerzeichen ersetzen. Bringt dies nichts würde ich 
im nächsten Schritt die LIMIT-Anweisung vereinfachen z.B. 
...{LIMIT(a2(T),1p,1e6)}. Dies macht "simulationstechnisch" zwar keinen 
Sinn aber Du kannst den Fehler damit einkreisen.
Unter Umständen ist es für Deinen Interpreter ausreichend, wenn Du an 
einer definierten Stelle einen Zeilenumbruch einfügst ("+" nicht 
vergessen).

Mit freundlichen Grüßen
Guido

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.