Страница 12 из 51 ПерваяПервая ... 2101112131422 ... ПоследняяПоследняя
Показано с 111 по 120 из 509

Тема: ПИД регулятор

  1. #111

    По умолчанию

    На здоровье
    В благодарность можете поддержать мой блог, оставляя по возможности и уместности ссылки на него: http://www.asutp-volgograd.com/blog.html

    Блок в сабже я расширил, кстати. В нём теперь присутствует выходная булева переменная, по состоянию которой может включаться (отключаться) дополнительный двигатель если основной не создал нужное давление (или ещё что) за определенное время, разогнавшись почти на максимум (если при совместной работе выход ПИД достиг заданной нижней границы). Также присутствует ограничение минимальной выходной частоты и полная остановка двигателя при длительном вращении на минимальной частоте. Если нужно - выложу.

    Чуть позже вообще планирую выложить и описать в блоге готовую программу для ПЛК150/160 для управления по rs-485 (или через клеммы) любым числом групп насосов (под управлением ПЧ) с произвольным числом насосов в каждой по схеме основной-дополнительный-резервные. Сейчас такую по городу запускаем, тестирование почти закончили.

    Поэтому подписывайтесь на RSS-ленту (можно по e-mail, вбив его в форму на блоге. Вам придет сообщение если появится новый пост).

  2. #112

    По умолчанию

    Уважаемые господа разработчики и форумчане!
    Я конечно понимаю, что я со своим... да в калашный ряд, но, если Вам интересно, то выскажу пару своих соображений:
    1. PID-регулятор вещь великолепная и очень нужная, так как может применяться в совершенно разных областях техники.
    2. Не надо иметь каких-то сверх знаний, что бы использовать и эксплуатировать эти регуляторы. НО!!!
    3. Поскольку далеко не все, кто что либо строит на основе PID-регуляторов имеют специальное образование, то возможно ли как-то упростить, т.е. перейти на "рабоче-крестьянский" язык в описании настроек данного прибора? Честно говоря, я не считаю себя полным безграмотностью, но когда я впервые столкнулся с регулятором ТРМ-251, то без автонастройки, о которой здесь много говорится, я прибор едва ли бы запустил! Ну уж очень мудрёно там всё написано! Так же и с присвоением значений переменных (интегральной, дифференциальной, постоянной) в библиотечных регуляторах КоДеСис абсолютная непонятка! - Впятером два дня думали (по аналогии с ТРМ-251) - только мозги вывихнули!
    Очень бы хотелось видеть более понятное описание и толкования хоть блока, хоть прибора!
    4. По входам - выходам:
    Лично моё мнение - пусть они будут как есть сейчас. Если не надо, то просто не использовать да и всё! А вот добавить входов на управление - это с радостью! Конкретно: По примеру ТРМ-251 в регуляторе нужно или несколько уставок, или возможность менять их по мере необходимости оператора, либо программно с течением времени. Так же было бы не плохо предусмотреть возможность выхода на уставку по заданному значению времени. И ещё нужны выхода сигнализирующие о выходе на ту или иную уставку, например для отсчёта времени сушки изделия.

    Ну вот и всё, пожалуй.
    С уважением, Алдонин Евгений.

  3. #113
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Еще неплохо было бы на рабоче-крестьянском языке описать принцип работы автонастройки.

  4. #114

    По умолчанию

    Так вроде все понятно в общих чертах по блоку. Единственное - совершенно не указано как быть если на горячую надо уставку поменять (обнулить интегралку) или что делать когда выход обнуляется принудительно при открытии дверцы печи например. Опять с интегралкой непонятки. Я вроде методом н.тыка дошел к ответу, но не уверен, что так оптимально.

  5. #115
    Пользователь
    Регистрация
    10.09.2012
    Адрес
    Кемерово
    Сообщений
    93

    По умолчанию

    Цитата Сообщение от Aldonin2007 Посмотреть сообщение
    Уважаемые господа разработчики и форумчане!
    Я конечно понимаю, что я со своим... да в калашный ряд, но, если Вам интересно, то выскажу пару своих соображений:
    1. PID-регулятор вещь великолепная и очень нужная, так как может применяться в совершенно разных областях техники.
    2. Не надо иметь каких-то сверх знаний, что бы использовать и эксплуатировать эти регуляторы. НО!!!
    3. Поскольку далеко не все, кто что либо строит на основе PID-регуляторов имеют специальное образование, то возможно ли как-то упростить, т.е. перейти на "рабоче-крестьянский" язык в описании настроек данного прибора? Честно говоря, я не считаю себя полным безграмотностью, но когда я впервые столкнулся с регулятором ТРМ-251, то без автонастройки, о которой здесь много говорится, я прибор едва ли бы запустил! Ну уж очень мудрёно там всё написано! Так же и с присвоением значений переменных (интегральной, дифференциальной, постоянной) в библиотечных регуляторах КоДеСис абсолютная непонятка! - Впятером два дня думали (по аналогии с ТРМ-251) - только мозги вывихнули!
    Очень бы хотелось видеть более понятное описание и толкования хоть блока, хоть прибора!
    4. По входам - выходам:
    Лично моё мнение - пусть они будут как есть сейчас. Если не надо, то просто не использовать да и всё! А вот добавить входов на управление - это с радостью! Конкретно: По примеру ТРМ-251 в регуляторе нужно или несколько уставок, или возможность менять их по мере необходимости оператора, либо программно с течением времени. Так же было бы не плохо предусмотреть возможность выхода на уставку по заданному значению времени. И ещё нужны выхода сигнализирующие о выходе на ту или иную уставку, например для отсчёта времени сушки изделия.

    Ну вот и всё, пожалуй.
    С уважением, Алдонин Евгений.
    В принципе рюши можно и самому дописать, была бы основа и тех. задание.

  6. #116

    По умолчанию

    Добрый день! Понимаю избитую тему но прочитав все что есть на форуме, по теме ПИД, ответы не нашел. Использую PID регулятор из библиотеки UTIL.lib. Электро калорифер в приточной системе. В результате экспериментов с параметрами (пальцем в небо) выставил значения следующие KP = 1; TN = 100; TV = 0.
    При попытке увеличить TV (ставил от 5 до 50) картина одна и та же резко начинает расти Y и температура аж до 50+ градусов в притоке, держит 99% немного прыгая уменьшится на процент и опять вернется. Ну дальше конечно нервы не выдерживали, приходилось гасить, а то так и до повреждений недалеко. Почему-то не уменьшает проценты когда температура становится выше уставки.

    При выбранных же значениях колебания равномерные идут где-то 5 градусов, в процентах где-то 10%. Хотелось бы стабилизировать колебания и понять работу ПИД регулятора.

    Если у кого есть рекомендации по литературе теоретическая часть ПИД (только не надо библиотеку скидывать, время тоже ограниченно) действительно стоящей. Ну и вопрос может есть какой алгоритм подбора коэффициентов вручную.

    Цифры применял по аналогии с заводскими заданиями в ТРМ133М, там KP = 0,1; TN = 100; TV = 15.

  7. #117
    Пользователь
    Регистрация
    03.03.2008
    Адрес
    Новосибирск
    Сообщений
    238

    По умолчанию

    Цитата Сообщение от Aleksey Belokon Посмотреть сообщение
    Добрый день! Понимаю избитую тему но прочитав все что есть на форуме, по теме ПИД, ответы не нашел. Использую PID регулятор из библиотеки UTIL.lib. Электро калорифер в приточной системе. В результате экспериментов с параметрами (пальцем в небо) выставил значения следующие KP = 1; TN = 100; TV = 0.
    При попытке увеличить TV (ставил от 5 до 50) картина одна и та же резко начинает расти Y и температура аж до 50+ градусов в притоке, держит 99% немного прыгая уменьшится на процент и опять вернется. Ну дальше конечно нервы не выдерживали, приходилось гасить, а то так и до повреждений недалеко. Почему-то не уменьшает проценты когда температура становится выше уставки.

    При выбранных же значениях колебания равномерные идут где-то 5 градусов, в процентах где-то 10%. Хотелось бы стабилизировать колебания и понять работу ПИД регулятора.

    Если у кого есть рекомендации по литературе теоретическая часть ПИД (только не надо библиотеку скидывать, время тоже ограниченно) действительно стоящей. Ну и вопрос может есть какой алгоритм подбора коэффициентов вручную.

    Цифры применял по аналогии с заводскими заданиями в ТРМ133М, там KP = 0,1; TN = 100; TV = 15.
    Я пользуюсь именно этим регулятором. Ставлю такие коэффициенты: KP:=5; TN:=120; TV:=0; Всё прекрасно работает.

    Выложите кусочек вызова ФБ

  8. #118
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,674

    По умолчанию

    Не помню было это на форуме или нет...

    (*================================================ ===========*)
    Сказка про ПИД-регулятор

    Cадитесь поудобнее и слушайте... Давным давно, в позапрошлом веке или в позапрошлом тысячелетии или ещё ранее, то уже сейчас точно неведомо, в Англии или в России или в Греции или в Тридесятом царстве, были предприняты первые попытки реализовать саморегулирующиеся системы. Однако получалось это не всегда, ни с того ни сего, арыки выходили из берегов не донося до садов живительную влагу, то паровые машины шли вразнос, губя создателей своих без вины, а то количество чиновников молниеносно увеличивалось на фоне стремительного обнищания народа. Много мудрых мудрецов думали, как бы делу помочь, как одолеть стихию непонятную? Звездочеты думали-думали, ничего путного не придумали. Физики с математиками думали-думали, несколько матмоделей придумали только и всего. А естествоиспытатели с алхимиками взяли и придумали PID-регулятор. Приладили его к чему-то, историки не успели записать к чему, посмотрели - хороша вещица. И давай с тех пор втыкать его куда ни попадя. Однако вот незадача - двенадцать раз втыкнут, ну всё хорошо, а на тринадцатый не подходит хоть ты тресни! Уж и сенсоры заморские ставили, актюаторы аглицкие врезали - ничего не помогает. Стали кликать математиков на помощь. Математики они хоть и бывают злыми иногда, и память у них хорошая, но всё ж народ незлопамятный - пришли. Посмотрели математики на PID регулятор - ересь да и только! Но делу то надо помочь... Кому пятилетку за три года надо делать, а у кому тред-юнион покоя не даёт. Вообщем согласились математики с алхимиками - будем для вас критерии сочинять. Правда последние уж не алхимиками звались, а называли себя гордо Инженерами по Автоматизации - с насиженных мест их химики к тому времени полностью вытурили. Сочиняли критерии Найквист и Вайттекер, Вышнеградский и Михайлов, и еще много-много других мудрецов. Сочиняли затейливо и красиво. То ажурну загагулину на кресте нарисуют, то кружочки с крестиками, а то и просто плюсики да минусики вряд. Как ни стараются математики - доходит до Инженеров по Автоматизации неважно. И тогда снизошло на Николса-Циглера прозрение - если по Сеньке и шапка, то каков регулятор такие и настройки его. И не надо людям голову морочить вовсе! Взял он и: 1. на работающем PID регуляторе, в относительно установившемся режиме, отключил D и уменьшил, на сколько это возможно, влияние I соответствующим образом изменив Ti (Внимание! некоторые контролеры имеют нетрадиционную ориентацию Ti, а некоторые, особо впечатлительные контроллеры от Ti=0 могут впасть в кому. Поэтому, ничего не обобщая, советую, прежде чем что-то предпринимать, обратится к документации на конкретный контролер и думать мозгами.). 2. потом стал Николс-Циглер увеличиваль, постепенно, с шагом около 10 % оставшийся коэффициент - Р, до возникновения автоколебаний в контуре - записал "Ко". 3. Записал величину периода этих колебаний - "То". 4. Недолго подумав решил что: для PI K = Ko * 0.45 Ti = To / 1.2 для PID K = Ko * 0.6 Ti = To / 2 Td = To / 8 5. Но видно очень не долго думал Николс-Циглер, перерегулирование аж до 40%! Тогда поправил его Тирес-Любен: K = Ko / 3.22 Ti = To * 2.2 , а Td добавлять по вкусу. С той поры Инженеры по Автоматизации вроде как посвящённые стали, много ещё чего понапридумывали и линеаризацию и декуплинг и всякие поправки для объектов без самовыравнивания, а тринадцатый регулятор всё равно не в дугу...
    (*================================================ ===============================================*)
    Может поможет...
    Там еще 2 ПИДа - один фикс цикл - его вызывать надо с периодом (1 раз в секунду) , другой во входном параметре имеет период пересчета коэффициентов в мс.
    Последний раз редактировалось Sergey666; 28.11.2013 в 09:27.

  9. #119
    Пользователь
    Регистрация
    27.08.2011
    Адрес
    Курган
    Сообщений
    212

    По умолчанию

    Цитата Сообщение от Алексей Дмитриев Посмотреть сообщение
    Прошло уже много лет, а тема до сих пор актуальна! Боролся и я в свое время с библиотечными творениями, но закончилось это написанием простого функционального блока, который устраивает в 99% случаев.
    Вот код:

    FUNCTION_BLOCK PID_REG
    VAR_INPUT
    EN:BOOL; (*Включить регулятор*)
    SETP: REAL ; (*Уставка*)
    FEED: REAL ; (*Обратная связь*)
    MAN_IN: REAL; (*Выход в ручном режиме*)
    KP: REAL ; (*Коэффициент усиления*)
    KI: REAL ; (*Коэффициент усиления интегрального звена*)
    KD: REAL; (*Коэффициент усиления дифференциального звена*)
    MAX_V: REAL; (*Максимум выхода*)
    MIN_V: REAL; (*Минимум выхода*)
    RES: BOOL; (*Сброс регулятора*)
    MAN: BOOL; (*Ручной режим*)
    CLOCK: DINT; (*Текущее время*)
    END_VAR
    (*Вход CLOCK - часы, постоянно инкрементируемое двойное слово. Частота может быть любой.
    Это зависит от того с какой точностью необходимо обрабатывать временные интервалы.*)

    VAR_OUTPUT
    END:BOOL; (*Регулятор включен*)
    LMN: REAL ; (*Выход регулятора*)
    END_VAR

    VAR
    E_N,E_N1,E_N2,U_N0,U_N1: REAL;
    DELTA_T,KI_DISCR,KD_DISCR: REAL;
    ST0,ST1: DINT;
    END_VAR

    (*Собственно код*)

    IF EN THEN (*Если включено, то ПОЕХАЛИ!*)
    (*Посчитаем отклонения во все моменты времени*)
    E_N2:=E_N1;
    E_N1:=E_N;
    E_N:=SETP-FEED;
    ST1:=ST0;
    ST0:=CLOCK;
    DELTA_T:=DINT_TO_REAL(ST0-ST1)/10.0; (*Временной интервал X Сек. Часы на входе с дискретностью X/10 Сек*)
    (*А теперь с коэффициентами*)
    KI_DISCR:=KI*DELTA_T;
    KD_DISCR:=KD/DELTA_T;
    (*Собственно - выход, то есть сумма интегрального и дифференциального звена*)
    U_N0:=U_N1+KI_DISCR*E_N+KD_DISCR*(E_N-2*E_N1+E_N2);
    IF KI>0 THEN
    IF KP*E_N+U_N0>MAX_V THEN (*Проверка максимума*)
    U_N0:=MAX_V-KP*E_N;
    END_IF;
    IF KP*E_N+U_N0<MIN_V THEN (*Проверка минимума*)
    U_N0:=MIN_V-KP*E_N;
    END_IF;
    ELSE U_N0:=0;
    END_IF;
    IF RES=TRUE THEN (*Сброс, однако*)
    U_N0:=0;
    END_IF;
    IF MAN=TRUE THEN (*Ручной режим*)
    U_N0:=MAN_IN-KP*E_N;
    END_IF;
    U_N1:=U_N0;
    LMN:=KP*E_N+U_N0; (*Добрались, таки до выхода*)
    END:=TRUE; (*Все посчитано*)
    ELSE
    END:=FALSE; (*Регулятор отключен, дальше тоже ничего не выполняется*)
    LMN:=0; (*Выход, на всякий случай обнулим*)
    END_IF;

    Пробуйте, видоизменяйте как душе угодно!
    А на каком языке это написано? Можете выложить готовый блок? И при повторении выдаёт ошибку
    Изображения Изображения
    • Тип файла: jpg пид.jpg (172.5 Кб, Просмотров: 277)
    Последний раз редактировалось kukla100; 20.04.2014 в 18:19.

  10. #120
    Пользователь
    Регистрация
    10.09.2012
    Адрес
    Кемерово
    Сообщений
    93

    По умолчанию

    Это ST. Выложите файл, посмотрим.

Страница 12 из 51 ПерваяПервая ... 2101112131422 ... ПоследняяПоследняя

Похожие темы

  1. регулятор
    от Egor в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 23.02.2011, 10:58
  2. пид регулятор плк 150 и.м.
    от mihan-987654321 в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 23.09.2010, 12:17
  3. пид регулятор с шим в 110-60
    от AKHolod в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 07.07.2010, 14:19
  4. ПИД-регулятор
    от trunf в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 14.11.2008, 23:17
  5. ПИД регулятор
    от Александр М в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 22.10.2007, 08:47

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •