BO - Magnitude Optimum (Betragsoptimum) |
The BO Toolbox Version 2.0 is available for MATLAB with the following m-files or as a ZipFile. Numerous examples illustrate the calculation of the controller parameters (*par.m) and demonstrate the achievable control behaviour (*.sim.slx). All NEW files in version 2.0 are summarised in the following table. The classical Magnitude Optimum (undelayed inputs) and the Symmetrical Optimum (delayed inputs) are special cases of this generalization.
| Filename | Funktion | Eingangsargumente |
|---|---|---|
| bo_m_gen | Magnitude Optimum controller optimization:
PI-, PID-, PID2-, PID3- and PID4-type - a general, unified version
based on a set of weighting factors (WFs), inclusive of classical Betragsoptimum (undelayed inputs) and Symmetrical Optimum (delayed inputs) as special cases |
same as bo_u_gen and bo_d_gen merged
(see version 1.2), plus specification of additional weighting factors WFs, excluding the integral term; WFs range not limited to 0 till 1; dead time handling same as bo_u_gen or bo_d_gen (see version 1.2) |
| bo_m_gen02 | same as bo_m_gen, but different initial value setting, increased error weighting | same as bo_m_gen; more recommendable |
| bo_m_Var | repeated call of bo_m_gen02 via 23 weighting factor WFs variants: WFs==A-/+Delta*K and K={0,1,...11}, A and Delta define a search window; includes: simulation, step responses, overshoot, sensivity, ITAE, optional analyses |
first 8 arguments identical to bo_m_gen02; more settings: A, Delta, disturbance step time and delta disturbance, diverse switches, dead time problem handling |
| bo_m_Var_temp_xxx | script file: may be used as a template file for calling function 'bo_m_Var' | define a plant, select a controller, set A and Delta variants, choose options |
| bo_m_Var_ITAE_sim | simulation file: do not change any, called by bo_m_Var | not applicable |
| bo_m_Var_ITAE_DTSP_sim | simulation file: do not change any, called by bo_m_Var | not applicable |
| S_P_N_acMa | sensivity calculations | controller transfer function, plant transfer function (LTI definitions) |
| Link to the files of the previous version 1.2, which are also included. |
The new DEMO subdirectory of version 2.0 contains the following MATLAB and SIMULINK examples as m and slx files for controller optimization and step response simulation:
| controller type and optimization (bo_m_gen02) |
plant | search window bo_m_Var_temp_xxx |
simulation |
|---|---|---|---|
| PID not available |
Example 'set of curves': 3 time delay elements of first order, different time constants | bo_m_Var_temp_KurvenSchar.m | not available |
| PID2 Man_ex01pap_par.m |
Example Mandic 1: 4 time delay elements of first order, different time constants | bo_m_Var_temp_Man01.m | Man_ex01pap_sim.slx |
| PID2 Man_ex02pap_par.m |
Example Mandic 2: 4 time delay elements of first order, time constants identical | bo_m_Var_temp_Man02.m | Man_ex02pap_sim.slx |
| PID2 Man_ex03pap_par.m |
Example Mandic 3: dead time and 3 time delay elements of first order, time constants identical, dead time greater than time constant | bo_m_Var_temp_Man03.m | Man_ex03pap_sim.slx |
| PID2 Man_ex04pap_par.m |
Example Mandic 4: dead time and 2 time delay elements of first order, time constants identical, dead time and time constant identical | bo_m_Var_temp_Man04.m | Man_ex04pap_sim.slx |
| PID2 Man_ex05pap_par.m |
Example Mandic 5: first order numerator polynomial with negative time constant and 3 time delay elements of first order, time constants identical | bo_m_Var_temp_Man05.m | Man_ex05pap_sim.slx |
| PID2 Man_ex06pap_par.m |
Example Mandic 6: first order numerator polynomial, dead time, 3 time delay elements of first order, different time constants | bo_m_Var_temp_Man06.m | Man_ex06pap_sim.slx |
| PID2 Man_ex07pap_par.m |
Example Mandic 7: integrator, 3 time delay elements of first order, all time constants identical | bo_m_Var_temp_Man07.m | Man_ex07pap_sim.slx |
| PID, PID2 not available |
Example Papadopoulos, page 127: 2 integrators, 5 time delay elements of first order, all time constants identical | bo_m_Var_template_2_Int.m | Pp_page127ff_sim_Paper.slx |
| PID2 Man_ex09pap_par.m |
Example Mandic 9: dead time, negative gain and 1 time delay element of first order with negative time constant | bo_m_Var_temp_Man09.m | Man_ex09pap_sim.slx |
| PID2 Man_ex10pap_par.m |
Example Mandic 10: dead time, 3 time delay elements of first order, time constants different, once negative | bo_m_Var_temp_Man10.m | Man_ex10pap_sim.slx |
| PID2 Man_ex11pap_par.m |
Example Mandic 11: dead time, 2 time delay elements of first order, time constants different | bo_m_Var_temp_Man11.m | Man_ex11pap_sim.slx |
| PID2 Man_ex12pap_par.m |
Example Mandic 12: dead time and integrator | bo_m_Var_temp_Man12.m | Man_ex12pap_sim.slx |
| PID2 Man_ex13pap_par.m |
Example Mandic 13: dead time and 1 time delay element of first order, time constant and gain negative | bo_m_Var_temp_M13.m | Man_ex13pap_sim.slx |
| PI not available |
Example Alfaro: dead time and 1 time delay element of first order | bo_m_Var_temp_Alfaro.m | exAl_16_sim_NurDelta_w.slx |
| Link to the files and demos of the previous version 1.2, which are also included. |