summaryrefslogtreecommitdiff
path: root/js/Linear/PID.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/Linear/PID.js')
-rw-r--r--js/Linear/PID.js17
1 files changed, 17 insertions, 0 deletions
diff --git a/js/Linear/PID.js b/js/Linear/PID.js
index 3eccc084..8759a559 100644
--- a/js/Linear/PID.js
+++ b/js/Linear/PID.js
@@ -44,7 +44,11 @@ function PID() {
}
PID.prototype.get = function PID() {
var ppath = list(0,0,0);
+ for (this.i=1;this.i<=length(this.model.rpar.objs);this.i+=1) {
+ var o = this.model.rpar.objs[this.i-1];
if (typeof(o)=="Link") {
+ var from = this.model.rpar.objs[o.from[1-1]-1];
+ var to = this.model.rpar.objs[o.to[1-1]-1];
if (from.gui=="GAINBLK") {
switch (to.gui) {
case "SUMMATION":
@@ -70,10 +74,13 @@ function PID() {
}
}
var newpar = list();
+ var xx1 = this.model.rpar.objs[ppath[1-1]-1];
exprs[1-1] = xx1.graphics.exprs[1-1];
var p_old = xx1.model.rpar;
+ var xx2 = this.model.rpar.objs[ppath[2-1]-1];
exprs[2-1] = xx2.graphics.exprs[1-1];
var i_old = xx2.model.rpar;
+ var xx3 = this.model.rpar.objs[ppath[3-1]-1];
exprs[3-1] = xx3.graphics.exprs[1-1];
var d_old = xx3.model.rpar;
var y = 0;
@@ -87,7 +94,11 @@ function PID() {
}
PID.prototype.set = function PID() {
var ppath = list(0,0,0);
+ for (this.i=1;this.i<=length(this.model.rpar.objs);this.i+=1) {
+ var o = this.model.rpar.objs[this.i-1];
if (typeof(o)=="Link") {
+ var from = this.model.rpar.objs[o.from[1-1]-1];
+ var to = this.model.rpar.objs[o.to[1-1]-1];
if (from.gui=="GAINBLK") {
switch (to.gui) {
case "SUMMATION":
@@ -113,10 +124,13 @@ function PID() {
}
}
var newpar = list();
+ var xx1 = this.model.rpar.objs[ppath[1-1]-1];
exprs[1-1] = xx1.graphics.exprs[1-1];
var p_old = xx1.model.rpar;
+ var xx2 = this.model.rpar.objs[ppath[2-1]-1];
exprs[2-1] = xx2.graphics.exprs[1-1];
var i_old = xx2.model.rpar;
+ var xx3 = this.model.rpar.objs[ppath[3-1]-1];
exprs[3-1] = xx3.graphics.exprs[1-1];
var d_old = xx3.model.rpar;
var y = 0;
@@ -136,6 +150,9 @@ function PID() {
xx2.model.rpar = this.i;
xx3.graphics.exprs = exprs0[3-1];
xx3.model.rpar = this.d;
+ this.model.rpar.objs[ppath[1-1]-1] = xx1;
+ this.model.rpar.objs[ppath[2-1]-1] = xx2;
+ this.model.rpar.objs[ppath[3-1]-1] = xx3;
break;
}
}