Практика: программа управления насосом

Зачем

Практика: пишем на ПЛК программу управления насосом с пуском, остановом и защитой от сухого хода. Уменьшенная копия реальной задачи на объекте.

Предложить правку

Это практическое задание. Выполняется в бесплатном симуляторе (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 лампа «Авария»

Требования к логике

  1. Режим «авто» включается кнопкой ПУСК (с самоподхватом), выключается СТОП.
  2. В режиме «авто» насос:
    • включается, когда уровень в баке < 0.5 м;
    • выключается, когда уровень > 2.8 м (гистерезис, чтобы не дёргался).
  3. Защита от сухого хода: если dry_run = FALSE (нет воды в приёмнике) — немедленно выключить насос и поднять alarm, независимо от уровня.
  4. Выбег: после команды на выключение насос должен поработать ещё 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 ты сделаешь оператору мнемосхему этой насосной.

Предложить правку

Поддержи проект!

IndustrialProfi пока разрабатывается на энтузиазме силами одного человека. Помоги создать лучшую открытую энциклопедию для востребованных и полезных профессий. Спасибо за участие!