УДК 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), близкая к предыдущей.