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

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

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

4.2.2.Загрузить Simulink – модельsltank.mdl’.

4.2.3. Исследовать ПИД – контроллер.

4.2.4. Исследовать нечеткий контроллер FazCont.fis с использованием редактора FisEditor и в режиме командной строки.

4.3. Порядок выполнения работы Создание Simulink - модели

4.3.1. Для выполнения п.4.2.2 загрузите систему MatLab: ПУСК/ВСЕ ПРОГРАММЫ/MATLAB/R2011b/ MATLABR2011b. В командном окне наберите sltank и нажмите клавишу ENTER. С некоторой задержкой появится окно с именем sltank, в котором будет представлена структурная схема Simulink-модели sltank (рис.1.2).

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

4.3.3. Дважды щелкните ЛК на иконке блока PID controller. Появится окно настроек блока. Изменяя значения настроек, добейтесь минимального перерегулирования, при этом одновременно фиксируйте время регулирования.

4.3.4. Дважды щелкните ЛК на иконке блока Constant(-1). Откроется окно Sourse Block Parameters:const , в строке Constant Value вместо значения 1 введите значение -1 и нажмите кнопку ОК. Этим самым вместо ПИД контроллера в модели активизируется нечеткий контроллер.

4.3.5. В верхней части окна модели создайте текстовый заголовок, например :

IVANOV_4307 Water Level Control

В меню Format/Font — форматирование шрифта надписей и текстовых блоков, отредактируйте заголовок.

4.3.6. В соответствии с п.2.3.1 запустите FisEditor. С помощью File/Export/ ToFile откройте файл FazCont.fis. С помощью File/Export/ ToWorkSpace занесите параметры нечеткого контроллера, созданного в лабораторных работах №2 и №3, в рабочую область WorkSpace, в окне которого должна появиться запись FazCont < 1x1 struk>.

4.3.7. Дважды щелкните ЛК на иконке блока Fazzy Logic controller. Появится окно настроек блока. Замените название tank на FazCont и в соответствии с п.п.1.3.2 – 1.3.4 снова запустите модель. На рис.4.2 представлено окно Сomparision для нечеткого контроллера FazCont, из которого видно, что качество контроллера вполне удовлетворительное.

Рис.4.2.Окно Сomparision для FazCont.

4.3.8. Настройку нечеткого контроллера можно проводить двумя способами:

1) с помощью FisEditor (см.лаб.работы №2 и №3);

2) в режиме командной строки Matlab.

4.3.9. Рассмотрим первый способ. Создадим копию файла FazCont.fis. Для этого в соответствии с п.п.2.3.1 – 2.3.2 необходимо запустить FisEditor. Выполнить File/Import/ FromFile и открыть файл FazCont.fis. С помощью File/Export/ ToFile сохраните его под именем FazCont1.fis.

4.3.10. Изменим диапазон переменной level вместо [-1 1] на [-0.1 0.1] , а переменнойvalveвместо [-0.1 0.1] на [-0.15 0.15]. С помощью File/Export/ ToWorkSpace загрузите параметры нечеткого контроллера FazCont1 в рабочее пространство MatLab. Убедитесь, что в окне WorkSpace появилась строка ‘ FazCont1 < 1x1 strukt>’.

4.3.11. Дважды щелкните ЛК на иконке блока Fazzy Logic controller. Появится окно настроек блока. Замените название FazCont на FazCont1 и в соответствии с п.п.1.3.2 – 1.3.4 снова запустите модель. На рис.4.3 представлено окно Сomparision для нечеткого контроллера FazCont1. Видно, что качество нечеткого контроллера FazCont1 плохое.

Рис. 4.3. Окно Сomparision для FazCont1.

4.3.12. Рассмотрим второй способ. Попробуем улучшить качество контроллера FazCont1. Будем настраивать контроллер, подбирая диапазоны переменных levelи valve, измененные в п.4.3.10. Для этого в командном окне наберите FazCont1 и нажмите клавишу ENTER. В командном окне получите информацию о файле FazCont1.fis в следующей форме (жирный шрифт):

FazCont1 =

name: 'FazCont1' имя файла;

type: 'mamdani' тип алгоритма нечеткого вывода;

andMethod: 'prod' тип операции выполнения связки and;

orMethod: 'max' тип операции выполнения связки or;

defuzzMethod: 'centroid' тип метода дефаззификации;

impMethod: 'prod' тип метода нечеткой импликации;

aggMethod: 'max' тип метода агрегирования;

input: [1x2 struct] структура нечетких входных переменных;

output: [1x1 struct] структура нечетких выходных переменных;

rule: [1x5 struct] структура базы правил.

4.3.13. В командном окне наберите FazCont1.input(1,1) и нажмите клавишу ENTER. Получите информацию о нечеткой переменной level’:

>> FazCont1.input(1,1)

ans = сокращение от слова ответ;

name: 'level' имя нечеткой переменной;

range: [-0.1000 0.1000] диапазон нечеткой переменной;

mf: [1x3 struct] структура терм- множества переменной.

4.3.14. В командном окне наберите FazCont1.input(1,1).range=[-1 1]; и нажмите клавишу ENTER. Затем наберите FazCont1.input(1,1).range и нажмите клавишу ENTER. Получите следующее сообщение:

>> FazCont1.input(1,1).range

ans = -1 1 восстановленное значение диапазона переменной 'level'.

4.3.15. В командном окне наберите FazCont1.input(1,1).mf(1,1).params=[0.3 -1]; и нажмите клавишу ENTER. Затем наберите FazCont1.input(1,1).mf(1,2).params=[0.3 0]; FazCont1.input(1,1).mf(1,3).params=[0.3 1]; и нажмите клавишу ENTER. Параметры файла FazCont1.fis, размещенные в Workspace, будут изменены. С помощью File/Import/ From Workspace/ FazCont1 сохраняем измененный файл и запускаем модель. Осциллограмма представлена на рис.4.4. Качество контроллера совершенно неудовлетворительное.

Рис. 4.4. Окно Сomparision для FazCont1.

4.3.16. Попробуем еще раз улучшить качество контроллера FazCont1. Будем настраивать контроллер, подбирая диапазон переменной valve, измененный в п.4.3.10. Для этого в командном окне наберите FazCont1.output(1,1).range=[-0.9 0.9]; и нажмите клавишу ENTER. Затем наберите: FazCont1.output(1,1).mf(1,1).params=[-0.9 -0.81 - 0.72]; FazCont1.output(1,1).mf(1,2).params=[-0.54 -0.45 -0.36]; FazCont1.output(1,1).mf(1,3).params=[-0.09 0 0.09]; FazCont1.output(1,1).mf(1,4).params=[0.18 0.27 0.54]; FazCont1.output(1,1).mf(1,5).params=[0.72 0.81 0.9];. Нажмите клавишу ENTER.

4.3.17. С помощью File/Import/ From Workspace/ FazCont1 сохраняем измененный файл и запускаем модель. Осциллограмма представлена на рис.4.5. Качество контроллера уже удовлетворительное, существенно лучше, чем на рис.4.3-4.4, но несколько хуже, чем на рис.4.2 (перерегулирование на верхней и нижней полках чуть больше). Рис. 4.5. Окно Сomparision FazCont1.

4.3.17. Сохраните созданную Simulink – модель под именем IVANOV_4307, используя File/Save As/IVANOV_4307. В каталоге она будет сохранена в виде файла IVANOV_4307.mdl (раширение .mdl будет присвоено автоматически).

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

1. Назовите два основных показателя качества контроллеров.

2. Как влияют настройки ПИД – контроллера на его показатели качества?

3. Как влияют настройки нечеткого контроллера на его показатели качества ?

4. Какие способы настройки нечеткого контроллера Вы использовали в работе?

5. Как использовать FisEditor для настройки нечеткого контроллера?

6. Как использовать режим командной строки для настройки нечеткого контроллера?