Зачем
Практика: пишем на ПЛК программу управления насосом с пуском, остановом и защитой от сухого хода. Уменьшенная копия реальной задачи на объекте.
Это практическое задание. Выполняется в бесплатном симуляторе (CODESYS или OpenPLC) либо полностью на бумаге, если железа и софта нет. Опирается на перечень сигналов и схему самоподхвата из предыдущих уроков.
Цель
Написать реальную (пусть и учебную) программу управления насосом — с режимом, защитой от сухого хода и выбегом — и убедиться, что защита действительно главнее любой другой логики.
Понадобится
Бесплатный симулятор ПЛК (CODESYS или OpenPLC Editor) — или лист бумаги, если ставить софт негде. Пригодится программа масштабирования из урока про Structured Text.
Практическое задание
Задача
Автоматизировать насос подкачки воды в напорный бак.
Сигналы (твой перечень из урока про ПЛК):
| Сигнал | Тип | Описание |
|---|---|---|
start_btn |
DI | кнопка ПУСК (выбор режима «авто») |
stop_btn |
DI | кнопка СТОП (нормально замкнута) |
dry_run |
DI | реле сухого хода (TRUE = вода в приёмнике есть) |
level_raw |
AI | датчик уровня в баке, 4–20 мА → 0…3 м |
pump |
DO | команда на пускатель насоса |
alarm |
DO | лампа «Авария» |
Требования к логике
- Режим «авто» включается кнопкой ПУСК (с самоподхватом), выключается СТОП.
- В режиме «авто» насос:
- включается, когда уровень в баке
< 0.5 м; - выключается, когда уровень
> 2.8 м(гистерезис, чтобы не дёргался).
- включается, когда уровень в баке
- Защита от сухого хода: если
dry_run = FALSE(нет воды в приёмнике) — немедленно выключить насос и поднятьalarm, независимо от уровня. - Выбег: после команды на выключение насос должен поработать ещё 10 секунд (используй TOF).
Шаг 1. Масштабирование
Переведи level_raw (0…32767) в level_m (0…3 м) на ST. Вспомни формулу из урока про ST.
Шаг 2. Логика режима и защиты
Напиши логику: самоподхват режима «авто», условие сухого хода (приоритет выше всего), управление насосом по уровню с гистерезисом. Можешь делать на ST целиком или скомбинировать LD (пуск/стоп) и ST (масштаб и уровни) — как удобнее.
Шаг 3. Выбег насоса
Заведи финальную команду на pump через таймер TOF с PT := T#10S, чтобы насос не вставал мгновенно.
Шаг 4. Проверка (если в симуляторе)
Прогони сценарии и отметь результат каждого:
- уровень падает ниже 0.5 м → насос включился?
- уровень дошёл до 2.8 м → выключился (с выбегом 10 с)?
- пропал сигнал
dry_run→ насос мгновенно встал, загорелась авария? - нажал СТОП → режим «авто» сбросился?
Что сдать
Запись в журнал: текст программы (ST и/или скриншот LD-ступенек), таблица со сценариями из шага 4 и их фактическим результатом, и формула масштабирования уровня, которую вывел в шаге 1.
Критерии самопроверки
Работа зачтена, если:
- защита от сухого хода главнее всей остальной логики (срабатывает всегда);
- насос не «дребезжит» у порогов благодаря гистерезису (0.5 и 2.8 м — разные пороги);
- после стопа насос крутится ровно 10 секунд и гаснет;
- ты можешь объяснить вслух каждую строчку своей программы.
Опасно
Защита от сухого хода — не «приятное дополнение», а спасение насоса: работа без воды перегревает и разрушает его за минуты. На реальном объекте такая защита обязательна. Убедись, что в твоей логике она перебивает даже команду «включить по уровню».
Сохрани программу и перечень сигналов — на их основе в разделе про SCADA ты сделаешь оператору мнемосхему этой насосной.
Отмечайте прогресс — заведите бесплатный аккаунт. Уже есть? Войти.