Здрасте друзья. Рассудите, правильно ли я понял принцип накопления температурно-временного интеграла для автоматического подключения и отключения ступеней котла?
Вид для печати
Здрасте друзья. Рассудите, правильно ли я понял принцип накопления температурно-временного интеграла для автоматического подключения и отключения ступеней котла?
А здесь petera, выложил код функции задания уставки, по Т наружной Вложение 67644
Температуры можно подправить под себя
https://owen.ru/forum/showthread.php?t=35489&page=5
Чем этот файл открывается? Это для панели?
Если рассчитывается макросом, то просто скопируйте код сюда.
Вообще алгоритм можно сделать так: вызываете скажем раз в секунду функцию, которая прибавляет к текущему значению интеграла рассогласование между заданием и текущим значением температуры.
На время запуска/остановки котла можно приостанавливать расчет интеграла, а в нужных случаях - сбрасывать его значение в 0.
+- трамвайная остановка. Система очень инерциальна, временем цикла программы я пренебрег. Думаете есть смысл подвязать макрос расчета времени цикла?
Равно как и аварии задвижек, переключение ведущего котла, и прочее - этим займутся другие макросы, тут вопрос об интеграле.
Да без проблем, можно игнорировать. Но тогда это будет уже не интеграл, а просто какая-то функция во времени. И если будет работать,то и пофиг
В данной реализации макроса вы не сможете отслеживать аварии. По мне, макрос интеграла нужно реализовать по принципу + ступень/- ступень. И отдельно макрос управления котлами
Да, примерно так. Но мне тоже кажется, что лучше не жёстко привязываться к управлению конкретным котлом/ступенью, а выдавать команды на подключение/отключение ступеней для котлов, участвующих в каскаде (с обратной связью о результате выполнения команды)
По поводу времени цикла - в принципе, насколько я смотрел, это довольно стабильное значение, скачки редки и погрешность должна быть небольшая. Можно вообще использовать свой генератор тактовой частоты и обновлять интеграл только по его сигналу.
Так обратной связью в данном случае является температура на общем коллекторе. Если котёл/ступень запустились, то температура начнёт расти, накопление замедляется. На время подключения котла (продувка, розжиг) сделаю паузу, на подключение второй ступени - нет.
Разве его тактовая частота не будет зависеть от времени цикла?
В таком случае будут моменты, когда несколько котлов работают на 1 ступени? То есть в начале по порядку с первого запускаем котлы на 1 ступени, затем смотрим, если мало, то начинаем переводить на 2ю ступень так же начиная с 1 котла? У меня 2х ступенчатые горелки. Почему то мне кажется что это не очень правильно. Хотя данный вопрос оставлю открытым.
Если команда на запуск котла не отработана, то лучше узнать об этом сразу, а не ждать когда температура упадет дальше.
По идее, у BLINK, например - не должна. Вообще можно использовать переменную "Секунды" часов реального времени, чтобы получить секундные импульсы.
Ну тут разные можно стратегии придумать
Ну, не знаю, может я и не прав, но у меня ступени работают так: если не хватает температуры - включается 1 ступень, ждем 10 мин. Если опять не хватает, включается 2 ступень. И т.д. Как только температура достигла нормы, отключаются все ступени. Для отопления нормально. Потребители не жалуются (даже детские садики, а у них требования ого-го).
Это уже аварийная ситуация. К интегралу отношения не имеет. Он работает только с доступными в каскаде котлами. Макрос, что я выложил в начале, это всего лишь болванка для примера, там много чего планируется добавить. Его цель лишь пример расчета интеграла. Это малая часть от каскадного регулятора.
Повторюсь, выложил его на всеобщий суд для понимания правильности именно самого принципа. Это не готовый макрос включение выключения котлов/ступеней.
Ну понятно. То есть вы с интегралом не заморачивались, просто сравниваете текущую т с уставкой, если не дотягивает - пуск котла на малом, затем пауза на условные 10 минут, если по прежнему не дотягивает то большое горение. Как только до уставки дотянулись - стоп котла или переход на малое?
Ну это в пределах одного котла, по аналогии так же подключаете следующие если один на большом не справляется?
Подобные вопросы по каскадному регулированию много раз обсуждались на форуме, чем ПИД-регулятор не устраивает, там имеется и интегральная составляющая, в смысле, например имеется 5 котлов: при достижении выходной мощности ПИД-регулятора более 10% включается один котёл на малом горении, при достижении выходной мощности более 20% первый из включённых котлов переходит на большое горение, при достижении выходной мощности ПИД-регулятора более 30% к нему добавляется второй котёл, при достижении выходной мощности ПИД-регулятора более 40% второй включённый котёл переходит на большое горение и так далее, выключаются в обратном порядке! Короче, надеюсь смысл понятен: разделить диапазон выходной мощности ПИД-регулятора на количество ступеней регулирования, в случае аварии котлов ему на замену автоматом подключается резервный из числа готовых к работе, вот здесь обсуждали как это можно сделать: https://owen.ru/forum/showthread.php?t=36564
Могу добавить, что я использовал для включения-выключения ступеней двухпозиционный регулятор с гистерезисом!
А кто нибудь имеет опыт каскадного режима без гидравлического отсечения не запущенных котлов? Я склоняюсь к тому, что не запущенные котлы надо перекрывать
Посмотрите как реализовали регулирование/интегрирование в КТР: ссылка
Управление теплогенерацией «по возмущению» (пуск-остановка котла), «по возмущению и по отклонению»
Концепция: kotelna.tk
Черновик техописания: ТЕБА. ТО.doc (120 кБ)
Там в конце есть перечень настроечных параметров - он может пригодиться создателю подобного "теплоконтроллера".
Алгоритм пока не могу показать: это всё не проверено на практике. Могу лишь сказать, что там, конечно же, нет такого безобразия:
:)
Перекрывать резервные котлы - это обычно "просто так лучше": меньше теплопотери и иногда меньше расход электроэнергии на перекачивание.
Например, в тепловой схеме с одним насосом, подмесом и перепуском (потоком обратной воды мимо работающих котлов), которую я недавно просчитывал,
вышло так, что если перекрывать резервные котлы, то максимальная подача сетевого насоса будет 37,5 т/ч, а если не перекрывать, то 42,6 (на 14% выше).
То есть перекрывать резервные котлы необязательно. В любом случае потребуется перепуск теплоносителя:
...И если его не пускать через резервные котлы, то просто придётся увеличить расход в линии, специально для этого предназначенной.
Часто в контроллере каскадного управления разработчики реализуют такое регулирование, при котором количество запущенных котлов и температура воды на их выходах “гонятся” за требуемыми величинами. При этом обычно на выходе контроллера формируется, мягко говоря, неоптимальное задание. Об этом я написал на своём сайте:
Изготовители каскадных контроллеров, наверное, просто по наитию пришли к решению вводить в настройках эту разность в виде постоянной величины. Её называют “дифференциал”, “дельта”, “температура коррекции” и т.п. К сожалению, такое “регулирование по дельте” может привести к работе котлов с максимальной tвых, когда это вовсе не требуется, к запуску “лишних” котлов или к недопустимо низкой tвх котлов.
На следующей диаграмме показано, как это происходит. Чёрные линии - требуемая температура воды (минимальная рабочая) на выходах котлов:
чёрная сплошная линия - при работе трёх котлов,
штриховая линия "зуба" посередине - при работе двух котлов,
правый "зуб" - при работе одного котла.
Допустим, что наладчик выбрал “дельту” 25 градусов. Видно, что с такой величиной даже в начале отопительного сезона обеспечивается и минимально допустимая tвх котлов, и заданная температура прямой сетевой воды (правые концы красной линии и чёрной совпадают). Но, во-первых, достигается это путём запуска в работу всех трёх насос-котлов (по теплопроизводительности достаточно было бы одного). Во-вторых, при дальнейшем похолодании tвых котлов будет избыточно высока (см. среднюю область диаграммы).
Управление режимом теплогенерации
При работе котлов на сетевой водоподогреватель (при независимом присоединении теплосети) "зубья" линии требуемой температуры воды на их выходах обычно уменьшаются. Благодаря этому её можно довольно близко аппроксимировать двумя прямолинейными "кусками": наклонным и "горизонтальным".
Вы все хорошо написали, но все ваши изыскания хороши только в случае работы большой котельной, которой просто необходимо поддерживать постоянный температурный график, привязанный к уличной температуре. эффективность математики каскадника проявляется как раз на мелких котельных с сильно рваным графиком суточного теплопотребления