Changeset 295 for trunk/sample/controllers/sample_tanks_pid.mso
- Timestamp:
- Jun 21, 2007, 4:48:17 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sample/controllers/sample_tanks_pid.mso
r294 r295 30 30 DEVICES 31 31 Tanque1 as tank; 32 PID as PIDIncr;32 PIDc as PIDIncr; 33 33 34 34 PARAMETERS … … 45 45 h_max = 2 * 'm'; 46 46 h_min = 0 * 'm'; 47 PID .PID_Select = "Ideal_AWBT";47 PIDc.PID_Select = "Ideal_AWBT"; 48 48 49 49 EQUATIONS 50 PID .Parameters.tau = 1*'s';51 PID .Parameters.tauSet = 1*'s';52 PID .Parameters.alpha = 0.3;53 PID .Parameters.bias = 0;54 PID .Parameters.gamma = 1;55 PID .Parameters.beta = 1;56 PID .Options.action = -1;57 PID .Options.clip=1;58 PID .Options.autoMan = 0;59 PID .Parameters.intTime=5000*'s';60 PID .Parameters.gain = 3.5;61 PID .Parameters.derivTime=1*'s';62 PID .Ports.input = h_ad;50 PIDc.Parameters.tau = 1*'s'; 51 PIDc.Parameters.tauSet = 1*'s'; 52 PIDc.Parameters.alpha = 0.3; 53 PIDc.Parameters.bias = 0; 54 PIDc.Parameters.gamma = 1; 55 PIDc.Parameters.beta = 1; 56 PIDc.Options.action = -1; 57 PIDc.Options.clip=1; 58 PIDc.Options.autoMan = 0; 59 PIDc.Parameters.intTime=5000*'s'; 60 PIDc.Parameters.gain = 3.5; 61 PIDc.Parameters.derivTime=1*'s'; 62 PIDc.Ports.input = h_ad; 63 63 h_ad = (Tanque1.h-h_min)/(h_max-h_min); 64 Tanque1.k = 8*'m^2.5/h'*PID .Ports.output;64 Tanque1.k = 8*'m^2.5/h'*PIDc.Ports.output; 65 65 66 66 #Perturbação servo 67 67 #Nível desejado=1*'m' 68 PID .Ports.setPoint=0.5;68 PIDc.Ports.setPoint=0.5; 69 69 70 70 #Perturbação regulatória … … 89 89 DEVICES 90 90 Tanque1 as tank; 91 PID as PID_Ideal_AWBT;91 PIDx as PID; 92 92 93 93 PARAMETERS … … 104 104 h_max = 2 * 'm'; 105 105 h_min = 0 * 'm'; 106 106 PIDx.PID_Select = "Ideal_AWBT"; 107 107 108 EQUATIONS 108 PID .Parameters.tau = 1*'s';109 PID .Parameters.tauSet = 1*'s';110 PID .Parameters.alpha = 0.3;111 PID .Parameters.bias = 0;112 PID .Parameters.gamma = 1;113 PID .Parameters.beta = 1;114 PID .Parameters.intTime=5000*'s';115 PID .Parameters.gain =3.5;116 PID .Parameters.derivTime=1*'s';117 PID .Options.action = -1;118 PID .Options.clip=1;119 PID .Options.autoMan = 0;120 PID .Ports.input = h_ad;109 PIDx.Parameters.tau = 1*'s'; 110 PIDx.Parameters.tauSet = 1*'s'; 111 PIDx.Parameters.alpha = 0.3; 112 PIDx.Parameters.bias = 0; 113 PIDx.Parameters.gamma = 1; 114 PIDx.Parameters.beta = 1; 115 PIDx.Parameters.intTime=5000*'s'; 116 PIDx.Parameters.gain =3.5; 117 PIDx.Parameters.derivTime=1*'s'; 118 PIDx.Options.action = -1; 119 PIDx.Options.clip=1; 120 PIDx.Options.autoMan = 0; 121 PIDx.Ports.input = h_ad; 121 122 h_ad = (Tanque1.h-h_min)/(h_max-h_min); 122 Tanque1.k = 8*'m^2.5/h'*PID .Ports.output;123 Tanque1.k = 8*'m^2.5/h'*PIDx.Ports.output; 123 124 124 125 #Perturbação servo 125 126 #Nível desejado=1*'m' 126 PID .Ports.setPoint=0.5;127 PIDx.Ports.setPoint=0.5; 127 128 128 129 #Perturbação regulatória
Note: See TracChangeset
for help on using the changeset viewer.