Читать онлайн «Особенности моделирования систем с дифференцирующим и запаздывающим звеньями в SIMULINK MATLAB»

Автор В. А. Бороденко

УДК 681. 51 ОСОБЕННОСТИ МОДЕЛИРОВАНИЯ СИСТЕМ С ДИФФЕРЕНЦИРУЮЩИМ И ЗАПАЗДЫВАЮЩИМ ЗВЕНЬЯМИ В SIMULINK MATLAB В. А. Бороденко Павлодарский государственный университет им. С. Торайгырова Весомым подспорьем при изучении теории автоматического управления служит программа MATLAB [1] фирмы MathWorks, Inc. В числе прочих опций она позволяет создать в среде Simulink из типовых элементов S-модель (струк- турную схему), а затем линеаризировать её для получения временных и частот- ных характеристик, оценки показателей качества и запасов устойчивости сис- темы. В работе рассматриваются проблемы моделирования систем с дифферен- цирующим и запаздывающим звеньями на примере версии MATLAB 8. 1. При моделировании в Simulink система с ПИД-регулятором (рис. 1) по осциллографу Scope (рис. 2) имеет перерегулирование 17,1 % и время регули- рования примерно 3,28 с. Рис. 1 Рис. 2 В окне Scope отсутствует автоматический расчет показателей качества (перерегулирование, время регулирования) и копирование графика в буфер, не вычисляется передаточная функция (ПФ). Эти возможности появляются после линеаризации модели >> [num,den]=linmod('untitled'); w=tf(num,den) Transfer function: 0. 08885 s^2 + 2. 967 s + 0. 1742 ---------------------------------- s^3 + 0. 9095 s^2 + 2. 98 s + 0. 1742 >> step(w) однако полученные таким образом показатели качества значительно отличают- ся от полученных в Scope, например, перерегулирование составляет уже 44,6 % (рис. 3), время регулирования равно 6,36 с и процесс имеет существенно коле- бательный характер. Рис. 3 Исследования показали, что линеаризация данной модели даёт одну и ту же передаточную функцию системы как при наличии D-цепи в регуляторе, так и при её отсутствии.
Иначе говоря, несмотря на отсутствие каких бы то ни было диагностирующих сообщений по этому поводу при линеаризации модели блок du/dt (Derivative) программой MATLAB не учитывается. Проще сформировать ту же структурную схему прямо в рабочем окне >> w2=tf(0. 1,[1 0]); w3=tf([0. 7 0],1); w4=tf([3 100],[79 65 1]); >> ww=feedback((2. 3+w2+w3)*w4,1) Transfer function: 2. 1 s^3 + 76. 9 s^2 + 230. 3 s + 10 ----------------------------------- 81. 1 s^3 + 141. 9 s^2 + 231. 3 s + 10 >> step(ww) тогда получим ПФ и график командой step, причем перерегулирование по пе- реходной характеристике отличается лишь на два процента (19,2 %) от кривой, полученной на осциллографе Scope, что лежит в пределах допустимой погреш- ности двух разных методов представления дифференцирующего звена. Заметим, что довольно часто в учебниках и учебных пособиях по иссле- дованию систем регулирования в MATLAB рекомендуется строить ПД и ПИД регуляторы именно с блоком Derivative, что, как подтверждает приведенный пример, при попытке линеаризировать подобную схему приводит к ошибочно- му результату (но без сообщения об ошибке!). В версии MATLAB 8. 1 (R2013a) для линеаризации можно использовать усовершенствованный блок Switched derivative for linearization из библиотеки Simulink Extras-Linearization с установленным в 1 флажком Switch value (1 for linearization, 0 for simulation), тогда результатом линеаризации являются пере- даточная функция Transfer function: 2. 746 s^3 + 100. 3 s^2 + 291. 6 s + 12. 66 --------------------------------------------- s^4 + 103. 6 s^3 + 182. 5 s^2 + 292. 9 s + 12. 66 и переходная характеристика (рис. 4), близкая к предыдущей.