PID-регулятор

Программирование PID-регулятора температуры в Siemens Desigo PLC

  • Окт, 02, 2025
Программирование PID-регулятора температуры в Siemens Desigo PLC

Зачем нужен PID-регулятор?

В системах отопления и кондиционирования (HVAC) просто включать и выключать котёл или клапан — недостаточно. Это вызывает:

  • Резкие колебания температуры
  • Износ оборудования
  • Дискомфорт для людей

PID-регулятор решает эту проблему. Он плавно управляет исполнительным устройством (например, клапаном подачи тепла), чтобы температура оставалась стабильной.

1. Что такое PID: простыми словами

PID состоит из трёх частей:

Буква Назначение Пример
P (Пропорциональная) Чем больше разница между текущей и целевой температурой — тем сильнее реакция Как сильнее нажать на газ, если машина сильно отстала
I (Интегральная) Устраняет постоянную ошибку (например, если температура «зависает» на 21°C вместо 22°C) Постепенно добавляет мощность, пока цель не будет достигнута
D (Дифференциальная) Предсказывает будущее изменение и «тормозит» систему Не даёт перегреться, снижая мощность заранее
💡 Цель — плавный выход на заданную температуру без перерегулирования.

2. Подготовка оборудования

Что вам понадобится:

Компонент Пример / примечание
Контроллер Siemens Desigo PX-08A, PXC50, PXC.E
Датчик температуры NTC 10 кОм (обычный термистор) или PT1000
Исполнительное устройство Электропривод клапана (например, Siemens SQX62)
Программное обеспечение Desigo Room Application Suite (RAS)
Подключение к ПК USB-to-RS485 адаптер или Ethernet (для PXC.E)
🔌 Убедитесь, что контроллер подключён к питанию (24 В) и виден в сети.

3. Подключение датчика температуры к AI1

Шаг 1: Физическое подключение

На контроллере Desigo PXC есть клеммы аналоговых входов. Найдите AI1.

Клемма Подключить к
AI1 Сигнал от датчика (центральный провод)
GND Минус датчика (обычно чёрный провод)
📌 Пример: датчик NTC 10 кОм имеет два провода. Один — к AI1, другой — к GND.
⚠️ Не путайте AI (аналоговый вход) и DI (цифровой вход).

Шаг 2: Настройка типа датчика в RAS

  1. Откройте Desigo RAS
  2. Выберите ваш проект → найдите контроллер в списке
  3. Перейдите: → Hardware ConfigurationAnalog InputsAI1
  4. Установите:
    • Input Type: NTC 10k (если у вас NTC)
    • Measuring Range: -30...70 °C (стандартный диапазон)
    • Filter Time: 5 сек (сглаживает резкие скачки)
✅ После этого в интерфейсе вы увидите значение температуры, например: 21.8 °C
🔍 Если показывает --- или Error — проверьте полярность и целостность провода.

4. Подключение электропривода к AO1

Шаг 1: Физическое подключение

Найдите клеммы AO1 (аналоговый выход).

Клемма Подключить к
AO1 Управляющий вход привода (часто обозначен как U, I или Control)
COM Общий контакт привода
📌 Пример: привод Siemens SQX62 принимает сигнал 0–10 В. При 0 В — клапан закрыт, при 10 В — полностью открыт.

Шаг 2: Настройка типа выхода в RAS

  1. В RAS перейдите: → Hardware ConfigurationAnalog OutputsAO1
  2. Установите:
    • Output Type: Voltage (0–10 V)
    • Min Output Signal: 0.0 V
    • Max Output Signal: 10.0 V
    • Fail-Safe Mode: 0.0 % (при потере связи — закрыть клапан)
✅ После настройки можно вручную подать сигнал (например, 50%) и убедиться, что привод реагирует.

5. Создание PID-регулятора в RAS

Шаг 1: Добавление блока PID

  1. Перейдите в Application Tree → выберите контроллер
  2. Нажмите + Add Function Block
  3. Найдите: PID Controller → добавьте его
  4. Назовите: например, PID_Heating_Zone1

Шаг 2: Привязка входов и выходов

Теперь свяжем PID с реальными сигналами.

Параметр Что выбрать Где найти
PV (Process Variable) AI1_Value Это текущая температура с датчика
SP (Set Point) 22.0 Целевая температура (можно потом сделать переменной)
Output AO1_Command Управляющий сигнал на привод
Output Min 0.0 % Клапан закрыт
Output Max 100.0 % Клапан полностью открыт
🔧 Чтобы выбрать AI1_Value: кликните на поле PV → значок выбора → найдите AI1 в списке.

6. Настройка коэффициентов PID

Это самый важный этап. Вот практический метод настройки.

Начальные значения:

Параметр Значение Почему
Kp (Gain) 2.0 Даёт быструю реакцию
Ti (Integral Time) 120 сек Медленно устраняет ошибку
Td (Derivative Time) 30 сек Снижает колебания

Пошаговая настройка:

  1. Выключите I и D: установите Ki = 0, Kd = 0
  2. Проверьте реакцию: увеличьте Kp до 3.0 → система должна начать колебаться
  3. Уменьшите Kp: установите Kp = 2.0 (на 30% меньше)
  4. Добавьте I: начните с Ti = 120, наблюдайте — если долго выходит на режим — уменьшите Ti
  5. Добавьте D (опционально): Td = 30 — помогает сгладить переход
📊 Лучше всего наблюдать за процессом через Runtime Monitoring в RAS.

7. Проверка работы: пошаговый тест

Тест 1: Плавное изменение setpoint

  1. Увеличьте SP с 22°C до 25°C
  2. Наблюдайте:
    • Температура должна расти плавно
    • Выход (AO1) — плавно увеличиваться
    • Не должно быть «рывков» или колебаний

Тест 2: Реакция на возмущение

  1. Откройте окно (в помещении)
  2. Наблюдайте:
    • Температура упала
    • PID увеличил выход
    • Температура восстановилась

Тест 3: Аварийная ситуация

  1. Отключите датчик
  2. Убедитесь, что:
    • Контроллер показывает Sensor Fault
    • Выход установлен в 0 % (клапан закрыт)

8. Распространённые проблемы и как их исправить

Проблема Причина Как проверить
Нет сигнала с датчика Неправильный тип AI Проверьте: в RAS стоит NTC 10k, а не PT1000
Клапан не открывается Неправильный тип выхода Убедитесь, что AO1 настроен на 0–10 V, а не PWM
Температура колеблется Слишком высокий Kp Уменьшите Kp до 1.5
Не достигает цели Слабый нагрев или утечка Проверьте максимальный выход — должен быть 100%
Выход скачет Плохой контакт или помехи Проверьте экранирование кабеля, замените датчик

9. Безопасность: что обязательно добавить

Добавьте в программу защиту:

// Проверка датчика
IF Temperature > 50 OR Temperature < -20 THEN
    Trigger_Alarm("Temperature Sensor Fault");
    AO1_Command := 0.0; // Закрыть клапан
END_IF;

// Защита от замерзания
IF Outdoor_Temperature < 0 AND Heating_On THEN
    SetPoint := MAX(SetPoint, 15.0); // Минимум 15°C
END_IF;

10. Заключение

Настроить PID-регулятор в Siemens Desigo PLC может даже новичок, если следовать шагам:

  1. Подключите датчик к AI и настройте его тип
  2. Подключите привод к AO и выберите тип сигнала
  3. Создайте PID-блок в RAS
  4. Привяжите PV, SP, Output
  5. Настройте Kp, Ti, Td методом проб и ошибок
  6. Протестируйте реакцию на изменения

Правильно настроенный регулятор обеспечит комфорт, экономию энергии и долгую работу оборудования.