📄 envgui.html
字号:
0121 <span class="comment">% LocalDeleteBlock</span>
0122 <span class="comment">% The animation block is being deleted, delete the associated figure.</span>
0123 <span class="comment">%=============================================================================</span>
0124 <a name="_sub3" href="#_subfunctions" class="code">function LocalDeleteBlock</a>
0125 fig = get_param(gcbh,<span class="string">'UserData'</span>);
0126 <span class="keyword">if</span> ishandle(fig),
0127 delete(fig);
0128 set_param(gcbh,<span class="string">'UserData'</span>,-1)
0129 <span class="keyword">end</span>
0130 <span class="comment">% end LocalDeleteBlock</span>
0131
0132
0133 <span class="comment">%=============================================================================</span>
0134 <span class="comment">% LocalClose</span>
0135 <span class="comment">% The callback function for the animation window close button. Delete</span>
0136 <span class="comment">% the animation figure window.</span>
0137 <span class="comment">%=============================================================================</span>
0138 <a name="_sub4" href="#_subfunctions" class="code">function LocalClose</a>
0139 delete(gcbf)
0140 <span class="comment">% end LocalClose</span>
0141
0142
0143 <span class="comment">%=============================================================================</span>
0144 <span class="comment">% LocalDeleteFigure</span>
0145 <span class="comment">% The animation figure is being deleted, set the S-function UserData to -1.</span>
0146 <span class="comment">%=============================================================================</span>
0147 <a name="_sub5" href="#_subfunctions" class="code">function LocalDeleteFigure</a>
0148 ud = get(gcbf,<span class="string">'UserData'</span>);
0149 set_param(ud.Block,<span class="string">'UserData'</span>,-1);
0150 <span class="comment">% end LocalDeleteFigure</span>
0151
0152
0153 <span class="comment">%=============================================================================</span>
0154 <span class="comment">% LocalNoise</span>
0155 <span class="comment">% The callback function for the activation/deactivation of the measurement</span>
0156 <span class="comment">% noise</span>
0157 <span class="comment">%=============================================================================</span>
0158 <a name="_sub6" href="#_subfunctions" class="code">function LocalNoise</a>
0159 ud = get(gcbf,<span class="string">'UserData'</span>);
0160 <span class="keyword">if</span> get(ud.Noise,<span class="string">'Value'</span>)
0161 set_param(ud.NoiseBlock,<span class="string">'Variance'</span>,get(ud.NoiseVar,<span class="string">'String'</span>));
0162 <span class="keyword">else</span>
0163 set_param(ud.NoiseBlock,<span class="string">'Variance'</span>,num2str(0));
0164 <span class="keyword">end</span>
0165 <span class="comment">% end LocalNoise</span>
0166
0167
0168 <span class="comment">%=============================================================================</span>
0169 <span class="comment">% LocalNoiseParam</span>
0170 <span class="comment">% The callback function for setting of noise variance</span>
0171 <span class="comment">%=============================================================================</span>
0172 <a name="_sub7" href="#_subfunctions" class="code">function LocalNoiseParam</a>
0173 ud = get(gcbf,<span class="string">'UserData'</span>);
0174 <span class="keyword">if</span> get(ud.Noise,<span class="string">'Value'</span>)
0175 set_param(ud.NoiseBlock,<span class="string">'Variance'</span>,get(ud.NoiseVar,<span class="string">'String'</span>));
0176 <span class="keyword">end</span>
0177 <span class="comment">% end LocalNoiseParam</span>
0178
0179
0180 <span class="comment">%=============================================================================</span>
0181 <span class="comment">% LocalDist</span>
0182 <span class="comment">% The callback function for the activation/deactivation of load disturbance</span>
0183 <span class="comment">%=============================================================================</span>
0184 <a name="_sub8" href="#_subfunctions" class="code">function LocalDist</a>
0185 ud = get(gcbf,<span class="string">'UserData'</span>);
0186 <span class="keyword">if</span> get(ud.LoadDist,<span class="string">'Value'</span>)
0187 set_param(ud.LoadDistBlock,<span class="string">'Value'</span>,get(ud.LoadAmp,<span class="string">'String'</span>));
0188 <span class="keyword">else</span>
0189 set_param(ud.LoadDistBlock,<span class="string">'Value'</span>,num2str(0));
0190 <span class="keyword">end</span>
0191 <span class="comment">% end LocalDist</span>
0192
0193
0194 <span class="comment">%=============================================================================</span>
0195 <span class="comment">% LocalDistParam</span>
0196 <span class="comment">% The callback function for setting the load diturbance amplitude</span>
0197 <span class="comment">%=============================================================================</span>
0198 <a name="_sub9" href="#_subfunctions" class="code">function LocalDistParam</a>
0199 ud = get(gcbf,<span class="string">'UserData'</span>);
0200 <span class="keyword">if</span> get(ud.LoadDist,<span class="string">'Value'</span>)
0201 set_param(ud.LoadDistBlock,<span class="string">'Value'</span>,get(ud.LoadAmp,<span class="string">'String'</span>));
0202 <span class="keyword">end</span>
0203 <span class="comment">% end LocalDistParam</span>
0204
0205
0206 <span class="comment">%=============================================================================</span>
0207 <span class="comment">% LocalStepPID</span>
0208 <span class="comment">% The callback function for comparing step response with different</span>
0209 <span class="comment">% autotuning method</span>
0210 <span class="comment">%=============================================================================</span>
0211 <a name="_sub10" href="#_subfunctions" class="code">function LocalStepPID</a>
0212 <span class="keyword">global</span> MODELRUNNING
0213 <span class="keyword">if</span> ~MODELRUNNING
0214 <span class="keyword">try</span>
0215 num = str2num(get_param(<span class="string">'AutotunerPID/Plant/Transfer Fcn'</span>,<span class="keyword">...</span>
0216 <span class="string">'Numerator'</span>));
0217 den = str2num(get_param(<span class="string">'AutotunerPID/Plant/Transfer Fcn'</span>,<span class="keyword">...</span>
0218 <span class="string">'Denominator'</span>));
0219 tau = str2num(get_param(<span class="string">'AutotunerPID/Plant/Transport Delay'</span>,<span class="keyword">...</span>
0220 <span class="string">'Delay'</span>));
0221 <span class="keyword">catch</span>
0222 msgbox(<span class="string">'The step response can be computed only for linear models'</span>,<span class="keyword">...</span>
0223 <span class="string">'AutotunerPID'</span>,<span class="string">'error'</span>);
0224 <span class="keyword">return</span>
0225 <span class="keyword">end</span>
0226 <a href="stepPIDcompare.html" class="code" title="function stepPIDcompare(num,den,tau)">stepPIDcompare</a>(num,den,tau);
0227 <span class="keyword">else</span>
0228 msgbox(<span class="string">'The simulation must be STOPPED to perform the Comparative Analysis'</span>,<span class="keyword">...</span>
0229 <span class="string">'AutotunerPID'</span>,<span class="string">'warn'</span>);
0230 <span class="keyword">end</span>
0231 <span class="comment">% end LocalStepPID</span>
0232
0233
0234 <span class="comment">%=============================================================================</span>
0235 <span class="comment">% LocalBodePID</span>
0236 <span class="comment">% The callback function for comparing Bode diagram with different</span>
0237 <span class="comment">% autotuning method</span>
0238 <span class="comment">%=============================================================================</span>
0239 <a name="_sub11" href="#_subfunctions" class="code">function LocalBodePID</a>
0240 <span class="keyword">global</span> MODELRUNNING
0241 <span class="keyword">if</span> ~MODELRUNNING
0242 <span class="keyword">try</span>
0243 num = str2num(get_param(<span class="string">'AutotunerPID/Plant/Transfer Fcn'</span>,<span class="string">'Numerator'</span>));
0244 den = str2num(get_param(<span class="string">'AutotunerPID/Plant/Transfer Fcn'</span>,<span class="string">'Denominator'</span>));
0245 tau = str2num(get_param(<span class="string">'AutotunerPID/Plant/Transport Delay'</span>,<span class="string">'Delay'</span>));
0246 <span class="keyword">catch</span>
0247 msgbox(<span class="string">'The Bode diagrams can be computed only for linear models'</span>,<span class="keyword">...</span>
0248 <span class="string">'AutotunerPID'</span>,<span class="string">'error'</span>);
0249 <span class="keyword">return</span>
0250 <span class="keyword">end</span>
0251 <a href="bodePIDcompare.html" class="code" title="function bodePIDcompare(num,den,tau)">bodePIDcompare</a>(num,den,tau);
0252 <span class="keyword">else</span>
0253 msgbox(<span class="string">'The simulation must be STOPPED to perform the Comparative Analysis'</span>,<span class="keyword">...</span>
0254 <span class="string">'AutotunerPID'</span>,<span class="string">'warn'</span>);
0255 <span class="keyword">end</span>
0256
0257 <span class="comment">% end LocalBodePID</span>
0258
0259
0260 <span class="comment">%=============================================================================</span>
0261 <span class="comment">% LocalHlp</span>
0262 <span class="comment">% The callback function for Help</span>
0263 <span class="comment">%=============================================================================</span>
0264 <a name="_sub12" href="#_subfunctions" class="code">function LocalHlp</a>
0265 web([strrep(which(<span class="string">'envgui'</span>),<span class="string">'envgui.m'</span>,<span class="string">''</span>) <span class="string">'help/index.html'</span>],<span class="string">'-browser'</span>)
0266 <span class="comment">% end LocalHlp</span>
0267
0268
0269 <span class="comment">%=============================================================================</span>
0270 <span class="comment">% LocalEnvSets</span>
0271 <span class="comment">% Local function to set the position of the graphics objects in the Env GUI</span>
0272 <span class="comment">% animation window.</span>
0273 <span class="comment">%=============================================================================</span>
0274 <a name="_sub13" href="#_subfunctions" class="code">function LocalEnvSets(time,ud,u)</a>
0275 <span class="keyword">global</span> AUTOTUNE
0276 <span class="keyword">global</span> ENVINACTIVE
0277
0278 <span class="keyword">if</span> AUTOTUNE
0279 set(ud.Noise,<span class="string">'Enable'</span>,<span class="string">'off'</span>);
0280 set(ud.NoiseVar,<span class="string">'Enable'</span>,<span class="string">'off'</span>);
0281 set(ud.LoadDist,<span class="string">'Enable'</span>,<span class="string">'off'</span>);
0282 set(ud.LoadAmp,<span class="string">'Enable'</span>,<span class="string">'off'</span>);
0283 ENVINACTIVE = 1;
0284 <span class="keyword">elseif</span> ~AUTOTUNE & ENVINACTIVE
0285 <span class="comment">% Autotuning process completed (update parameters and set the GUI</span>
0286 <span class="comment">% active)</span>
0287 set(ud.Noise,<span class="string">'Enable'</span>,<span class="string">'on'</span>);
0288 set(ud.NoiseVar,<span class="string">'Enable'</span>,<span class="string">'on'</span>);
0289 set(ud.LoadDist,<span class="string">'Enable'</span>,<span class="string">'on'</span>);
0290 set(ud.LoadAmp,<span class="string">'Enable'</span>,<span class="string">'on'</span>);
0291 ENVINACTIVE = 0;
0292 <span class="keyword">end</span>
0293
0294 <span class="comment">% Force plot to be drawn</span>
0295 pause(0), drawnow
0296 <span class="comment">% end LocalEnvSets</span>
0297
0298
0299 <span class="comment">%=============================================================================</span>
0300 <span class="comment">% LocalEnvInit</span>
0301 <span class="comment">% Local function to initialize the Env GUI animation. If the animation</span>
0302 <span class="comment">% window already exists, it is brought to the front. Otherwise, a new</span>
0303 <span class="comment">% figure window is created.</span>
0304 <span class="comment">%=============================================================================</span>
0305 <a name="_sub14" href="#_subfunctions" class="code">function LocalEnvInit(NoiseBlock,LoadDistBlock)</a>
0306 <span class="comment">% The name of the reference is derived from the name of the</span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -