ББК: залізо й прив'язки — без чого сценарій не стартує
Написано для прошивки 0.2.93 · порталу 0.0.176Можливо, застаріло: поточна прошивка 0.2.127, поточний портал 0.0.182
Сценарій ББК складається з шести скриптів, і в кожного свій список ролей. Пропущена одна прив'язка коштує не «трохи гірше», а годину прогріву впусту або зупинку на першій же кнопці: без барометра не стартує ABV, а без ABV сценарій відмовляється йти далі «Перевірки колони». Тут — повна карта: що прив'язати обов'язково, що можна пропустити і що ви втрачаєте, коли пропускаєте.
Ролі прив'язуються у налаштуваннях кожного скрипта окремо (вкладка «Периферія»), а скрипти один до одного — у вкладці «Скрипти» сценарію чи скрипта-композиції. Прив'язки зберігаються за іменем ролі, тож перестановка периферії їх не ламає.
Карта ролей#
Назви ролей — як у прошивці. «Обов'язкова» означає: без неї скрипт не запуститься, а разом із ним не стартує й сценарій.
Сценарій «ББК»#
| Роль | Обов'язкова | Навіщо |
|---|---|---|
| Температура верху колони | так | За нею прогрів і стабілізація. Показ поза −30…130 °C — аварія |
| Температура в попугаї | так | Показ і умова «Безпеки» «перегрів продукту» |
| Подача браги | так | Помпа браги: ШІМ-вихід або клапан, сценарій веде його у % |
| Температура низу колони | ні | Лише показ |
| Температура води з конденсатора | ні | Лише показ; регулювання за нею немає |
| Витрата браги на теплообмінник | ні | Вмикає захист «витрата надто мала»: кінець браги → штатне завершення, забитий фільтр → аварія |
| Скрипт-учасник | Обов'язковий | Без нього |
|---|---|---|
| Парогенератор | так | Аварія «Парогенератор не прив'язано» на «Готово» |
| Розрахунок ABV | так | Аварія «Немає ABV» ще на старті |
| Охолодження | ні | Воду на конденсатор відкриваєте вручну — сценарій гріє незалежно |
«Парогенератор»#
Власної периферії не має — це композиція з двох скриптів.
| Учасник | Обов'язковий | Без нього |
|---|---|---|
| Тиск пари | так | Аварія «Тиск пари не прив'язано» |
| Рівень води | ні | Налив і захист від сухого ходу не ведуться; нагрів дозволено одразу. Годиться лише для бака, який ви наповнюєте руками й стежите самі |
«Рівень води»#
| Роль | Обов'язкова | Навіщо |
|---|---|---|
| Налив бака | так | Клапан наливу |
| Рівень — низ / середина / верх | залежить від пари в параметрах | Скрипт працює парою «вимикати на датчику» / «вмикати на датчику»; обрані датчики мають бути прив'язані, інакше — «Помилка: відсутній обов'язковий датчик». Решта прив'язаних лише контролюють узгодженість |
| Злив бака | ні | Команда «злити» від сценаріїв, які її мають; ББК не використовує |
«Тиск пари»#
| Роль | Обов'язкова | Навіщо |
|---|---|---|
| Керування нагрівом (скрипт) або Нагрів (вихід) | одне з двох | Чим гріти. Штатно — скрипт; прямий вихід лише для гранично простої збірки |
| Тиск — робочий датчик | ні | Контакт манометра «тиск досягнуто» |
| Тиск — аварійний датчик | ні | Контакт манометра «надтиск» → аварія «Надтиск пари» |
| Тиск | ні | Аналоговий датчик: досягнуто за «Цільовим тиском» з гістерезисом |
| Температура | ні | Замість датчика тиску: вище «Температури кипіння» пара вважається наявною |
Без жодного датчика тиску скрипт попереджає в журналі й просто гріє на вимозі — «досягнуто» не буває ніколи. Для ББК це нормальний режим, якщо парогенератор відкритий і тиск тримає сама колона.
«Керування нагрівом»#
| Роль | Обов'язкова | Навіщо |
|---|---|---|
| ТЕН банк 1, елемент 1 | так | Мінімальна збірка. У налаштуваннях самого ТЕНа має бути задана потужність у ватах — з нулем скрипт зупиниться аварією «немає потужності головного ТЕНа» |
| ТЕН банк 1–4, елементи 2–3 | ні | До 12 елементів; релейні вмикаються від більшого до меншого, ШІМ-елементи догодовують решту |
«Розрахунок ABV»#
| Роль | Обов'язкова | Навіщо |
|---|---|---|
| Температура пари | так | Для ББК — той самий термометр верху колони |
| Тиск у колоні | так | Надлишковий тиск у колоні |
| Атмосферний тиск | так | Барометр. Без нього скрипт не стартує, і ББК зупиняється з «ABV не стартував» |
| Температура куба | ні | Залишок спирту в барді — окремий показник |
«Охолодження»#
Усі ролі опційні, працює те, що прив'язано: Подача контуру (клапан), Помпа контуру, Температура контуру, Злив контуру, Витрата контуру. Штатно для ББК — лише клапан подачі води на конденсатор.
Порядок перевірок: що зупинить сценарій і коли#
Сценарій не чекає, доки проблема проявиться, — він перевіряє конфігурацію одразу.
На старті (до будь-якої кнопки):
- Параметри прогріву задані: цільова температура, максимальна й робоча потужність, таймаут — усі більше нуля → інакше «Не налаштовано прогрів».
- Прив'язано скрипт ABV → інакше «Немає ABV».
- Помпа: максимум більше нуля й не менший за мінімум, період регулювання більше нуля → інакше «Помпа не налаштована».
- Цільова спиртуозність більше нуля → інакше «Ціль міцності не задана».
На «Готово» (перша стадія):
- Прив'язано парогенератор → інакше «Парогенератор не прив'язано».
- Вмикається охолодження, і сценарій перевіряє, що воно справді працює → інакше «Охолодження не стартувало».
- Вмикається ABV — так само → інакше «ABV не стартував». Найчастіша причина — не прив'язано барометр або тиск у колоні.
- Стартує парогенератор → інакше «ПГ не стартував»: зазвичай його аварія з минулого разу не скинута.
Учасник, у якого не вистачає обов'язкової ролі, стартувати не може — тому кроки 6–8 і ловлять усі пропуски в таблицях вище.
Перед першим запуском запустіть кожен учасник окремо вручну — «Охолодження», «Розрахунок ABV», «Парогенератор». Картка, що одразу стає червоною, покаже, чого бракує, ще до того, як ви зберете колону.
Контакти манометра: яка полярність#
Електроконтактний манометр дає два сухі контакти, і прошивка читає їх по-різному:
| Роль | Замкнутий контакт означає | Що робить «Тиск пари» |
|---|---|---|
| Тиск — робочий датчик | тиск досягнуто | Переходить у «hold»: вимога нагріву = «Потужність при робочому тиску» (типово 0 %). Розімкнувся — повертає робочу вимогу |
| Тиск — аварійний датчик | надтиск | Аварія «Надтиск пари» негайно, нагрів знято |
«Замкнутий» тут — стан, який контролер читає як активний. Якщо ваш манометр дає нормально замкнутий контакт, увімкніть на цьому вході «Вхід інвертований» у налаштуваннях периферії — інверсію робить периферія, не скрипт. Гістерезис у робочого контакту — лише механічний, у самому манометрі.
Полярність робочого контакту звірте на самому манометрі перед запуском: активний контакт означає «тиск є → нагрів на холостий», і переплутана полярність дасть парогенератор, який гріє лише коли тиск уже високий.
Датчики рівня: де ставити#
Три поплавки — низ, середина, верх — і пара в параметрах учасника «Рівень води»: «Вимикати подачу на датчику» (мокрий → стоп) і «Вмикати подачу на датчику» (сухий → пуск). Типово обидва на верхньому — гістерезис на одному поплавку, клапан клацає на кожній хвилі. Розумніше: вимикати на верхньому, вмикати на середньому чи нижньому — рівень гуляє між ними, клапан відкривається рідше.
Правила розстановки:
- ТЕНи — нижче нижнього датчика. Тоді сухий поплавок унизу означає «ТЕНи ще під водою, але вже небезпечно», і ви встигаєте зупинитись. Це ж дозволяє ввімкнути «Гріти під час доливу» — долив не збиває колону, як у класичному ББК.
- Датчик, на якому вмикається долив, — вище ТЕНів із запасом. Долив із «Гріти під час доливу» вимкненим ставить сценарій на паузу; чим нижче датчик, тим довший долив і довша пауза.
- Мокрий над сухим — застряглий поплавок або переповнення. Скрипт показує «Датчики не узгоджені», вимикає подачу і працює далі; аварія за часом — умова «Безпеки».
- Тремтіння поплавка фільтрує периферія: «Тремтіння сигналу, мс» у налаштуваннях датчика, типово 2000 мс для поплавка.
Сухий хід і переповнення — не логіка скрипта, а умови вкладки «Безпека» учасника «Рівень води»: датчик, умова, поріг, затримка «через N с», «Лише після норми». Як їх заповнити — у першому запуску.
Помпа браги#
Роль «Подача браги» — будь-який вихід, який приймає 0–100 %: ШІМ-канал плати розширення, аналоговий вихід, частотник по Modbus. Сценарій рухає його на 1 % за такт регулятора в межах «Мінімальна» / «Максимальна потужність насоса». Дискретне реле в цю роль ставити не варто: помпа буде або на нулі, або на повній, і регулятор міцності не матиме чим працювати.
Витратомір на лінії браги опційний, але без нього сценарій не вміє штатно закінчити прогін: кінець браги він побачить лише як аварію «Міцність низька» після того, як помпа впреться в максимум, а потужність — у мінімум. З витратоміром кінець браги — штатне «Завершення процесу».
Статті серії#
- Огляд сценарію — стадії, ланцюг учасників, що робить оператор.
- Параметри за етапами — уставки сценарію й кожного учасника з цієї таблиці.
- Перший запуск — перевірка прив'язок на практиці й заповнення «Безпеки».
- Аварії — усі коди з розділу «Порядок перевірок» з поясненнями.
Суміжні статті#
- Датчики рівня рідини — типи поплавків і як їх підключати до входів плати.
- Датчики тиску — електроконтактні манометри й аналогові датчики, барометр для ABV.
- Підключення ТЕНів та регуляторів потужності — реле, твердотілки, потужність у ватах у налаштуваннях ТЕНа.