diff options
author | ASP1234 | 2016-07-12 12:18:19 +0000 |
---|---|---|
committer | ASP1234 | 2016-07-12 12:18:19 +0000 |
commit | 388ef4f6ff975e4dcd1604788d6c34613827381c (patch) | |
tree | e374b3319c6a8c2b9f4f1263a10fa80995da6e91 | |
parent | 4416c729e4fa6f863eb7ab6414a86f4f8dbbcf8d (diff) | |
download | xcos-on-web-388ef4f6ff975e4dcd1604788d6c34613827381c.tar.gz xcos-on-web-388ef4f6ff975e4dcd1604788d6c34613827381c.tar.bz2 xcos-on-web-388ef4f6ff975e4dcd1604788d6c34613827381c.zip |
Implement Switch Block
-rw-r--r-- | data_structures_correct/Switch.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/data_structures_correct/Switch.js b/data_structures_correct/Switch.js new file mode 100644 index 0000000..79c5736 --- /dev/null +++ b/data_structures_correct/Switch.js @@ -0,0 +1,42 @@ +function Switch() { + + Switch.prototype.define = function Switch() { + var model = scicos_model(); + + this.Ron = 0.01; + this.Roff = 1e5; + this.S = [["Ron"], ["Roff"]]; + + var scope = { + Ron: 0.01, + Roff: 1e5 + } + this.Z = math.eval('[ Ron ; Roff ]', scope)._data; + + model.sim = new ScilabString(["Switch"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = new modelica_function(); + mo.model = model.sim; + mo.inputs = new ScilabString(["p"], ["inp"]); + mo.outputs = new ScilabString(["n"]); + mo.parameters = list(new ScilabString(...this.S), new ScilabDouble(...this.Z)); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), "*"), 1)); + model.rpar = new ScilabDouble(...this.Z); + + var exprs = new ScilabString(...this.Z); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Switch\",sz(1),sz(2));"]); + this.x = standard_define(new ScilabDouble([2, 2]), model, exprs, list(gr_i, new ScilabDouble(0))); + this.x.graphics.in_implicit = new ScilabString([["I"], ["E"]]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + + Switch.prototype.details = function Switch() { + this.x; + } +} |