Как уже писал, сначала это не привязано к железу, как сделаю основу только тогда произведу привязку в данном примере к ПЛК 63, хотя я уже выкладывал проекты на 100 и 110. Здесь просто цель создать руководство типа how-to. Наверно, но не точно, я еще фотки этого щитка выложу.
Итак продолжение....
ШАГ 1 — инициализация, обработка сигналов
ШАГ 2 Два варианта вычисления погодозависимого графика
Итак, второй шаг для создания погодозависимого регулирования можно описать как два варианта подхода к построению графика отопления. Отдельно надо отметить режим управления включение и отключением насоса отопления. В случаях аварийных ситуаций, в данной электрическое схеме предусмотрено безусловное включение насоса (для защиты от замерзания, а так же в случае отключения контроллера, например для ручного управления). Сейчас большинство значений указываются как константы, для того чтобы можно было сразу проверить функциональность, на шестом шаге большинство из них будет уже привязано к дисплею или другим параметрам получаемых например по RS485.
Самый простой способ вычисления это прямая, однако у нее есть пара недостатков, это отсутствие излома при -10 градусах, так же сложность коррекции к характеристике здания для получения максимально экономичного режима. Эти недостатки можно устранить используя коррекцию по температуре помещения (этот пример будет рассмотрен вне данного изложения).
Для теплого пола, когда нет такой необходимости поддержания широкого температурного диапазона или не требуется такая точность, метод вполне годится. Поэтому используется модуль PogodaLinear. Этот модуль состоит из вычитающего элемента который определяет насколько температура наружнего воздуха ниже точки начала отсчета работы системы отопления, затем полученное значение умножается на «наклон». И далее прибавляется к минимальному значению температуры которое необходимо поддерживать в системе. И на выходе элемент LIMIT для приведения вычисленных значений в рабочий диапазон.
Для линейной аппроксимации графика лучше всего подходит элемент curve из библиотеки util. Но там он сделан только как тип int, поэтому я выцедил его и переделал в real. Для работы так же пришлось создать пользовательский тип переменной oGraf. При выполнении импорта CURVELINE сама функция и пользовательская переменная включены в файл.
Теперь надо выполнить инициализацию пользовательского массива, минимум для него это три точки — начало отопления, точка излома при -10 градусах и максимально низкая средняя температура декады, для Москвы -28. Я предпочитаю добавить еще две промежуточные точки — 0 градусов и -20. Таким образом для данного примера используется 5-ти точечный график аппроксимации. Диапазон возможного количества точек лежит от 2 до 11. На первом шаге надо проинициализировать массив графика, для облегчения реализации и из-за отсутствия контроля корректности вводимых значений часть промежуточных точек также введены как константы.
В итоге получили вычисленные температуры для контуров. Осталось включить насосы и привязать управление сервоприводом.
Дополнительный комментарий: Кому нравится вариант как сделано на ТРМ32 можно взять 2 точки и получите аналогичную реализацию. Массив объявлен на максимальное количество точек 11.
ШАГ 3 Работа с насосами (отопления, бойлера)
ШАГ 4 Работа с трехточечным сервоприводом отопления
ШАГ 5 Аварийные ситуации
ШАГ 6 Финальная сборка и привязка к ПЛК63
ШАГ 7 Отображение данных




Ответить с цитированием