IVANOV_4307 Water Level Control
В меню Format/Font — форматирование шрифта надписей и текстовых блоков, отредактируйте заголовок. 4.3.6. В соответствии с п.2.3.1 запустите Fis – Editor. С помощью 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.3.8. Настройку нечеткого контроллера можно проводить двумя способами: 1) с помощью Fis – Editor (см.лаб.работы №2 и №3); 2) в режиме командной строки Matlab. 4.3.9. Рассмотрим первый способ. Создадим копию файла FazCont.fis. Для этого в соответствии с п.п.2.3.1 – 2.3.2 необходимо запустить Fis – Editor. Выполнить 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.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.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.3.17. Сохраните созданную Simulink – модель под именем IVANOV_4307, используя File/Save As/IVANOV_4307. В каталоге она будет сохранена в виде файла IVANOV_4307.mdl (раширение .mdl будет присвоено автоматически). Контрольные вопросы. 1. Назовите два основных показателя качества контроллеров. 2. Как влияют настройки ПИД – контроллера на его показатели качества? 3. Как влияют настройки нечеткого контроллера на его показатели качества? 4. Какие способы настройки нечеткого контроллера Вы использовали в работе? 5. Как использовать Fis – Editor для настройки нечеткого контроллера? 6. Как использоватьрежим командной строкидля настройки нечеткого контроллера?
|