Программирование 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
- Откройте Desigo RAS
- Выберите ваш проект → найдите контроллер в списке
- Перейдите: → Hardware Configuration → Analog Inputs → AI1
- Установите:
- Input Type:
NTC 10k(если у вас NTC) - Measuring Range:
-30...70 °C(стандартный диапазон) - Filter Time:
5 сек(сглаживает резкие скачки)
- Input Type:
✅ После этого в интерфейсе вы увидите значение температуры, например: 21.8 °C
🔍 Если показывает---илиError— проверьте полярность и целостность провода.
4. Подключение электропривода к AO1
Шаг 1: Физическое подключение
Найдите клеммы AO1 (аналоговый выход).
| Клемма | Подключить к |
|---|---|
| AO1 | Управляющий вход привода (часто обозначен как U, I или Control) |
| COM | Общий контакт привода |
📌 Пример: привод Siemens SQX62 принимает сигнал 0–10 В. При 0 В — клапан закрыт, при 10 В — полностью открыт.
Шаг 2: Настройка типа выхода в RAS
- В RAS перейдите: → Hardware Configuration → Analog Outputs → AO1
- Установите:
- Output Type:
Voltage (0–10 V) - Min Output Signal:
0.0 V - Max Output Signal:
10.0 V - Fail-Safe Mode:
0.0 %(при потере связи — закрыть клапан)
- Output Type:
✅ После настройки можно вручную подать сигнал (например, 50%) и убедиться, что привод реагирует.
5. Создание PID-регулятора в RAS
Шаг 1: Добавление блока PID
- Перейдите в Application Tree → выберите контроллер
- Нажмите + Add Function Block
- Найдите: PID Controller → добавьте его
- Назовите: например,
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 сек |
Снижает колебания |
Пошаговая настройка:
- Выключите I и D: установите
Ki = 0,Kd = 0 - Проверьте реакцию: увеличьте Kp до 3.0 → система должна начать колебаться
- Уменьшите Kp: установите
Kp = 2.0(на 30% меньше) - Добавьте I: начните с
Ti = 120, наблюдайте — если долго выходит на режим — уменьшите Ti - Добавьте D (опционально):
Td = 30— помогает сгладить переход
📊 Лучше всего наблюдать за процессом через Runtime Monitoring в RAS.
7. Проверка работы: пошаговый тест
Тест 1: Плавное изменение setpoint
- Увеличьте SP с 22°C до 25°C
- Наблюдайте:
- Температура должна расти плавно
- Выход (AO1) — плавно увеличиваться
- Не должно быть «рывков» или колебаний
Тест 2: Реакция на возмущение
- Откройте окно (в помещении)
- Наблюдайте:
- Температура упала
- PID увеличил выход
- Температура восстановилась
Тест 3: Аварийная ситуация
- Отключите датчик
- Убедитесь, что:
- Контроллер показывает
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 может даже новичок, если следовать шагам:
- Подключите датчик к AI и настройте его тип
- Подключите привод к AO и выберите тип сигнала
- Создайте PID-блок в RAS
- Привяжите PV, SP, Output
- Настройте Kp, Ti, Td методом проб и ошибок
- Протестируйте реакцию на изменения
Правильно настроенный регулятор обеспечит комфорт, экономию энергии и долгую работу оборудования.
