Сторінка GitHub Олександра Пупени
Сторінка Олександра Пупени -> Портфоліо
Замовник і партнер: Євроджет — системний інтегратор і постачальник обладнання та комплексних рішень промислового маркування.
Тип рішення: сімейство інтеграційних шлюзів на спільній архітектурній основі, адаптованих до конкретного обладнання, виробничих процесів та інформаційних систем підприємств.
Статус: реалізовано й впроваджено на кількох виробничих об’єктах; кількість реалізацій зростає.

У межах співпраці з компанією Євроджет я розробляю програмні шлюзи, які інтегрують системи промислового маркування з ERP та іншими інформаційними системами підприємств. Рішення поєднує виробниче обладнання й інформаційний рівень: отримує завдання та дані для друку, обмінюється ними із системою керування обладнанням, фіксує результати й передає їх до зовнішніх систем.
В основу покладено Raspberry Pi з Node-RED і локальною базою даних. Архітектура спільна для різних впроваджень, але функції, моделі даних, протоколи та сценарії обміну адаптуються під вимоги конкретного підприємства.
Рішення призначене для виробничих підприємств, на яких потрібна узгоджена робота маркувального обладнання та облікових чи виробничих інформаційних систем.
Воно дає змогу:
Залежно від об’єкта це може бути логістичне маркування, друк етикеток для коробів і палет, облік надрукованого, повторний друк або передавання даних про маркування в інші системи підприємства.
Шлюз забезпечує приймання, підготовку і передавання завдань на маркування. У взаємодії зі штатною HMI-панеллю можуть реалізовуватися вибір завдання, перегляд етикеток, підготовка даних до друку, додатковий і повторний друк та облік стану виконання. Безпосереднє керування виконавчими механізмами й технологічною послідовністю залишається на рівні ПЛК.
Після виконання шлюз фіксує результати та синхронізує їх із зовнішньою інформаційною системою. У різних реалізаціях предметом обміну можуть бути завдання, серії продукції, ідентифікатори етикеток, статуси, кількості, часові позначки й інші атрибути маркування.
Локальна база даних накопичує відомості про виконані операції, надруковані етикетки, їхні ідентифікатори та стани. Це допомагає відновлювати хід подій, розбирати нештатні ситуації та знаходити причини помилок — навіть коли інформація із зовнішньої системи не дає повної картини.
У реалізаціях використовуються як унікальні коди етикеток, зокрема SSCC, так і ідентифікатори палет, партій та інших одиниць обліку.
Шлюз зберігає необхідні локальні дані, завдяки чому виробнича ділянка може протягом певного часу продовжувати роботу за втрати зв’язку з ERP. Після відновлення зв’язку виконується синхронізація накопичених результатів.
Тривалість і межі автономної роботи залежать від конкретного процесу та набору попередньо отриманих завдань.
Спільний підхід застосовується до різних виробничих задач:
Це приклади різних функціональних конфігурацій, а не одна незмінна програма для всіх установок.
Основні рівні системи:
flowchart LR
EXT[ERP або інша<br/>інформаційна система] <-->|SOAP / REST API<br/>Client або Server| GW[Інтеграційний шлюз<br/>Raspberry Pi + Node-RED]
GW <--> DB[(Локальна БД<br/>MariaDB)]
GW <-->|Промисловий обмін<br/>та обмін даними| PLC[ПЛК]
GW <-->|Дані та команди| HMI[HMI]
HMI <--> PLC
PLC <--> EQ[Маркувальне обладнання]
У конкретних реалізаціях для обміну з ПЛК та HMI застосовуються промислові протоколи, зокрема Modbus TCP, а також таблиці локальної БД. Інтеграція із зовнішніми системами реалізується через SOAP та REST API, у сценаріях як клієнта, так і сервера — залежно від вимог проєкту.
Архітектура дозволяє змінювати зовнішній інтерфейс і прикладні правила обробки даних без необхідності переносити логіку безпосереднього керування обладнанням у шлюз.
Основні технології: Raspberry Pi, Node-RED, JavaScript, MariaDB, Modbus TCP, SOAP, REST API.
У шлюзі реалізуються такі програмні складові:
Залежно від впровадження шлюз працює з буферами завдань та етикеток, кільцевими буферами подій із ПЛК, окремими записами про надруковане, групами етикеток чи даними про палети. Такі механізми дають змогу узгоджувати швидкодію обладнання, роботу оператора та асинхронний обмін із зовнішньою системою.
Поточна взаємодія з оператором відбувається через штатну HMI-панель. За потреби можливе розширення рішення локальним вебінтерфейсом, але це не є обов’язковою частиною наявних впроваджень.
Розподіл відповідальності в проєкті: я розробляю програмний шлюз та його інтеграційну логіку. Розроблення частини ПЛК і HMI виконує мій колега; Євроджет постачає обладнання та комплексне рішення для кінцевого замовника.
Рішення впроваджено на кількох виробничих об’єктах, і кількість реалізацій зростає. При цьому мова не про тиражування абсолютно однакового застосунку, а про використання спільної архітектурної концепції для різних функціональних вимог та систем інтеграції.
Практичні результати:
Для мене цінність цього сімейства проєктів — у практичній інтеграції двох різних світів: оперативного керування обладнанням та корпоративних інформаційних систем. Шлюз працює на межі цих рівнів і бере на себе узгодження моделей даних, станів, завдань та результатів.
Наразі немає публічно доступних матеріалів.
Партнер: Євроджет — постачання маркувального обладнання та інтеграція комплексних рішень.