⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 envgui.html

📁 this file update PID parameters
💻 HTML
📖 第 1 页 / 共 3 页
字号:
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 &amp; 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 + -