Сторінка GitHub Олександра Пупени
Сторінка Олександра Пупени -> Портфоліо
Система керування машинами обсмаження COGEN — серійне програмно-технічне рішення для ростерів різної продуктивності та комплектації. Поєднує локальне керування технологічним процесом, вебінтерфейс оператора, історію партій, зовнішні інтеграції та віддалений сервіс.
Концепція рішення — перехід від автоматизації окремої машини до платформи, придатної для тиражування та подальшого розвитку IIoT-сервісів. У реєстрі проєкту є записи розгортань для різних моделей і конфігурацій. Це характеризує масштаб серійної роботи, але не підтверджує однаковий склад, версію ПЗ або поточний експлуатаційний стан усіх установок.

Рішення призначене для автоматизації машин обсмаження (ростерів), які випускаються серійно та відрізняються комплектацією, продуктивністю, складом сигналів і конфігурацією керування.
Задачі, які вирішує система:
Користувачі: оператори ростерів, наладчики, сервісні інженери, розробники та виробник обладнання.
У традиційній архітектурі такі задачі часто розв’язуються зв’язкою PLC, спеціалізованої операторської панелі та SCADA. У COGEN обрано гібридний підхід із веб-HMI (на базі мікрокомп’ютера Raspberry) та відкритим edge-рівнем, щоб спростити розвиток інтерфейсу, роботу з історичними даними та інтеграції.
В одному інтерфейсі оператор отримує технологічні параметри, графік поточної партії та стан обладнання. Реалізовані сторінки Main, Profiles, Settings, Alarms.
Основні можливості:
Вебінтерфейс працює у браузері, зокрема в kiosk-режимі (тільки бразуер) на локальних екранах різної роздільної здатності. Нові формати екранів потребують окремої перевірки компонування.
Реалізовані запис і вибірка даних партій із PostgreSQL, перегляд списку партій, активної партії та окремого профілю. Це забезпечує:

Передбачено сторінку поточних аварій, журнал аварій та REST-доступ до журналу. Через VPN сервісний фахівець може отримувати авторизований доступ до конкретної установки та аналізувати проблему без попереднього виїзду.
Реалізовані HTTP/REST-маршрути для тегів, списку партій, окремої й активної партії, аварійного журналу та роботи з профілями. Інтеграційний рівень створює передумови для підключення зовнішніх застосунків, але інтеграції з майбутніми IIoT-, MES- та ERP-сервісами поки не реалізовані.
Використано гібридну архітектуру:
flowchart TB
subgraph CONTROL[Контур реального часу]
PLC[PLC: послідовності, регулювання, робочі блокування]
IO[Сигнали та виконавчі механізми]
PLC <--> IO
end
subgraph EDGE[Локальний edge-рівень]
NR[Node-RED]
HMI[Web HMI]
DB[(PostgreSQL)]
API[REST API]
NR --> HMI
NR --> DB
NR --> API
end
PLC <-->|S7 / Modbus TCP | NR
PC[Artisan / Cropster] <--> PLC
API --> EXT[Альтерн HMI, IIoT-сервіси]
Принципове розмежування: детерміноване технологічне керування та робочі блокування залишаються на PLC-рівні; веб-HMI, історія та інтеграції — на edge-рівні. Відмова браузера або перезапуск edge-застосунку не підміняють технологічну логіку PLC. Функції машинної безпеки виконуються відповідними апаратними та safety-рішеннями, а не Node-RED чи стандартною PLC-логікою.
Система розділяє локальне керування, edge-функції, HMI, історію та API, тому компоненти можуть розвиватися окремо. Конфігурація конкретної установки відокремлюється від спільних програмних функцій. Для різних контролерів і моделей використовуються окремі проєкти та параметри.
flowchart LR
M[Машина й локальне керування] --> E[Edge-рівень]
E --> H[Веб-HMI]
E --> DB[(Історія партій)]
E --> API[API та інтеграції]
E -. захищений канал .-> S[Віддалений сервіс]
DB -. перспектива .-> BI[Звіти й аналітика]
API -. перспектива .-> MES[MES / ERP / хмарні сервіси]
DB -. перспектива .-> QA[Контроль якості й оптимізація]
Напрям розвитку серійного продукту — спільне перевірене ядро та окремі пакети розгортання. Для різних установок уже існують окремі flows і конфігурації, однак їх уніфікація ще триває. Під час підготовки нової установки адаптуються склад сигналів, режими керування, екран, мережа та зовнішні інтеграції.
flowchart TD
CORE[Перевірене програмне ядро] --> CFG[Конфігурація моделі]
CFG --> UNIT[Параметри конкретної машини]
UNIT --> TEST[Перевірка конфігурації]
TEST --> DEPLOY[Розгортання]
DEPLOY --> SUPPORT[Супровід і контроль версій]
SUPPORT --> IMPROVE[Удосконалення спільного ядра]
IMPROVE --> CORE
Мета уніфікації — скоротити підготовку наступних машин, зменшити випадкові відмінності між установками, спростити оновлення та супровід, підтримувати сумісність і забезпечити простежуваність змін за серійними номерами.
| Складова | Технології |
|---|---|
| PLC і мови програмування | IEC 61131-3; Structured Text / SCL |
| Контролери й середовища | 2 варіанти: 1) Siemens S7-1200, TIA Portal; 2) Schneider Electric M172, EcoStruxure Machine Expert – HVAC |
| Edge і прикладні функції | Node-RED, JavaScript |
| Обмін даними | Modbus RTU/TCP, S7, OPC UA, HTTP/REST API |
| Історія даних | PostgreSQL (старі версії на MariaDB) |
| Розгортання й супровід | Docker + Portainer (нові версії), VPN |
| Зовнішні програми | Artisan, Cropster (окремі конфігурації / інтеграційні сценарії) |
Наведено технологічну основу проєкту загалом; це не означає, що всі перелічені технології використовуються на кожній установці.
Для кожної машини ведеться окремий каталог конфігурації. Адреси, параметри та flows однієї установки не переносяться на іншу без перевірки. Перед змінами Node-RED передбачено повне резервне читання flows, а після розгортання — контрольне читання.
Під час тиражування враховуються відмінності складу сигналів, параметрів, мережі, екрана та зовнішніх підключень. Для Siemens S7-1200 і Schneider Electric M172 є окремі PLC-проєкти; стандартизація обміну та конфігурацій триває.
| Функціональність | Стан |
|---|---|
| Локальне керування фазами та командами оператора | Реалізовано в наявних PLC-проєктах |
| Веб-HMI, тренди, події та аварії | Реалізовано |
| Історія партій у PostgreSQL | Реалізовано |
| Інтеграція Siemens S7-1200 і Schneider Electric M172 | Окремі проєкти; уніфікація триває |
| Віддалений сервіс через VPN | Реалізовано |
| Окремі пакети й записи розгортань | Є для серії установок; структура стандартизується |
| Уніфікований обмін через Modbus TCP/ S7 TCP/IP | Стандартизація та перевірка |
| Єдина структура конфігурації для різних моделей | У розвитку |
| Централізована IIoT-аналітика парку машин | Передбачено архітектурою; наступний етап |
Нові можливості необхідно перевіряти на фактичній конфігурації перед серійним використанням. Поведінка історичної бази за тривалої втрати зв’язку також потребує перевірки для кожного варіанта розгортання.
Система використовується в серії машин різних моделей і конфігурацій; у реєстрі є записи розгортань кількох десятків машин. Реалізовано локальне керування, веб-HMI, зберігання історії партій та віддалений сервіс. Окремі конфігурації й версії установок потребують індивідуального супроводу.
Кількісних показників скорочення простоїв, часу введення в експлуатацію або економії у вихідних матеріалах немає.
Я працюю як розробник цілісної системи керування — від технологічних вимог і PLC-алгоритмів до HMI, збереження даних, інтеграцій та супроводу. Зокрема:
Поточна архітектура дає основу для наступних функцій, але вони не представлені як завершені впровадження:
Майбутня гібридна архітектура передбачає незалежне локальне керування й централізовані функції переважно для даних та сервісу. Уніфікація програмного ядра, конфігурацій і обміну з PLC триває.
Не для публічного доступу.
Посилання на відеодемонстрацію, публічну документацію та GitHub у вихідному описі відсутні