|
SMConstructor (вентиляция) Вопросы о работе Конструктора (Вентиляция и кондиционирование) |
|
Опции темы | Поиск в этой теме |
28.08.2013, 01:27 | #1 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Римэйк Seq(t) и myPID
В свете http://forum.segnetics.com/showthread.php?t=684 и http://forum.segnetics.com/showthread.php?t=1224, с целью экономии времени при разработке проектов, сделана доработка конструкторского секвенсера.
1. Коэффициенты меняются на лету, без необходимости останавливать установку. 2. ПИД-регулятор доработан для выдачи управляющего сигнала в "формате" Дайкина, в соответствии с дайкинскими рекомендациями. В связи с этим в ПИД-е и Секвенсере появились новые входы: bool Дайкин - единица разрешает использование дайкинского блока bool Ступень Дайкин - единица включает использование дайкинского блока. Единица подается на этот вход тогда, когда работает та ступень нагрева/охлаждения, на которой живет этот Дайкин. При этом соответствующий выход секвенсера выдает управляющий сигнал в нужном виде. real Дельта мах - максимальное отклонение текущей температуры от уставки, определяющее максимальный сдвиг производительности Дайкина. При остсутствии единиц на обоих булевых входах, ПИД работает штатно. По Дайкину: 5в - работаем на текущей производительности, 5-0в - уменьшение производительности, 5-10в увеличение производительности. При этом ΔU - линейная функция от ΔТmax, которую дайкин рекомендует задавать в пределах 1-5 °С В остальном секвенсер и ПИД работают БЕЗ ИЗМЕНЕНИЙ 3. Переделанные Seq(t) и myPID предназначены только для замены конструкторских в сгенерированных проектах. Использовать на свой страх и риск . 4. Не просить дать "открытые" макросы, т.к. это противоречит политике партии, будем уважать мнение разработчика. Последний раз редактировалось ViS, 28.08.2013 в 01:37 |
28.08.2013, 06:56 | #2 |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Относится это только к возможности сменить коэффициенты в секвенсере или еще и к отсуствию скачка на выходе при смене коэффициентов для активного в данный момент ПИД? Если только первое, то больше вреда, чем пользы. Смена коэффициентов будет приводить к скачку на выходе, что равнозначно внесению возмущения по выходу. Это не есть хорошо.
|
28.08.2013, 12:14 | #3 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
28.08.2013, 12:33 | #4 |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Это ни чего не меняет. Даже если будет прыгать только при изменении P-составляющей, это уже не хорошо. Применеие регулятора в составе секвенсера может спровоцировать включение следующей/предыдущей ступени. При каком изменении P-составляющей произойдет переключение ступеней будет зависеть от текщего состояния выхода регулятора и значения рассогласования на входе. Слишком много неизвестных.
|
28.08.2013, 13:10 | #5 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
28.08.2013, 13:12 | #6 | |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
И вообще, предполагается, что этот римейк будут использовать только те, кто делает проект для себя, то есть сам же и налаживать/пускать в работу будет. Для проектов на "сторону" лучше оставить все родное от Сегнетикса Моя (подчеркну - МОЯ) практика показала, что со сменой коэффициентов на лету у меня уходит на порядок меньше времени на наладку системы. P.S. Арсений, на какую почту написать? |
|
28.08.2013, 13:29 | #7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.08.2013, 13:38 | #8 | ||
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
(910/10)*11=1001 даже при нулевом значении рассогласования на входе. Цитата:
|
||
28.08.2013, 13:49 | #9 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
Другое дело, что при ненулевом рассогласовании пересчёт будет выполнен некоррректно. Отмечу особенно: пересчёт будет выполнен правильно в математическом смысле, но некорректно в смысле САР. Для корректного пересчёта я в принципе понимаю, что нужно делать, возможно это и будет сделано в версии 2.0 Конструктора, которая уйдёт от поддержки контроллеров SMH2010 и Pixel-12. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
28.08.2013, 14:00 | #10 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Согласен, но в таком состоянии установки и при смене коэффициентов не на лету у вас после перезапуска установки регулятор улетит на следующую ступень и надо что-то придумывать для удержания системы на нужной ступени, которую мы сейчас настраиваем теми коэффициентами. Например уставку занизить/завысить и т.п. Если, допустим, мы настраиваем нагрев, сейчас зима, и старт системы с прогревом занимает 5-10 минут по методу запуска 2, то"возврат" в нужную ступень произойдет быстрее по штатной регулированию, чем перезапуск системы
|
28.08.2013, 14:14 | #11 |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
|
28.08.2013, 14:21 | #12 | ||
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
По входам он совместим с конструкторским. И опять же Цитата:
|
||
28.08.2013, 14:21 | #13 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
|
28.08.2013, 14:30 | #14 | |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
Спорить о применяемых решениях реализации ПИД-регулятора, выясняя их недостатки и преимущества, в рамах данной темы не стоит. |
|
28.08.2013, 15:37 | #15 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
Вы правы только в одном - лично мне это не мешает. Да мне, в принципе, и скачок тоже не мешает при смене коэффициентов. Опыт накоплен достаточный, чтобы попасть в примерно нужные коэффициенты с первой попытки. А смена П на пару единиц и И на десяток не так уж и сильно дёргает регулятор. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
28.08.2013, 16:16 | #16 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Особенно если вспомнить о том, что меняются они в процессе НАЛАДКИ, когда система как раз не "устаканена", и когда целенаправленно вводятся возмущения, что б отследить реакцию. На отлаженной работающей системе никто эти коэффициенты менять не будет, и, соответственно, никаких возмущений и возможных "перескоков" ступеней от пересчета в ПИД-е нам не грозит.
|
28.08.2013, 21:35 | #17 |
Senior Member
Регистрация: Aug 2010
Сообщения: 718
Благодарил(а): 1 раз(а)
Поблагодарили:
15 раз(а) в 12 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
По рекомендации Арсения "my_PID v6" заменен на "my_PID v7", более подходящий для смены коэффициентов на лету
|
29.08.2013, 07:41 | #18 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
Если посмотреть стандартную формулу ПИД регулятора, то она сводится к следующему виду: Y(n)=P*f1(X(0).....X(n),I,D), где Y(n) - значение выхода ПИД регулятора в момент времени n Р - коэффициент усиления ПИД регулятора X(n) - значение рассогласования в момент времени n f1(X(0).....X(n),I,D) - некая функция, зависящая от ингрального, дифференциального коэффициента и значения рассогласования во все моменты времени от начала регулирования. Именно в ней и сидит накопленная интегральная составляющая. В моем варианте та же формула ПИД сводится к следующему виду: Y(n)=Y(n-1)+f2(X(n),X(n-1),X(n-2),P(n),I(n),D(n)), где Y(n) - значение выхода ПИД регулятора в момент времени n Р(n),I(n),D(n) - коэффициенты ПИД регулятора в момент времени n f2(X(n),X(n-1),X(n-2),P(n),I(n),D(n)) - функция, вычисляющая приращение выхода регулятора в момент времени n. Накопленный интеграл (и не только) сидит в Y(n-1) и ни как не зависит от смены коэффициентов или рассогласования в момент времени n. Повторю еще раз. Оба варианта исходят из одной и той же формулы ПИД регулятора. Просто математика разная. Отсуда и разница в поведении регуляторов. |
|
29.08.2013, 11:38 | #19 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
Т.е., грубо говоря, при е=1, П=10, И()=10 состояние У в какой-то момент времени н математически недерминировано. Оно зависит от И()н-1 и ен-1. Детерминированность можно обеспечить лишь заглянув на м-ное число шагов назад. На глазок, м численно равна 2-3 значениям И. Может чуть больше. А через сброс мы конечно же получаем некий слепок текущего состояния, но совершенно теряем динамику процесса, т.е. каким образом мы "подошли" или "подлетели" к моменту смены коэффициентов. То, что я описываю, пройдено мною в водяном калорифере ещё несколько лет назад Так всё хорошо работало в теории, но так всё плохо показало себя на практике __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
29.08.2013, 12:35 | #20 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Римэйк Seq(t) и myPID
Цитата:
|
|