Когда-то я обслуживал АСУ ТП, построенную на оборудовании фирмы Siemens. Изучая ПО и оборудование, наткнулся на ПО Fuzzy logic и NEUROSYSTEMS для контроллеров S7-400 в среде PCS-7.
На сайте Siemens зарегистрировавшись можно скачать эти регуляторы.
Программное обеспечение PCS-7, включает в себя и верхний и нижний уровень АСУ ТП. Построение схем управления исполнительными механизмами производиться CFC-схемами которые строятся из функциональных блоков. Рис.№1.
Рис.№1.
Эти схемы загружаются в контроллер. К большинству блоков, таких как CTRL_PID, FuzzyControl и др. для управления с верхнего уровня автоматически создаются панели управления (паспорта). Рис.№3. Более подробно по работе с PCS-7 можно узнать из документа PCS7_GettingStarted_V6_r.pdf.
Рис.№2.
Так выглядят функциональные блоки FuzzyControl. Рис.№2.
А так выглядит паспорт (панель управления) FuzzyControl для верхнего уровня. Рис.№3.
Рис.№3.
Для настройки функционального блока используется отдельная программа конфигуратор. Рис.№4.
Рис.№4.
В ней задается сколько входов и выходов будет использоваться у функционального блока. Если кликнуть мышкой по изображению входных терм одного из входов, откроется окно настройки этих терм.
Рис.№5.
Если кликнуть мышкой по среднему прямоугольнику, с надписью «if…then», то откроется окно настройки базы знаний.
База знаний для управления клапаном:
- Если Температура «низкая» и Давление «низкое» тогда Клапан «приток»
- Если Температура » низкая » и Давление «высокое» тогда Клапан «закрыт»
- Если Температура «высокая» и Давление «низкое » тогда Клапан «закрыт»
- Если Температура » высокая » и Давление «высокое» тогда Клапан «отток»
Рис.№6.
Выходные Свойства
Двойной щелчок мышкой на прямоугольнике рядом с надписью «Output01» открывает окно настройки выходных терм. Рис.№7.
Рис.№7.
Дальше можно проверить, как каждый выход будет отрабатывать в зависимости от входных величин. Входа назначены на оси X и Y, а выход с Fuzzy logic на ось Z. Можно наглядно увидеть как будет меняться выходная переменная от входных переменных. Рис.№8.
Рис.№8.
Есть еще один инструмент для тестирования регулятора, он так же позволяет просмотреть эти переменные в графиках и записать в память.
Рис.№9.
Так же вместе с программным пакетом Fuzzy Control, приводиться несколько примеров с применением нечеткой логики.
Один из примеров это изменение коэффициентов ПИД регулятора с помощью Fuzzy System, в зависимости от температуры. Рис.№10.
Рис.№10.
По этой таблице должны изменяться коэффициенты ПИД регулятора
Изменение коэффициентов Kp, Ki, Tv в 3D.
Второй пример: управление задвижкой по давлению и скоростью изменения давления.
Рис.11.
- Клапан принимает три положения: закрыт, на половину открыт и открыт(0%, 50% и 100%). Эти положения клапана соответствуют выходным термам.
- Давление р и скорость изменения давления Dp делится на три состояния.
- Такая вот база знаний.
Конфигуратор.