article
Наполнение бака
Сценарий algo_tank.py набирает ёмкость по двум поплавкам: снизу включает насос (или клапан), сверху выключает. Перелив и слишком долгий набор — авария.
Возможности
- Нижний уровень — пора набирать. Верхний — бак полный, стоп. Гистерезис получается самой механикой поплавков, без аналогового уровня.
- Антидребезг 3 с. Короткое плескание не включает и не глушит насос.
- Авто. Питание «Авто»: при низком уровне пуск, идёт набор, пока не сработает верх. Пока насос уже крутит, низ может отпуститься — набор продолжается до верха.
- Набор вручную. Однократная команда: крутить, пока не верх (или авария). После верха команда сбрасывается.
- Перелив (третий контакт) — немедленный стоп, статус «Авария».
- Противоречие поплавков: низ и верх одновременно — стоп и авария (обрыв, перепутанные провода, залипший контакт).
- Таймаут набора в минутах: насос слишком долго не дошёл до верха (нет воды на входе, закрыта задвижка, дырявый бак).
- На экране статус (стоп / набор / полон / авария), секунды текущего набора, флаг низкого уровня. События пуска насоса и «бак полный».
Авто, ручной пуск и таймаут — с Управления.
Сферы применения
Одна ёмкость, насос или клапан набора, три сухих контакта — не АСУТП водоканала.
- расходный бак, запас воды для полива, мойки, котельной;
- дождевая или скважинная ёмкость с поплавками вместо дорогого уровнемера;
- промежуточный бак перед насосной (этот сценарий набирает, давление в сети — соседний
algo_pump.pyна втором контроллере или после доработки); - технологическая ёмкость с «долить до полного» по кнопке оператора.
Не закрывает: непрерывный уровень 4–20 мА / 0–10 В, два насоса с ротацией, учёт объёма, химические реагенты и ПАЗ.
Клеммы
| Клемма | Назначение |
|---|---|
| DO0 | насос или клапан набора |
| DI0 НО | низкий уровень (нужно набирать = замкнут) |
| DI1 НО | верхний уровень (полный = замкнут) |
| DI2 НО | перелив (авария = замкнут) |