MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Проектирование систем управления\Fuzzy Logic Toolbox

Демонстрационные примеры

  В оглавление \ К следующему разделу \ К предыдущему разделу

SLTANKRULE

В этом разделе описывается демонстрационные программа sltank и sltankrule, иллюстрирующие применение нечеткого контроллера для регулирования уровня воды в баке. Программа sltank отличается от sltankrule только тем, что в ней отсутствует окно с правилами нечеткого управления в формате модуля ViewRuler.

Объект управления представляет собой бак, в который одновременно втекает и вытекает вода. Задача регулирования состоит в выбор таких положений вентиля, которые бы обеспечивали поддержания заданного уровня воды в баке. Объект является нелинейным, так как расход воды пропорционален квадрату высоты столба воды в баке. Для работы программ sltank и sltankrule необходим пакет Simulink.

После запуска программы sltankrule на экране появляется графическое окно пакета Simulink. Это окно содержит симулинк-модель (рис. 9. 28), используемую демонстрационной программой sltankrule.

Рисунок 9.28 – Симулинк-модель системы “Водяной бак с нечетким контроллером”

Для запуска анимации необходимо выбрать команду Start меню Simulation. После этого появиться графическое окно (окно Tank Demo на рис. 9.29), в котором будет происходить анимация. Текущий уровень воды показан синим цветом. Необходимый уровень воды отмечен красной линией. Запуск анимации осуществляется автоматически по открытию окна. Также автоматически открывается окно правил нечеткого контроллера (верхнее окно на рис. 9.29). Это окно показывает процесс принятия решений по управлению для текущего момента времени. Нечеткий контроллер представляет собой систему нечеткого логического вывода типа Мамдани с двумя входами: разница между требуемым и текущим уровнями воды и скорость изменения этой разницы. Временные диаграммы требуемого и текущего уровней воды показаны в окне Scope1 (рис. 9.29) желтой и сиреневой линиями, соответственно. В окне change scope приведена временная диаграмма скорости изменения разности требуемого и текущего уровней воды. Эти окна открываются по щелчку левой кнопкой мыши по пиктограммам Scope1 и change scope в симулинк-модель системы “Водяной бак с нечетким контроллером”. Пользователь может аналогичным образом вывести на экран временные диаграммы расхода воды (Scope4) и сигнала переполнения бака (Scope2). Примеры этих диаграмм показаны на рис. 9.30.

Рисунок 9.29 – Основные окна системы “Водяной бак с нечетким контроллером”

Рисунок 9.30 – Временные диаграммы расхода воды (а) и сигнала переполнения бака (б)

Нечеткий контроллер использует 5 правил для расчета управляющего воздействия. Для лингвистической оценки входной переменной level (разница между требуемым и текущим уровнями воды) используется три терма с гауссовскими функциями принадлежности, для лингвистической оценки входной переменной rate (скорость изменения разницы между требуемым и текущим уровнями воды) используется два терма с гауссовскими функциями принадлежности и для лингвистической оценки выходной переменной valve (изменение положения вентиля) используется пять термов с треугольными функциями принадлежности. Для просмотра нечеткого контроллера в симулинк-формате (рис. 9.31) необходимо щелкнуть правой кнопкой мыши по блоку Fuzzy Logic Controller (см. рис. 9.28) и в появившемся меню выбрать команду Look under mask. Затем в появившемся графическом окне Link: sltankrule/Fuzzy Logic Controller with Ruleviewer* щелкнуть правой кнопкой мыши по блоку Fuzzy Logic Controller и снова в появившемся меню выбрать команду Look under mask. Затем в появившемся графическом окне Link: sltankrule/Fuzzy Logic Controller with Ruleviewer/Fuzzy Logic Controller* щелкнуть правой кнопкой мыши по блоку FIS Wizard и снова в появившемся меню выбрать команду Look under mask.

Рисунок 9.31 – Нечеткий контроллер уровня воды в баке в симулинк-формате

  В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика