Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Water Level Control.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.21 Mб
Скачать

Описание структурной схемы

1.1.6. Структурная схема Simulink-модели, представленная на рис.1.2, входит в состав демонстрационного примера проектирования прикладной Simulink-модели с нечетким контроллером[4] . Чтобы ознакомиться с полным описанием этой модели ( на английском языке), осуществите ее загрузку MatLab/Fuzzy Logic Toolbox/Demos/ Water Level Control in a Tank Uses: Simulink/Model.

1.1.7. Приведем краткое описание структурной схемы Simulink-модели с нечетким и ПИД контроллерами. Блоки Constant(1), Signal Generator и Sum1 формируют значение уставки уровня, которое изменяется в диапазоне 0.5 – 1.0 м с частотой 0.1 рад/сек. Такое изменение уставки позволит оценить основные показатели качества контроллера ( перерегулирование и время регулирования).

1.1.8. Блок error на выходе выдает значение отклонения текущего уровня воды от уставки, которое поступает непосредственно на вход PID-controllera и через блок Mux1 на вход нечеткого контроллера (Fuzzy Logic controller).

1.1.9. Блоки Constant(-1) и Switch подключают тот или иной контроллер к блоку VALVE , имитирующему работу клапана на входе резервуара (блок TANK ). Структура блоков VALVE и TANK приведена в приложении 2.

1.1.10. С выхода блока TANK , значение текущего уровня подается на отрицательный вход блока error и на вход блока Derivative и change для формирования значения rate = derror/dt для нечеткого контроллера.

1.2. Задание для выполнения работы

1.2.1.Ознакомиться с материалом, изложенным в п.п.1.1.1-1.10. настоящего руководства.

1.2.2. В соответствии с п.1.1.5 загрузить демонстрационную Simulink-модель.

1.2.3.Запустить модель и ознакомиться качеством работы нечеткого и ПИД контроллеров.

1.2.4. Создать и сохранить mdl – файл для собственной Simulink-модели.

1.3. Порядок выполнения работы

1.3.1. Для выполнения п.1.2.2 загрузите систему MatLab: ПУСК/ВСЕ ПРОГРАММЫ/MATLAB/R2011b/ MATLABR2011b. В командном окне наберите sltank

и нажмите клавишу ENTER. Через 15-20сек появится окно с именем sltank, в котором будет представлена структурная схема Simulink-модели sltank (рис.1.2).

1 .3.2. Запустите модель, щелкнув один раз ЛК на значке (Run). В левом углу нижней строки окна появится сообщение Running(выполняется), и в этой же строке будет отображаться время работы модели с момента ее запуска, а значок Run (запуск) заменится значком Running, имеющим вид II.

1.3.3. Появится анимационное окно, в котором будет отображаться процесс изменения уровня жидкости в резервуаре (рис.1.3).

Рис.1.3. Окно Tank Demos

1.3.4. Дважды щелкните на иконке блока Сomparision. Появится анимационное окно Сomparision (рис.1.4), в котором будет отображаться процесс изменения уровня жидкости в резервуаре (осциллограмма белого цвета) относительно уставки (осциллограмма желтого цвета) .и Рис.1.4. Окно Сomparision fuzzy контроллера.

Отметим, что незначительное перерегулирование отмечается только на нижней «полке» импульсов, а время регулирования составляет примерно четверть длительности импульса.

1.3.5. Прервите работу модели, щелкнув ЛК на значке Running. Работа модели приостановится. В левом углу нижней строки окна появится сообщение Paused, а значок Running снова заменится значком Run (запуск). Определите перерегулирование и время регулирования(см.Приложение 1.).

1.3.6. Дважды щелкните ЛК на иконке блока Constant(-1). Откроется окно Sourse Block Parameters:const , в строке Constant Value вместо значения -1 введите значение 1 и нажмите кнопку ОК. Этим самым вместо нечеткого контроллера в модели активизируется ПИД контроллер. В соответствии с п.п.1.3.2 – 1.3.4 снова запустите модель. На рис.1.5 представлено окно Сomparision для ПИД контроллера. Отметим, что перерегулирование значительно больше как на нижней, так и на верхней «полках» импульсов, зато время регулирования меньше и составляет примерно восьмую часть длительности импульса.

Рис.1.5. Окно Сomparision ПИД контроллера .

Контрольные вопросы.

1.В чем состоит задача управления уровнем жидкости в резервуаре?

2.Какую роль играет уравнение Бернулли при решении задачи управления?

3.Как осуществить загрузку Simulink-модели (sltank.mdl)?

4.Как активизировать в модели ПИД - контроллер?

5.В чем состоит преимущество нечеткого контроллера перед ПИД - контроллером?

6. Как измерить величину перерегулирования, используя блок Scope ?

7. Как измерить время регулирования, используя блок Scope ?