Процес закінчився — і вже не згадати, яка була сировина, скільки води, коли впала температура і чому. Тепер це записано: нотатки, лог, паспорт прогону і плеєр, який прокручує прогін як відео.
Ми розширили можливості контролера до сервера і додали в інтерфейс, під час виконання сценарію, можливість робити нотатки.
Саме ті нотатки, які не мають жодного відношення до роботи автоматики, але мають величезне значення для будь-якого майстра. Після того, як процес закінчився, ти це вже не згадаєш. А так — нотатки зберігаються разом із прогоном на сервері.
Контролери не можуть зберігати в собі великий масив даних і не можуть копіювати його великими порціями.
Тому логування перенесено на потужності комп'ютера. Якщо у вас комп'ютер увімкнений і ви бачите інтерфейс контролера — комп'ютер уже збирає, зберігає і накопичує лог. Зараз система логування працює як годинник: телеметрія, системні стани, технічні дані, канали зв'язку і все інше. І на комп'ютері, і на сервері, якщо контролер до нього підключений.

Межі прогону, перехід кроку, аварія. Поза чергою, з рядками логу за 10 с до і після.
Дельта периферії, стани й показники скриптів. Раз на п'ять хвилин — повний ключовий кадр.
Людські назви, дерево скрипт → пристрій. Іде тоді, коли змінилась, а не в кожному пакеті.
Ми вичленили з логів ту інформацію, яка потрібна, щоб обгорнути її і зберігати у вигляді паспорта виконаного сценарію.
Це вже окремий документ, який можна передивитись, порівняти між собою, якщо вибрав два чи три таких паспорти, і який насичений додатковою інформацією, якщо ти її додав. Уже на рівні паспорта рахуються загальні витрати електрики, води, обладнання.
Та математика, яка просто так ніде не існує і нікому навіть у голову не приходить її збирати, а тим паче потім використовувати.
| run | сценарій, межі, тривалість, причина завершення |
| summary.stages | етапи з таймінгами — коли який крок почався й скінчився |
| summary.commands | команди сценарію скриптам: уставки, потужність, крани |
| summary.alarms | аварії — з рядками логу навколо |
| summary.meters | межі вимірювачів: мін / макс кожного датчика за прогін |
| summary.scripts | скрипти з параметрами, пристроями і показниками на кінець |
| summary.spent | витрати: електрика з лічильника контролера, вода з витратоміра |
| summary.work | напрацювання обладнання за прогін |
| timeline | одна стрічка в часі: старт, кроки, значення, стани, лог, кінець |
| notes | нотатки оператора |
А оскільки з'явився паспорт, то зовсім нещодавно ми зробили плеєр. Він прокручує те, що в тебе було під час виконання сценарію: як мінялися температури, як працювало обладнання, що ти вносив, які покази. Це як відеоролик, який генерується паспортом прогону.
Спираючись на цей функціонал, я вже розмірковую, як зробити послідовність сценаріїв. Спочатку затирання, яке доповниться бродінням, потім першим перегоном, потім другим, потім настоюванням, потім купажем.
Чесно: цього ще немає. Є паспорт кожного прогону окремо і плеєр до нього. Ланцюжок — наступний крок, і в кінці це буде інструмент і для себе, і для нащадків, і для обміну досвідом.
Ініціатива в контролера: він шле телеметрію, портал відповідає. Без підключення все, що вище, лишається на комп'ютері поруч із апаратом — і це теж працює. Якщо в тебе вже є oCBot, напиши — покажемо пам'ять на твоєму прогоні.
Або в спільноті: t.me/ua_distillery · щоденник — distillery_ocbot