|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
26.06.2021, 11:08 | #1 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
"Зависание" VectorPID
Доброго дня!
Давно забываю задать один вопрос. Частенько в последнее время использую ваш макрос VectorPID для управления регулирующими клапанами с управлением "открыть/закрыть". Работает хорошо. Но порой возникают неприятные ситуации. Если регулятор долго (а это порой и несколько суток) стоял в крайнем положении (чаще всего это происходило так - сантехник открывал байпас вокруг 3-х ходового и температура была выше уставки, поэтому клапан полностью закрывался), то при возвращении системы в нормальный режим клапан так и не начинал открываться. Ну или терпения не хватало у обслуживающего персонала, не знаю, но температура падала на десятки градусов а клапан не реагировал. Выкл/вкл регулятора перезапускало ПИД и он начинал работать корректно. Сейчас вот корректирую одну свою программу и прикрутил к макросу принудительный "выкл/вкл" регулятора 2 раза в сутки... но это наверное костыль. Есть другие варианты как с этим бороться? МОжет при большой дельте тоже делать принудительный выкл/вкл? |
28.06.2021, 00:34 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Зависание" VectorPID
Цитата:
Вариант перезапуска при большой отрицательной (относительно входа в ограничение) дельте вполне приемлем. Его разновидность используется в последних версиях Конструктора HVAC и я планировал этот опыт перенести на все регуляторы. Но это тоже не самое лучшее решение: в сильно зашумленной обстановке и больших П и Д можно усугубить ситуацию. Перезапуск регулятора безопасен только на СО. При работе с ГВС можно напортачить с регулированием. Однако вы можете внести в перезапускатель счётчик и если последний импульс от регулятора был условно час назад, а дельта при этом большая - перезапускаться. Сам метод плох износом приводов, защита которых построена на ограничении момента - это все штоковые и часть поворотных. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
Благодарность от: |
04.07.2021, 13:04 | #3 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Зависание" VectorPID
Цитата:
|
|
04.07.2021, 14:26 | #4 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 180
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: "Зависание" VectorPID
я не разбирался с векторным из конструктора, но в обычном конструкторском проблема в том, что у него нет нормировки по интегральной части, из-за этого невозможно засечь момент когда интеграл оказывается переполнен и невозможно ограничить это самое переполнение кроме как по общему выходу.
и потому легко создаётся ситуация, когда выход уже ограничен, а интеграл продолжает потихоньку накапливаться и потому улетает в голубую даль откуда его только ресетом и можно вернуть. |
05.07.2021, 09:26 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Зависание" VectorPID
Нет, ограничение выхода без ограничения интеграла технически невозможно. Это один и тот же сигнал внутри регулятора.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
05.07.2021, 12:01 | #6 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 180
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: "Зависание" VectorPID
у вас так и сделано, интеграл ограничивается, вернее в нём отключается накопление, только при переполнении всей суммы полного сигнала, а пределы самого интеграла никак не контролируются, потому что нет нормировки и при различных коэффициентах максимальная величина интеграла будет каждый раз иная.
|
05.07.2021, 12:06 | #7 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Зависание" VectorPID
Цитата:
В Конструкторе HVAC в секвенсоре это было учтено с самого начала. Добавлено через 14 секунд Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
05.07.2021, 13:53 | #8 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 180
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: "Зависание" VectorPID
Цитата:
а был бы отдельный ограничитель - такого бы не случалось |
|
06.07.2021, 08:43 | #9 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Зависание" VectorPID
|
06.07.2021, 11:03 | #10 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Зависание" VectorPID
У него два интегральных звена. "I" - это первичное. "Время хода" - это вторичное.
Строго говоря, это не PID, это PI2D. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
06.07.2021, 13:18 | #11 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Зависание" VectorPID
Ну т.е. при использовании этого регулятора для управления клапаном отопления можно (и нужно) задавать I=0 (при этом время хода, естественно, будет не нулевое)? Или нет?
|
06.07.2021, 13:19 | #12 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 191
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: "Зависание" VectorPID
Да.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
06.07.2021, 13:43 | #13 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: "Зависание" VectorPID
|