PDA

Просмотр полной версии : альтернативы ПИД-регулятуру



K.I.V.
05.10.2012, 15:46
Добрый день :)

Недостатки извесны всем, это и настройка коэффициентов и т.п. и т.д.

Из фундаментальной базы вспомнились:
нечёткая логика и нейронные сети.

По не четкий логики удалось найти всего Одну ПРИКЛАДНУЮ статью!

А вот с нейронными ситями всё гораздо сложнее:

- на данный момент мучаю какие-то "левые" (для пром. программирования) примеры распознавания, - но тут полная беда ... толь с лыжами, толь с санками, толь с прогладкой меж компом и креслом (но я не растраиваюсь, т.к. см. ниже).

- поиск научных трудов, завёл в уныние и полный "этот самый" ... такой бред (судя по авторефератам) - будущие т.н. "учёные" пытаются управлять ПЛК через Симулинк :D ... как я понимаю, - это их основное "Научное достижение" :rolleyes:


Вопрос: Кто-нибудь напрягался этим вопросом? любая толковая инфа будет крайне полезной ;)

ЗЫ. Заветная цель: написать сеть с обратным распространением ошибки.

Малышев Олег
05.10.2012, 16:16
ТАУ Том 2 "Синтез регуляторов"
например http://www.twirpx.com/file/19470/

Amko
05.10.2012, 17:08
Блин, ПИД регулятор - это конечно классика, но есть и другие версии.
Сам ПИД регулятор имеет ряд модификаций для конкретных решений.
И, как мне кажется, вы неправильно поняли "управление ПЛК через симулинк". Для матлаба есть доп. модули для генерации программного кода для ПЛК на основе модели, собранной в симулинк (встречал статьи реализации регулятора Смита в симулинке с последующей генерацией блока для STEP7).
Расскажите подробней про задачу, быть может не потребуется городить нейронные сети.

UPD.
По поводу нечеткой логики нашел почитать:
1. http://habrahabr.ru/post/125614/ - тут комментарии часто полезней самой статьи.
2. http://www.computerra.ru/offline/2001/415/13052/
3. http://ispu.ru/files/c.72-75.pdf -Методы нечеткой логики в задачах автоматизации тепловых процессов электростанций
4. Ищите "Техническая коллекция Schneider Electric - Выпуск 31 - Нечеткая логика".

BETEP
05.10.2012, 19:21
Забейте на эти научные труды, разберитесь с поведением ПИД, т.е. как он работает, разберитесь с куском после пида и исполняющим механизмом, воздействие почти всегда нелинейно, со всеми вытекающими.
Всякие симуляторы объектов, далеки от действительености, реальный объект подвержен непредвиденным возмущениям, типа открытая форточка (или ворота), кривые руки технолога, крутые специалисты...
т.е. Ваяйте свой регулятор с использованием ПИД, под конкретный объект, на основе данных от операторов, киповцев и даже не просыхающего слесаря.

Нечёткую логику испортили теоретики этого дела, забыв об анекдоте откуда она появилась.
Бухали вместе несколько матанов, и под это дело зашёл спор, у кого жена красивше, обычный такой спор, вот только одного переклинило на почве матана и бухла, захотелось ему научно обосновать что False и True это не совсем правильно, оказывается там ещё куча промежуточных состояний, зависящих от того кто даёт оценку.
Очнулся, блин, колесо изобрёл... не учили его в детстве что о вкусах не спорят, каждый принимает решение которое считает правильным, и накакать на теоретиков, склонных к http://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D0%B7%D0%BE%D1%84%D1%80%D0%B5%D0%BD%D 0%B8%D1%8F

Наиболее частыми проявлениями болезни являются слуховые галлюцинации, параноидный или фантастический бред

Малышев Олег
05.10.2012, 21:34
Имхо Ветер прав. при правильной лианеризации выходных механизмов + одинарный или двойной ПИД можно регулировать 99.5% процентов процессов. Оставшиеся 0.5 % даем на сложные техпроцессы (как правило не завязанные на тепло)

BETEP
05.10.2012, 22:31
Вопрос: Кто-нибудь напрягался этим вопросом? Все кто с этим столкнулся не первый раз, напрягались. Лучших решений не искали только очень ленивые. И подобные вопросы в инете регулярно возникают, т.е. тема стара как мир, наших предков тоже волновали вопросы сколько веток в костёр подбросить. Очень холодно, бросим охапку, П-составляющая. Предполагает предок что сейчас станет слишком жарко, уберёт немного из костра, Д часть отработала. А если мало первый раз подкинул, интегрирующая часть отработает, ещё немного веток добавит. Но предок ещё и не дурак, неплохо владеет нечёткой логикой, если стены в пещере сырые, к П или И добавит ещё пару веточек. Только с линеаризацией могут быть проблемы. Разные сорта хвороста тепла по разному дают, хоть и из одного леса.
А если шкура на входе в пещеру вдруг упала в момент когда предок Д часть отрабатывал... как у него тогда нечёткая логика сработает?

smk1635
06.10.2012, 21:42
Все кто с этим столкнулся не первый раз, напрягались. Лучших решений не искали только очень ленивые. И подобные вопросы в инете регулярно возникают, т.е. тема стара как мир, наших предков тоже волновали вопросы сколько веток в костёр подбросить. Очень холодно, бросим охапку, П-составляющая. Предполагает предок что сейчас станет слишком жарко, уберёт немного из костра, Д часть отработала. А если мало первый раз подкинул, интегрирующая часть отработает, ещё немного веток добавит. Но предок ещё и не дурак, неплохо владеет нечёткой логикой, если стены в пещере сырые, к П или И добавит ещё пару веточек. Только с линеаризацией могут быть проблемы. Разные сорта хвороста тепла по разному дают, хоть и из одного леса.
А если шкура на входе в пещеру вдруг упала в момент когда предок Д часть отрабатывал... как у него тогда нечёткая логика сработает?

:D Можно украсть? Нагладно объяснили. Покажу своим киповцам.

nik9999
08.10.2012, 16:12
Не много не в тему, но может быть ...
Вот две ссылки на алгоритмы автонастройки
http://www.mathworks.com/matlabcentral/fileexchange/4652-autotunerpid-toolkit/content/autotunerPID/help/autopid_int.html
исходник для МАТLAB , используется метод площадей
http://www.plctalk.net/qanda/showthread.php?t=58689
исходник для Scilab, использует алгоритм Левенберга — Марквардта, для нахождения минимума между кривой разгона, и аппроксимирующей функцией модели объекта.

При желание оба алгоритма можно переложить на C# или Delphi. собственно я так и сделал,.... по второй ссылке