Статті бази ▾ ← Усі бази знань
Автоматика oCBot
Концепція та філософія11 Ласкаво просимо до екосистеми oCBotІдеологія oCBotСфери призначення та режими роботиПериферійні пристроїСвобода периферіїБазові скрипти автоматизаціїВіртуальні панелі оператораСкладні сценарії та логіка автоматизаціїМультиконтролерністьЗагальний огляд автоматики oCBotАрхітектура та опис
Підтримувані контролери4 Контролер Kincony KC868-A6Контролер Kincony KC868-A16Контролер WT32-ETH01Універсальний ESP32 DevKit (Custom)
Каталог периферійних пристроїв9 Датчики температуриДатчики тискуДатчики рівня рідиниДатчики потоку (витратоміри)Виконавчі механізми (Клапани, Насоси, ТЕНи)Датчики середовища (Вологість, Світло, Тиск)Датчики електричні та вагиОргани керування (Кнопки, Енкодери)Електродвигуни та вентилятори
Складання та Перший запуск (DIY)9 Збирання контролера oCBot своїми рукамиПервинне прошивання та запуск контролераШвидке підключення Wi-Fi через BluetoothПідключення ТЕНів та регуляторів потужностіВибір та підключення електромагнітних клапанівПідключення LCD та OLED дисплеїв по шині I2CПромисловий протокол RS485 (Modbus RTU)Калібрування ваг на тензодатчиках (HX711)Усунення типових несправностей
Робота з веб-інтерфейсом17 Головна сторінка (Home)Діаграма процесу (Flow)Сценарії автоматизаціїРедактор скриптівПульти оператораДизайнер пультів HMI DesignerПериферіяПлати та шиниЗагальні налаштуванняОбладнанняТочки монтажуНалаштування графіківОновлення прошивкиНалаштування Wi-FiЛогиПорталПро програму
Написання сценаріїв (C++ Скрипти)7 Огляд скриптівМій перший сценарій: Крок за крокомШІМ-відбір: Як налаштувати клапан правильноНалаштування ПІД-регулятора для стабілізаціїАвтоматизація температурних пауз при затиранні солодуСкрипт ББКРегулювання тиску
Безпека, Хмара та Інтеграція5 Система безпеки oCBot: Захист від аварійСтворення хмарного кабінету UA DistilleryЯк опублікувати звіт про перегонкуШеринг кастомних пультів оператора (HMI)Інтеграція з Home Assistant та MQTT
База знаньАвтоматика oCBotНаписання сценаріїв (C++ Скрипти)

Огляд скриптового двигуна oCBot

В автоматиці oCBot логіка складних технологічних процесів описується на рівні С++ класів-скриптів. Вони виконуються в рамках операційної системи FreeRTOS як окремі низькопріоритетні фонові потоки, що гарантує високу стабільність та захищеність процесу від зависань.


Як влаштований скрипт oCBot#

Кожен скрипт є спадкоємцем базового класу та реалізує три основні фази життєвого циклу:

  1. on_start(): Викликається один раз при запуску скрипта користувачем. Тут ініціалізуються змінні, таймери, очищаються журнали телеметрії та проводиться первинна перевірка наявності необхідних давачів.
  2. execute(): Головний цикл скрипта, який викликається автоматично кожні 100-500 мс (залежно від налаштувань). Тут описується логіка переходів між стадіями процесу.
  3. on_stop(): Викликається при зупинці процесу або при виникненні критичної помилки. Його головне завдання, безпечно знеструмити всі ТЕНи та закрити клапани відбору.

Особливості розробки та взаємодії#


Нотатка

Сценарії oCBot забезпечують детерміноване виконання технологічних кроків: навіть якщо веб-панель закрита або пропав Wi-Fi, контролер продовжує виконувати сценарій та стежити за безпекою автономно.