ББК: аварії — що написано на картці, чому і що робити
Написано для прошивки 0.2.93 · порталу 0.0.176Можливо, застаріло: поточна прошивка 0.2.127, поточний портал 0.0.182
Червона картка сценарію показує короткий заголовок і одне речення. Цього досить, щоб зупинитись, але не досить, щоб зрозуміти, де шукати: «Рівень ПГ» може означати сухий хід, застряглий поплавок або просто не прив'язаний датчик, який ви обрали в параметрах. Тут — усі коди, які ББК і його учасники вміють показати у прошивці 0.2.93, з причиною й тим, що робити далі.
Заголовки й тексти — ті самі, що на картці. Порядок — за тим, коли аварія може трапитись: на старті, на «Готово», під час прогону, від учасників.
Що робить сценарій при аварії#
На будь-якій аварії сценарій сам приводить апарат у безпечний стан: зупиняє парогенератор (той глушить нагрів і закриває налив), зупиняє ABV, закриває воду на конденсатор і ставить помпу браги на нуль. Аварійний стан має бути безпечним без оператора, тому вода не тримається; якщо колона ще гаряча — відкрийте її руками або запустіть скрипт «Охолодження» окремо.
Далі:
- Прочитайте код на картці сценарію і знайдіть його нижче.
- Якщо код каже «див. картку учасника» — відкрийте того учасника: причина написана на його картці.
- Усуньте причину.
- Скиньте аварію на учаснику, який її спричинив: натисніть «Стоп» на його картці. Аварія тримається до ручного скидання і не зникне сама.
- Запустіть сценарій знову — він почне з «Перевірки колони».
На старті: не налаштовано#
Сценарій перевіряє конфігурацію ще до першої стадії. Ці аварії з'являються за секунду після кнопки запуску.
| На картці | Причина | Що робити |
|---|---|---|
| Не налаштовано прогрів — «Задайте параметри сценарію: цільову температуру переходу, максимальну й робочу потужність ПГ, таймаут прогріву» | Хоч одне з чотирьох полів панелі «Розігрів парогенератора» дорівнює нулю | Заповнити всі чотири. Дефолтів немає навмисно — вони залежать від апарата |
| Немає ABV — «Не прив'язано скрипт «Розрахунок ABV»» | У вкладці «Скрипти» сценарію роль ABV порожня | Прив'язати скрипт «Розрахунок ABV» |
| Помпа не налаштована — «Мінімум/максимум помпи браги або період регулювання не задані» | Максимум помпи 0, або максимум менший за мінімум, або період регулювання 0 | Виправити панель «Дистиляція» |
| Ціль міцності не задана — «Цільова спиртуозність продукту 0» | З нулем регулятор вважав би будь-яку міцність завищеною | Задати цільову спиртуозність |
На «Готово»: учасник не стартував#
Після кнопки на першій стадії сценарій вмикає учасників і перевіряє, що вони справді працюють. Учасник, якому бракує обов'язкової ролі або який досі в аварії, стартувати не може.
| На картці | Причина | Що робити |
|---|---|---|
| Парогенератор не прив'язано | Роль «Парогенератор» у вкладці «Скрипти» порожня | Прив'язати скрипт «Парогенератор» |
| Охолодження не стартувало — «без води в дефлегматорі гріти не можна» | Скрипт «Охолодження» прив'язаний, але не запустився: його аварія не скинута або вихід заблоковано | Відкрити картку «Охолодження», скинути аварію («Стоп»), перевірити прив'язку клапана |
| ABV не стартував — «перевірте, чи прив'язано термометр пари, тиск колони й барометр» | Найчастіше — не прив'язано барометр або тиск у колоні: для ABV усі три датчики обов'язкові | Прив'язати відсутній датчик у скрипті ABV; скинути його аварію |
| ПГ не стартував — «можливо, його аварія не скинута» | Парогенератор або хтось із його ланцюга (тиск пари, рівень, нагрів) досі червоний з минулого разу | Відкрити картки «Парогенератор», «Тиск пари», «Рівень води», «Керування нагрівом» — скинути аварію там, де вона є |
Під час прогону: аварії самого сценарію#
| На картці | Стадія | Причина | Що робити |
|---|---|---|---|
| Час ПГ нагріву — «Перевищено час розігріву парогенератора — перевірте ТЕНи» | Розігрів | Верх колони не дійшов до цільової температури за «Таймаут розігріву» | Якщо ТЕНи гріли (картка нагріву показувала вати) — замалий таймаут або зависока ціль. Якщо не гріли — реле, твердотілка, потужність ТЕНа в налаштуваннях. Парогенератор міг стояти на «hold» через досягнутий тиск із «Потужністю при робочому тиску» 0 |
| Колона не стабілізувалась — «Верхня температура не заспокоїлась за 10 хвилин» | Стабілізація | Розкид верху колони перевищував 2 °C довше 10 хв | Замала або завелика робоча потужність, витік пари, термометр верху, що стрибає. Якщо доливи збивали колону з увімкненим «Гріти під час доливу» — вимкнути його, і сценарій ставитиме стабілізацію на паузу |
| Міцність висока — «Міцність продукту вища за норму, скоригуйте відбір» | Дистиляція | Помпа на мінімумі, потужність парогенератора на максимумі, а міцність усе ще вища за ціль | Колона дає більше, ніж ви просите: підняти цільову спиртуозність або опустити мінімум помпи (якщо помпа ще качає нижче) |
| Міцність низька — «Міцність продукту нижча за норму, перевірте процес» | Дистиляція | Помпа на максимумі, потужність на мінімумі, а міцність нижча за ціль | Або закінчилась брага (без витратоміра це штатний кінець прогону), або ціль завищена для цього апарата, або пара не доходить до верху |
| Фільтр забитий — «Перевірте та очистіть фільтр подачі браги» | Дистиляція | Витрата браги нижча за «Мінімальну подачу», помпа вище мінімуму, міцність є | Фільтр на лінії браги, шланг, помпа. Лише з витратоміром |
| Занадто низька витрата сусла, спиртуозність нульова | Дистиляція | Витрата нижча за мінімальну, помпа вже на мінімумі, а ABV показує міцність | Суперечливий стан: витратомір або помпа брешуть. Перевірити обидва |
| up_column-temp ERROR | Розігрів, стабілізація | Термометр верху колони показав менше −30 або більше 130 °C — обрив або замикання | Датчик, кабель, шина 1-Wire. Код без перекладу — ім'я ролі й слово ERROR |
| Аварія учасника — «Один зі скриптів-учасників (ABV або охолодження) перейшов в аварію» | будь-яка робоча | Спрацювала «Безпека» скрипта ABV або «Охолодження» | Причина — на картці того учасника |
Від парогенератора: сценарій показує код учасника#
Аварія парогенератора стає аварією сценарію з тим самим кодом. Сам парогенератор — композиція, тож його код зазвичай каже, у кого з його учасників дивитись далі.
| На картці сценарію | Причина | Де шукати |
|---|---|---|
| Тиск пари не прив'язано — «прив'яжіть скрипт «Тиск пари» до ролі «Тиск пари»» | У скрипті «Парогенератор» роль «Тиск пари» порожня | Вкладка «Скрипти» парогенератора |
| Тиск пари ПГ — «Учасник «Тиск пари» зупинився аварією (надтиск, нагрів)» | Скрипт «Тиск пари» червоний | Його картка — коди нижче |
| Рівень ПГ — «Учасник «Рівень води» зупинився аварією або помилкою конфігурації» | Скрипт «Рівень води» червоний: спрацювала його «Безпека» (сухий хід, переповнення) або обраний у параметрах датчик не прив'язаний | Його картка — коди нижче |
Картка «Тиск пари»#
| На картці | Причина | Що робити |
|---|---|---|
| Надтиск пари — «Спрацював контакт аварійного тиску» | Роль «Тиск — аварійний датчик» стала активною | Запобіжний клапан, прохід пари в колону, полярність контакту (див. залізо) |
| Нагрів тиску пари — «Учасник «Керування нагрівом» зупинився аварією» | Скрипт «Керування нагрівом» червоний | Його картка — нижче |
| Нагрів не прив'язано — «прив'яжіть скрипт «Керування нагрівом» або прямий вихід нагріву» | Ні скрипта нагріву, ні прямого виходу | Вкладка «Скрипти» або «Периферія» скрипта «Тиск пари» |
Картка «Керування нагрівом»#
| На картці | Причина | Що робити |
|---|---|---|
| no_main_heater_power | У ТЕНа в ролі «банк 1, елемент 1» потужність 0 Вт у налаштуваннях периферії | Задати номінальну потужність ТЕНа. Код без перекладу |
| alarm | Спрацювала «Безпека» самого скрипта нагріву | Умови у вкладці «Безпека» цього скрипта |
Картка «Рівень води»#
| На картці | Причина | Що робити |
|---|---|---|
| alarm | Спрацювала умова «Безпеки»: сухий хід, переповнення | Перевірити воду, клапан, поплавки; зняти причину; «Стоп» на картці |
| Помилка: відсутній обов'язковий датчик | У параметрах обрано «вимикати на датчику» / «вмикати на датчику», а такий датчик не прив'язаний | Прив'язати датчик або обрати інший у параметрах |
| Датчики не узгоджені | Верхній поплавок мокрий, а нижчий сухий — застряглий поплавок або переповнення. Це попередження: подача вимкнена, скрипт працює | Перевірити поплавки. Аварія за часом — умова «Безпеки» |
Вкладка «Безпека»: код «alarm»#
Будь-який скрипт або сценарій, у якого спрацювала умова з вкладки «Безпека», зупиняється повністю і показує alarm. У ланцюзі ББК так виглядають:
- сухий хід і переповнення — на картці «Рівень води», сценарій показує «Рівень ПГ»;
- перегрів продукту на термометрі попугая — на картці самого сценарію;
- будь-яка умова «Безпеки» ABV чи «Охолодження» — сценарій показує «Аварія учасника».
Як заповнити ці умови — у першому запуску.
Коди, які на картці ББК більше не з'являються#
У списку перекладів прошивки лишились коди старого монолітного ББК: «Немає води ПГ», «Переповнення ПГ», «Час ПГ запов.», «Тиск ПГ», «Перегрів продукту», «Немає нагріву». Сценарій 0.2.93 їх не видає — їхню роботу роблять умови «Безпеки» учасників і коди з таблиць вище. Якщо ви бачите такий код, це інший сценарій (наприклад, окремий скрипт парогенератора) або стара прошивка.
Статті серії#
- Огляд сценарію — на якій стадії яка аварія можлива.
- Залізо й прив'язки — для всіх «не прив'язано» й «не стартував».
- Параметри за етапами — для «не налаштовано» й «міцність висока/низька».
- Перший запуск — умови «Безпеки», що стоять за кодом «alarm».
Суміжні статті#
- Система безпеки oCBot — як влаштовані умови «Безпеки» й прапорець «Може сигналізувати аварію».
- Усунення типових несправностей — коли причина не в сценарії, а в датчику чи платі.