diff options
Diffstat (limited to 'combined.js')
-rw-r--r-- | combined.js | 677 |
1 files changed, 676 insertions, 1 deletions
diff --git a/combined.js b/combined.js index 2e95bfe1..cb6c6b07 100644 --- a/combined.js +++ b/combined.js @@ -353,6 +353,82 @@ x=standard_define([3,3],model,[],gr_i); ANDLOG_f.prototype.details = function ANDLOG_f() { } } +/* autogenerated from "macros/Events/ANDBLK.sci" */ +function ANDBLK() { +ANDBLK.prototype.get = function ANDBLK() { +} +ANDBLK.prototype.set = function ANDBLK() { +x=arg1; +} +ANDBLK.prototype.define = function ANDBLK() { +andlog=ANDLOG_f("define"); +andlog.graphics.orig=[194,133]; +andlog.graphics.sz=[60,60]; +andlog.graphics.flip=true; +andlog.graphics.pout=9; +andlog.graphics.pein=[4,11]; +input_port1=CLKIN_f("define"); +input_port1.graphics.orig=[149,287]; +input_port1.graphics.sz=[20,20]; +input_port1.graphics.flip=true; +input_port1.graphics.exprs="1"; +input_port1.graphics.peout=4; +input_port1.model.ipar=1; +output_port=CLKOUT_f("define"); +output_port.graphics.orig=[450,83]; +output_port.graphics.sz=[20,20]; +output_port.graphics.flip=true; +output_port.graphics.exprs="1"; +output_port.graphics.pein=8; +output_port.model.ipar=1; +input_port2=CLKIN_f("define"); +input_port2.graphics.orig=[141,330]; +input_port2.graphics.sz=[20,20]; +input_port2.graphics.flip=true; +input_port2.graphics.exprs="2"; +input_port2.graphics.peout=6; +input_port2.model.ipar=2; +ifthel=IFTHEL_f("define"); +ifthel.graphics.orig=[331,137]; +ifthel.graphics.sz=[60,60]; +ifthel.graphics.flip=true; +ifthel.graphics.pin=9; +ifthel.graphics.pein=12; +ifthel.graphics.peout=[8,0]; +split=CLKSPLIT_f("define"); +split.graphics.orig=[234,275.78348]; +split.graphics.pein=6; +split.graphics.peout=[11,12]; +diagram=scicos_diagram(); +diagram.objs[1-1]=andlog; +diagram.objs[2-1]=input_port1; +diagram.objs[3-1]=output_port; +diagram.objs[4-1]=scicos_link(xx=[169,214,214],yy=[297,297,198.71],ct=[5,-1],from=[2,1],to=[1,1]); +diagram.objs[5-1]=input_port2; +diagram.objs[6-1]=scicos_link(xx=[161,234,234],yy=[340,340,275.78],ct=[5,-1],from=[5,1],to=[10,1]); +diagram.objs[7-1]=ifthel; +diagram.objs[8-1]=scicos_link(xx=[351,351,450],yy=[131.29,93,93],ct=[5,-1],from=[7,1],to=[3,1]); +diagram.objs[9-1]=scicos_link(xx=[262.57,322.43],yy=[163,167],ct=[1,1],from=[1,1],to=[7,1]); +diagram.objs[10-1]=split; +diagram.objs[11-1]=scicos_link(xx=[234,234],yy=[275.78,198.71],ct=[5,-1],from=[10,1],to=[1,2]); +diagram.objs[12-1]=scicos_link(xx=[234,361,361],yy=[275.78,275.78,202.71],ct=[5,-1],from=[10,2],to=[7,1]); +x=scicos_block(); +x.gui="ANDBLK"; +x.graphics.sz=[2,2]; +x.graphics.gr_i=[]; +x.graphics.pein=[0,0]; +x.graphics.peout=0; +x.model.sim="csuper"; +x.model.evtin=[1,1]; +x.model.evtout=1; +x.model.blocktype="h"; +x.model.firing=None; +x.model.dep_ut=[None,None]; +x.model.rpar=diagram; +} +ANDBLK.prototype.details = function ANDBLK() { +} +} /* autogenerated from "macros/Events/HALT_f.sci" */ function HALT_f() { HALT_f.prototype.get = function HALT_f() { @@ -572,6 +648,101 @@ x=standard_define([3,2],model,exprs,gr_i); EVTGEN_f.prototype.details = function EVTGEN_f() { } } +/* autogenerated from "macros/Events/MCLOCK_f.sci" */ +function MCLOCK_f() { +MCLOCK_f.prototype.get = function MCLOCK_f() { +} +MCLOCK_f.prototype.set = function MCLOCK_f() { +for(i=1;i<=length(arg1.model.rpar.objs);i+=1) { +o=arg1.model.rpar.objs(i); +if (typeof(o)=="Block"&&o.gui=="MFCLCK_f") { +path=i; +break +} +} +newpar=list(); +spath=list("model","rpar","objs",path); +xx=arg1(spath); +execstr("xxn="+xx.gui+"(\'set\',xx)"); +if (or(xxn!=xx)) { +arg1[spath-1]=xxn; +newpar[size(newpar)+1-1]=path; +} +x=arg1; +y=0; +typ=newpar; +} +MCLOCK_f.prototype.define = function MCLOCK_f() { +nn=2; +dt=0.1; +exprs=[string(dt),string(nn)]; +mfclck=MFCLCK_f("define"); +mfclck.graphics.orig=[334,199]; +mfclck.graphics.sz=[40,40]; +mfclck.graphics.flip=true; +mfclck.graphics.exprs=exprs; +mfclck.graphics.pein=12; +mfclck.graphics.peout=[4,3]; +mfclck.model.rpar=0.1; +mfclck.model.ipar=nn; +mfclck.model.firing=[-1,0]; +clksom=CLKSOM_f("define"); +clksom.graphics.orig=[457,161]; +clksom.graphics.sz=[16.666667,16.666667]; +clksom.graphics.flip=true; +clksom.graphics.exprs=["0.1","0.1"]; +clksom.graphics.pein=[4,9,0]; +clksom.graphics.peout=5; +output_port1=CLKOUT_f("define"); +output_port1.graphics.orig=[509,261]; +output_port1.graphics.sz=[20,20]; +output_port1.graphics.flip=true; +output_port1.graphics.exprs="1"; +output_port1.graphics.pein=10; +output_port1.model.ipar=1; +output_port2=CLKOUT_f("define"); +output_port2.graphics.orig=[509,142]; +output_port2.graphics.sz=[20,20]; +output_port2.graphics.flip=true; +output_port2.graphics.exprs="2"; +output_port2.graphics.pein=13; +output_port2.model.ipar=2; +split1=CLKSPLIT_f("define"); +split1.graphics.orig=[411.92504,169.33333]; +split1.graphics.pein=3; +split1.graphics.peout=[9,10]; +split2=CLKSPLIT_f("define"); +split2.graphics.orig=[482.45315,169.33333]; +split2.graphics.pein=5; +split2.graphics.peout=[12,13]; +gr_i=[]; +diagram=scicos_diagram(); +diagram.objs[1-1]=mfclck; +diagram.objs[2-1]=clksom; +diagram.objs[3-1]=scicos_link(xx=[360.7,360.7,411.9],yy=[193.3,169.3,169.3],ct=[10,-1],from=[1,2],to=[8,1]); +diagram.objs[4-1]=scicos_link(xx=[347.3,347.3,461.8,461.8],yy=[193.3,155.5,155.5,161],ct=[10,-1],from=[1,1],to=[2,1]); +diagram.objs[5-1]=scicos_link(xx=[468.9,482.5],yy=[169.3,169.3],ct=[10,-1],from=[2,1],to=[11,1]); +diagram.objs[6-1]=output_port1; +diagram.objs[7-1]=output_port2; +diagram.objs[8-1]=split1; +diagram.objs[9-1]=scicos_link(xx=[411.9,457],yy=[169.3,169.3],ct=[10,-1],from=[8,1],to=[2,2]); +diagram.objs[10-1]=scicos_link(xx=[411.9,411.9,509],yy=[169.3,271,271],ct=[10,-1],from=[8,2],to=[6,1]); +diagram.objs[11-1]=split2; +diagram.objs[12-1]=scicos_link(xx=[482.5,489.6,489.6,354,354],yy=[169.3,169.3,338.3,338.3,244.7],ct=[10,-1],from=[11,1],to=[1,1]); +diagram.objs[13-1]=scicos_link(xx=[482.4,482.4,509],yy=[169.3,152,152],ct=[10,-1],from=[11,2],to=[7,1]); +x=scicos_block(); +x.gui="MCLOCK_f"; +x.graphics.sz=[3,2]; +x.graphics.gr_i=gr_i; +x.model.sim="csuper"; +x.model.evtout=[1,1]; +x.model.blocktype="h"; +x.model.rpar=diagram; +x.graphics.peout=[0,0]; +} +MCLOCK_f.prototype.details = function MCLOCK_f() { +} +} /* autogenerated from "macros/Events/EVTVARDLY.sci" */ function EVTVARDLY() { EVTVARDLY.prototype.get = function EVTVARDLY() { @@ -1278,6 +1449,134 @@ x=standard_define([3,2],model,[],gr_i); CLINDUMMY_f.prototype.details = function CLINDUMMY_f() { } } +/* autogenerated from "macros/Linear/DELAY_f.sci" */ +function DELAY_f() { +DELAY_f.prototype.get = function DELAY_f() { +} +DELAY_f.prototype.set = function DELAY_f() { +ppath=list(0,0); +for(i=1;i<=length(arg1.model.rpar.objs);i+=1) { +o=arg1.model.rpar.objs(i); +if (typeof(o)=="Block"&&o.gui=="REGISTER_f") { +ppath[1-1]=i; +} +if (typeof(o)=="Block"&&o.gui=="EVTDLY_f") { +ppath[2-1]=i; +} +if (and(ppath!=list(0,0))) { +break +} +} +x=arg1; +newpar=list(); +register=x.model.rpar.objs(ppath[1-1]); +evtdly=x.model.rpar.objs(ppath[2-1]); +register_exprs=register.graphics.exprs; +evtdly_exprs=evtdly.graphics.exprs; +exprs=[evtdly_exprs(1),register_exprs]; +while (true) { +[ok,dt,z0,exprs]=scicos_getvalue(["This block implements as a discretized delay","it is consist of a shift register and a clock","value of the delay is given by;","the discretization time step multiplied by the","number-1 of state of the register"],["Discretization time step","Register initial state"],list("vec",1,"vec",-1),exprs); +if (!ok) { +break +} +mess=[]; +if (prod(size(z0))<1) { +mess=[mess,"Register length must be at least 1"," "]; +ok=None; +} +if (dt<=0) { +mess=[mess,"Discretization time step must be positive"," "]; +ok=None; +} +if (!ok) { +message(mess); +} else { +evtdly.graphics.exprs[1-1]=exprs(1); +if (evtdly.model.rpar!=dt) { +evtdly.model.rpar=dt; +newpar[$+1-1]=ppath[2-1]; +} +x.model.rpar.objs[ppath[2-1]-1]=evtdly; +register.graphics.exprs=exprs(2); +if (or(register.model.dstate!=z0.slice())) { +register.model.dstate=z0.slice(); +newpar[$+1-1]=ppath[1-1]; +} +x.model.rpar.objs[ppath[1-1]-1]=register; +break +} +} +needcompile=0; +y=needcompile; +typ=newpar; +} +DELAY_f.prototype.define = function DELAY_f() { +evtdly=EVTDLY_f("define"); +evtdly.graphics.orig=[243,296]; +evtdly.graphics.sz=[40,40]; +evtdly.graphics.flip=true; +evtdly.graphics.exprs=["0.1","0"]; +evtdly.graphics.pein=10; +evtdly.graphics.peout=7; +evtdly.model.rpar=0.1; +evtdly.model.firing=0; +register=REGISTER_f("define"); +register.graphics.orig=[238,195]; +register.graphics.sz=[50,50]; +register.graphics.flip=true; +register.graphics.exprs="0;0;0;0;0;0;0;0;0;0"; +register.graphics.pin=6; +register.graphics.pout=5; +register.graphics.pein=9; +input_port=IN_f("define"); +input_port.graphics.orig=[92,210]; +input_port.graphics.sz=[20,20]; +input_port.graphics.flip=true; +input_port.graphics.exprs=["1","1"]; +input_port.graphics.pout=6; +input_port.model.ipar=1; +output_port=OUT_f("define"); +output_port.graphics.orig=[440,210]; +output_port.graphics.sz=[20,20]; +output_port.graphics.flip=true; +output_port.graphics.exprs=["1","1"]; +output_port.graphics.pin=5; +output_port.model.ipar=1; +split=CLKSPLIT_f("define"); +split.graphics.orig=[263,271.2]; +split.graphics.pein=7; +split.graphics.peout=[9,10]; +diagram=scicos_diagram(); +diagram.objs[1-1]=input_port; +diagram.objs[2-1]=output_port; +diagram.objs[3-1]=register; +diagram.objs[4-1]=evtdly; +diagram.objs[5-1]=scicos_link(xx=[296.6,440],yy=[220,220],from=[3,1],to=[2,1]); +diagram.objs[6-1]=scicos_link(xx=[112,229.4],yy=[220,220],from=[1,1],to=[3,1]); +diagram.objs[7-1]=scicos_link(xx=[263,263],yy=[290.3,271.2],ct=[5,-1],from=[4,1],to=[8,1]); +diagram.objs[8-1]=split; +diagram.objs[9-1]=scicos_link(xx=[263,263],yy=[271.2,250.7],ct=[5,-1],from=[8,1],to=[3,1]); +diagram.objs[10-1]=scicos_link(xx=[263,308.6,308.6,263,263],yy=[271.2,271.2,367,367,341.7],ct=[5,-1],from=[8,2],to=[4,1]); +x=scicos_block(); +x.gui="DELAY_f"; +x.graphics.sz=[2,2]; +x.graphics.gr_i=[]; +x.graphics.pin=0; +x.graphics.pout=0; +x.model.sim="csuper"; +x.model.in1=1; +x.model.out=1; +x.model.blocktype="h"; +x.model.dep_ut=[None,None]; +x.model.rpar=diagram; +x.graphics.in_implicit=["E"]; +x.graphics.in_style=""; +x.graphics.out_implicit=["E"]; +x.graphics.out_style=""; +} +DELAY_f.prototype.details = function DELAY_f() { +} +} /* autogenerated from "macros/Linear/TCLSS_f.sci" */ function TCLSS_f() { TCLSS_f.prototype.get = function TCLSS_f() { @@ -5768,6 +6067,99 @@ x=standard_define([2,2],model,exprs,gr_i); RAMP.prototype.details = function RAMP() { } } +/* autogenerated from "macros/Sources/CLOCK_c.sci" */ +function CLOCK_c() { +CLOCK_c.prototype.get = function CLOCK_c() { +} +CLOCK_c.prototype.set = function CLOCK_c() { +for(i=1;i<=length(arg1.model.rpar.objs);i+=1) { +o=arg1.model.rpar.objs(i); +if (typeof(o)=="Block"&&o.gui=="EVTDLY_c") { +path=i; +break +} +} +newpar=list(); +xx=arg1.model.rpar.objs(path); +exprs=xx.graphics.exprs; +model=xx.model; +t0_old=model.firing; +dt_old=model.rpar(1); +model_n=model; +while (true) { +[ok,dt,t0,exprs0]=scicos_getvalue([msprintf(gettext("Set %s block parameters"),"CLOCK_c")," ",gettext("Event clock generator")," ",gettext(" Do not start if \'Initialisation Time\' is negative")," "],[gettext("Period"),gettext("Initialisation Time")],list("vec",1,"vec",1),exprs); +if (!ok) { +break +} +if (dt<=0) { +block_parameter_error(msprintf(gettext("Wrong values for \'%s\' parameter: %5.1e."),gettext("Period"),dt),gettext("Strictly positive number expected.")); +ok=None; +} +if (ok) { +xx.graphics.exprs=exprs0; +model.rpar=[dt,t0]; +model.firing=t0; +xx.model=model; +arg1.model.rpar.objs[path-1]=xx; +break +} +} +if (!and([t0_old,dt_old]==[t0,dt])) { +newpar[size(newpar)+1-1]=path; +} +if (t0_old!=t0) { +needcompile=2; +} else { +needcompile=0; +} +x=arg1; +y=needcompile; +typ=newpar; +} +CLOCK_c.prototype.define = function CLOCK_c() { +evtdly=EVTDLY_c("define"); +evtdly.graphics.orig=[320,232]; +evtdly.graphics.sz=[40,40]; +evtdly.graphics.flip=true; +evtdly.graphics.exprs=["0.1","0.1"]; +evtdly.graphics.pein=6; +evtdly.graphics.peout=3; +evtdly.model.rpar=[0.1,0.1]; +evtdly.model.firing=0.1; +output_port=CLKOUT_f("define"); +output_port.graphics.orig=[399,162]; +output_port.graphics.sz=[20,20]; +output_port.graphics.flip=true; +output_port.graphics.exprs="1"; +output_port.graphics.pein=5; +output_port.model.ipar=1; +split=CLKSPLIT_f("define"); +split.graphics.orig=[380.71066,172]; +split.graphics.pein=3; +split.graphics.peout=[5,6]; +gr_i=[]; +diagram=scicos_diagram(); +diagram.objs[1-1]=output_port; +diagram.objs[2-1]=evtdly; +diagram.objs[3-1]=scicos_link(xx=[340,340,380.71],yy=[226.29,172,172],ct=[5,-1],from=[2,1],to=[4,1]); +diagram.objs[4-1]=split; +diagram.objs[5-1]=scicos_link(xx=[380.71,399],yy=[172,172],ct=[5,-1],from=[4,1],to=[1,1]); +diagram.objs[6-1]=scicos_link(xx=[380.71,380.71,340,340],yy=[172,302,302,277.71],ct=[5,-1],from=[4,2],to=[2,1]); +x=scicos_block(); +x.gui="CLOCK_c"; +x.graphics.sz=[2,2]; +x.graphics.gr_i=gr_i; +x.graphics.peout=0; +x.model.sim="csuper"; +x.model.evtout=1; +x.model.blocktype="h"; +x.model.firing=None; +x.model.dep_ut=[None,None]; +x.model.rpar=diagram; +} +CLOCK_c.prototype.details = function CLOCK_c() { +} +} /* autogenerated from "macros/Sources/CONST_f.sci" */ function CONST_f() { CONST_f.prototype.get = function CONST_f() { @@ -6349,6 +6741,99 @@ x=standard_define([4,2],model,exprs,gr_i); READC_f.prototype.details = function READC_f() { } } +/* autogenerated from "macros/Sources/CLOCK_f.sci" */ +function CLOCK_f() { +CLOCK_f.prototype.get = function CLOCK_f() { +} +CLOCK_f.prototype.set = function CLOCK_f() { +for(i=1;i<=length(arg1.model.rpar.objs);i+=1) { +o=arg1.model.rpar.objs(i); +if (typeof(o)=="Block"&&o.gui=="EVTDLY_f") { +path=i; +break +} +} +newpar=list(); +xx=arg1.model.rpar.objs(path); +exprs=xx.graphics.exprs; +model=xx.model; +t0_old=model.firing; +dt_old=model.rpar; +model_n=model; +while (true) { +[ok,dt,t0,exprs0]=scicos_getvalue("Set Clock block parameters",["Period","Init time"],list("vec",1,"vec",1),exprs); +if (!ok) { +break +} +if (dt<=0) { +message("period must be positive"); +ok=None; +} +if (ok) { +xx.graphics.exprs=exprs0; +model.rpar=dt; +model.firing=t0; +xx.model=model; +arg1.model.rpar.objs[path-1]=xx; +break +} +} +if (!and([t0_old,dt_old]==[t0,dt])||!and(exprs0==exprs)) { +newpar[size(newpar)+1-1]=path; +} +if (t0_old!=t0) { +needcompile=2; +} else { +needcompile=0; +} +x=arg1; +y=needcompile; +typ=newpar; +} +CLOCK_f.prototype.define = function CLOCK_f() { +evtdly=EVTDLY_f("define"); +evtdly.graphics.orig=[320,232]; +evtdly.graphics.sz=[40,40]; +evtdly.graphics.flip=true; +evtdly.graphics.exprs=["0.1","0.1"]; +evtdly.graphics.pein=6; +evtdly.graphics.peout=3; +evtdly.model.rpar=0.1; +evtdly.model.firing=0.1; +output_port=CLKOUT_f("define"); +output_port.graphics.orig=[399,162]; +output_port.graphics.sz=[20,20]; +output_port.graphics.flip=true; +output_port.graphics.exprs="1"; +output_port.graphics.pein=5; +output_port.model.ipar=1; +split=CLKSPLIT_f("define"); +split.graphics.orig=[380.71066,172]; +split.graphics.pein=3; +split.graphics.peout=[5,6]; +gr_i=[]; +diagram=scicos_diagram(); +diagram.objs[1-1]=output_port; +diagram.objs[2-1]=evtdly; +diagram.objs[3-1]=scicos_link(xx=[340,340,380.71],yy=[226.29,172,172],ct=[5,-1],from=[2,1],to=[4,1]); +diagram.objs[4-1]=split; +diagram.objs[5-1]=scicos_link(xx=[380.71,399],yy=[172,172],ct=[5,-1],from=[4,1],to=[1,1]); +diagram.objs[6-1]=scicos_link(xx=[380.71,380.71,340,340],yy=[172,302,302,277.71],ct=[5,-1],from=[4,2],to=[2,1]); +x=scicos_block(); +x.gui="CLOCK_f"; +x.graphics.sz=[2,2]; +x.graphics.gr_i=gr_i; +x.graphics.peout=0; +x.model.sim="csuper"; +x.model.evtout=1; +x.model.blocktype="h"; +x.model.firing=None; +x.model.dep_ut=[None,None]; +x.model.rpar=diagram; +} +CLOCK_f.prototype.details = function CLOCK_f() { +} +} /* autogenerated from "macros/Sources/CONST.sci" */ function CONST() { CONST.prototype.get = function CONST() { @@ -8800,6 +9285,52 @@ x.graphics.out_implicit=["I","I","I"]; PMOS.prototype.details = function PMOS() { } } +/* autogenerated from "macros/Electrical/Inductor.sci" */ +function Inductor() { +Inductor.prototype.get = function Inductor() { +} +Inductor.prototype.set = function Inductor() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +while (true) { +[ok,L,exprs]=scicos_getvalue("Set Inductor block parameter","L (H)",list("vec",1),exprs); +if (!ok) { +break +} +model.rpar=L; +model.equations.parameters[2-1]=list(L); +graphics.exprs=exprs; +x.graphics=graphics; +x.model=model; +break +} +} +Inductor.prototype.define = function Inductor() { +model=scicos_model(); +model.in1=[1]; +model.out=[1]; +L=1.e-5; +model.rpar=L; +model.sim="Inductor"; +model.blocktype="c"; +model.dep_ut=[true,None]; +mo=modelica(); +mo.model="Inductor"; +mo.inputs="p"; +mo.outputs="n"; +mo.parameters=list("L",list(L)); +model.equations=mo; +exprs=string(L); +gr_i=[]; +x=standard_define([2,0.9],model,exprs,list(gr_i,0)); +x.graphics.in_implicit=["I"]; +x.graphics.out_implicit=["I"]; +} +Inductor.prototype.details = function Inductor() { +} +} /* autogenerated from "macros/Electrical/Diode.sci" */ function Diode() { Diode.prototype.get = function Diode() { @@ -9056,6 +9587,150 @@ x.graphics.out_implicit=["I"]; Resistor.prototype.details = function Resistor() { } } +/* autogenerated from "macros/Electrical/PNP.sci" */ +function PNP() { +PNP.prototype.get = function PNP() { +} +PNP.prototype.set = function PNP() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +x=arg1; +exprs=x.graphics.exprs; +while (true) { +[ok,Bf,Br,Is,Vak,Tauf,Taur,Ccs,Cje,Cjc,Phie,Me,Phic,Mc,Gbc,Gbe,Vt,EMinMax,exprs]=scicos_getvalue(["Set PNP block parameters:",""],["Bf : Forward beta","Br : Reverse beta","Is : Transport saturation current","Vak : Early voltage (inverse), 1/Volt","Tauf: Ideal forward transit time","Taur: Ideal reverse transit time","Ccs : Collector-substrat(ground) cap.","Cje : Base-emitter zero bias depletion cap.","Cjc : Base-coll. zero bias depletion cap.","Phie: Base-emitter diffusion voltage","Me : Base-emitter gradation exponent","Phic: Base-collector diffusion voltage","Mc : Base-collector gradation exponent","Gbc : Base-collector conductance","Gbe : Base-emitter conductance","Vt : Voltage equivalent of temperature","EMinMax: if x > EMinMax, the exp(x) function is linearized"],list("vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1),exprs); +if (!ok) { +break +} +x.model.equations.parameters[2-1]=list(Bf,Br,Is,Vak,Tauf,Taur,Ccs,Cje,Cjc,Phie,Me,Phic,Mc,Gbc,Gbe,Vt,EMinMax); +x.graphics.exprs=exprs; +break +} +} +PNP.prototype.define = function PNP() { +ModelName="PNP"; +PrametersValue=[50,0.1,0,0.02,1.200e-10,5.000e-09,1.000e-12,4.000e-13,5.000e-13,0.8,0.4,0.8,0.333,1.000e-15,1.000e-15,0.02585,40]; +ParametersName=["Bf","Br","Is","Vak","Tauf","Taur","Ccs","Cje","Cjc","Phie","Me","Phic","Mc","Gbc","Gbe","Vt","EMinMax"]; +model=scicos_model(); +Typein=[]; +Typeout=[]; +MI=[]; +MO=[]; +P=[100,90,-2,0,0,50,2,0,100,10,-2,0]; +PortName=["C","B","E"]; +for(i=1;i<=size(P,"r");i+=1) { +if (P(i,3)==1) { +Typein=[Typein,"E"]; +MI=[MI,PortName(i)]; +} +if (P(i,3)==2) { +Typein=[Typein,"I"]; +MI=[MI,PortName(i)]; +} +if (P(i,3)==-1) { +Typeout=[Typeout,"E"]; +MO=[MO,PortName(i)]; +} +if (P(i,3)==-2) { +Typeout=[Typeout,"I"]; +MO=[MO,PortName(i)]; +} +} +model=scicos_model(); +mo=modelica(); +model.sim=ModelName; +mo.inputs=MI; +mo.outputs=MO; +model.rpar=PrametersValue; +mo.parameters=list(ParametersName,PrametersValue,zeros(ParametersName)); +exprs=["50","0.1","1.e-16","0.02","0.12e-9","5e-9","1e-12","0.4e-12","0.5e-12","0.8","0.4","0.8","0.333","1e-15","1e-15","0.02585","40"]; +gr_i=[]; +model.blocktype="c"; +model.dep_ut=[None,true]; +mo.model=ModelName; +model.equations=mo; +model.in1=ones(size(MI,"*"),1); +model.out=ones(size(MO,"*"),1); +x=standard_define([2,2],model,exprs,list(gr_i,0)); +x.graphics.in_implicit=Typein; +x.graphics.out_implicit=Typeout; +} +PNP.prototype.details = function PNP() { +} +} +/* autogenerated from "macros/Electrical/NPN.sci" */ +function NPN() { +NPN.prototype.get = function NPN() { +} +NPN.prototype.set = function NPN() { +x=arg1; +graphics=arg1.graphics; +exprs=graphics.exprs; +model=arg1.model; +x=arg1; +exprs=x.graphics.exprs; +while (true) { +[ok,Bf,Br,Is,Vak,Tauf,Taur,Ccs,Cje,Cjc,Phie,Me,Phic,Mc,Gbc,Gbe,Vt,EMinMax,exprs]=scicos_getvalue(["Set NPN block parameters:",""],["Bf : Forward beta","Br : Reverse beta","Is : Transport saturation current","Vak : Early voltage (inverse), 1/Volt","Tauf: Ideal forward transit time","Taur: Ideal reverse transit time","Ccs : Collector-substrat(ground) cap.","Cje : Base-emitter zero bias depletion cap.","Cjc : Base-coll. zero bias depletion cap.","Phie: Base-emitter diffusion voltage","Me : Base-emitter gradation exponent","Phic: Base-collector diffusion voltage","Mc : Base-collector gradation exponent","Gbc : Base-collector conductance","Gbe : Base-emitter conductance","Vt : Voltage equivalent of temperature","EMinmax: if x > EMinMax, the exp(x) is linearized"],list("vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1,"vec",1),exprs); +if (!ok) { +break +} +x.model.equations.parameters[2-1]=list(Bf,Br,Is,Vak,Tauf,Taur,Ccs,Cje,Cjc,Phie,Me,Phic,Mc,Gbc,Gbe,Vt,EMinMax); +x.graphics.exprs=exprs; +break +} +} +NPN.prototype.define = function NPN() { +ModelName="NPN"; +PrametersValue=[50,0.1,0,0.02,1.200e-10,5.000e-09,1.000e-12,4.000e-13,5.000e-13,0.8,0.4,0.8,0.333,1.000e-15,1.000e-15,0.02585,40]; +ParametersName=["Bf","Br","Is","Vak","Tauf","Taur","Ccs","Cje","Cjc","Phie","Me","Phic","Mc","Gbc","Gbe","Vt","EMinMax"]; +model=scicos_model(); +Typein=[]; +Typeout=[]; +MI=[]; +MO=[]; +P=[100,90,-2,0,0,50,2,0,100,10,-2,0]; +PortName=["C","B","E"]; +for(i=1;i<=size(P,"r");i+=1) { +if (P(i,3)==1) { +Typein=[Typein,"E"]; +MI=[MI,PortName(i)]; +} +if (P(i,3)==2) { +Typein=[Typein,"I"]; +MI=[MI,PortName(i)]; +} +if (P(i,3)==-1) { +Typeout=[Typeout,"E"]; +MO=[MO,PortName(i)]; +} +if (P(i,3)==-2) { +Typeout=[Typeout,"I"]; +MO=[MO,PortName(i)]; +} +} +model=scicos_model(); +mo=modelica(); +model.sim=ModelName; +mo.inputs=MI; +mo.outputs=MO; +model.rpar=PrametersValue; +mo.parameters=list(ParametersName,PrametersValue,zeros(ParametersName)); +exprs=["50","0.1","1.e-16","0.02","0.12e-9","5e-9","1e-12","0.4e-12","0.5e-12","0.8","0.4","0.8","0.333","1e-15","1e-15","0.02585","40"]; +gr_i=[]; +model.blocktype="c"; +model.dep_ut=[None,true]; +mo.model=ModelName; +model.equations=mo; +model.in1=ones(size(MI,"*"),1); +model.out=ones(size(MO,"*"),1); +x=standard_define([2,2],model,exprs,list(gr_i,0)); +x.graphics.in_implicit=Typein; +x.graphics.out_implicit=Typeout; +} +NPN.prototype.details = function NPN() { +} +} /* autogenerated from "macros/Electrical/CurrentSensor.sci" */ function CurrentSensor() { CurrentSensor.prototype.get = function CurrentSensor() { @@ -12488,4 +13163,4 @@ INVBLK_f.prototype.details = function INVBLK_f() { } } -/* made from 213/274 files */ +/* made from 221/274 files */ |