Олександр Гумінський: Автоматизація елеватора — це не «захист від дурня», а підказка, попередження, швидке реагування
Брак кадрів в елеваторній та переробній галузях, гостра потреба в економії енергоресурсів та ефективних і швидких комунікацій між різними ланками підприємств — все це виводить тему автоматизації виробництва на перший план.
Відчуваючи потребу часу, кілька років тому вітчизняний виробник елеваторного обладнання KMZ Industries створив окремий відділ, який займається саме автоматизацією елеваторного обладнання.
Ми вже публікували інтерв’ю з начальником відділу автоматизації та електропостачання KMZ Industries Миколою Чешихіним. То була перша частина розмови. Сьогодні друга серія — розмова із Олександром Гумінським — інженером-програмістом відділу автоматизації та електропостачання KMZ Industries — людиною, яка на практиці реалізує поєднання технічного обладнання елеватора та системи автоматизації. Він 15 років є дотичним до сфери автоматизації і майже 4 роки вирішує задачі АСУ в KMZ Industries, тож про автоматизацію розповідав з любов’ю, гумором та з користю для користувачів.
Олександре, у чому полягають ваші задачі?
Олександр Гумінський: Якщо коротко, то моя задача в тому, щоб технічне рішення, закладене в проєкт, інтерпретувати в програму. Тобто перевести завдання з язика інженерів, креслень та таблиць, на мову обчислювальних машин.
Яка роль колективу у вашій роботі?
Олександр Гумінський: Роль колективу значуща. Третину виконує проєктний відділ, третину — електромонтажний. В парі з інженером-КВПтА ми розгортаємо третю, фінальну, частину роботи з запуску елеватора як системи, наближеної до сучасних уявлень про керування обладнанням.
З інженером-КВПтА зводимо все докупи. Постійно знаходимося у діалозі з електромонтажниками на етапах від розміщення обладнання та прокладання електричних трас до фінального електричного підключення.
Що для вас є автоматизація?
Олександр Гумінський: Бачу це як «підказку та попередження». Підказка дає змогу оператору швидко орієнтуватися та приймати рішення при виконанні робочих завдань. Попередження запобігає травматизму персоналу, виходу обладнання з ладу, виконанню невірних чи недопустимих в певному випадку дій, чи їхню послідовність. Це все відбувається на тлі певних дій, які система має змогу виконати без втручання оператора.
Втілення «підказки та попередження» включає як електромеханічні сигнали (лампочки зумери, просте блокування одночасного включення двох елементів певного механізму), так і програмну реалізацію. Тобто програма в контролері (це головний блок, скажімо мозок автоматизації) просто не дозволяє в певному режимі робити ті чи інші дії: вона або фізично їх блокує, або на моніторі з'являється попередження.
Тобто це ще й своєрідний «захист від дурня»?
Олександр Гумінський: Швидше захист від ненавмисних хибних дій. У нас було багато прикладів, що система автоматики сповіщає про помилку, «кричить»: у тебе щось не в порядку з обладнанням, система може його навіть відключати, але оператор просто переводить обладнання в ручний режим і запускає примусово. Обладнання відпрацьовує зміну, але друга зміна вже простоює, тому що, наприклад, розсипався підшипник, і це найбільш невинне, що може статись. Тобто завжди є спосіб обійти поради та попередження системи.
Що у вашому розумінні повинна робити програма управління елеватором?
Олександр Гумінський: Дуже цікаве та ємне питання, я для себе виніс два основні пункти. Перше: програма управління повинна запропонувати оператору варіанти шляхів перевантаження продукту із пункту А в пункт Б, тобто показати йому всі доступні маршрути, які не суперечать здоровому глузду. Також вона повинна вміти запустити обраний оператором маршрут: з усіма витримками по часу в розгоні обладнання та правильною послідовністю запуску елементів обладнання і окремих ділянок.
Другий пункт: програма має адекватно реагувати на аварійні та позаштатні ситуації, які трапляються на маршруті, як то сигнал від певного датчика, чи ручний оповіщувач, який натискається, і тому подібне. Має правильно зупиняти обладнання з витримками часу на сходження зерна та очистку транспортного обладнання.
По суті елеваторні програми досить прості за своєю базовою концепцією. Інше питання виникає тоді, коли ми хочемо чимось відрізнитися від конкурентів. KMZ Industries як виробник обладнання, може запропонувати, наприклад, якісь нестандарті рішення в реалізації тих чи інших технічних компонентів нашого транспортеру, розподілювача потоків та іншого обладнання. І тоді загальну програму ми підлаштовуємо під технічні особливості, а також побажання замовників.
Бажання можуть бути зовсім різні, у різних елеваторів. Якщо для маленького елеватора без сушарки може бути достатньо невеличкої сенсорної панелі, щоб оператор натискав на одну кнопку, — і в нього три механізми зібралися жорстким маршрутом, — це одна справа. Інша, коли це маршрутний чи портовий елеватор, де перевантажують зерно у великих обсягах. У цьому випадку виникають такі цікаві функції, як, наприклад, мікшування зерна різних класів із різних силосів. І тут потрібне більш глибоке програмне опрацювання.
Чи є стандартизація в написанні ПЗ для елеваторів?
Олександр Гумінський: Мені такі документи в явному, сформованому вигляді, на очі не потрапляли. Крім того, елеватори та системи тимчасового зберігання можуть бути дуже різними за технічним наповненням, механічній і програмно-апаратній складовій реалізації системи автоматики. Дуже часто замовник висуває свої технічні вимоги до реалізації певних вузлів чи ділянок системи. Вкладає своє бачення та досвід, паралельно з нашим.
Але перелічені в попередньому питанні пункти вже є стандартом очікувань замовника, дуже аскетичного замовника… Тому в умовах конкурентної боротьби на базі власного досвіду починається нарощування функціоналу ПЗ.
Фактично при розробці своїх рішень KMZ Industries спирається на вдалі практики розробки коду та візуалізації, які є загально визнані та вживані в індустрії автоматичного контролю.
Який базовий набір програм ви використовуєте для повсякденної роботи і навіщо вони?
Олександр Гумінський: Найголовнішими є програмні пакети IDE (прим. ред. IDE — integrated development environment — інтегроване середовище розробки), тобто ті, які дозволяють програмувати контролер — серце більшості сучасних системи автоматизації. Наразі ми активно користуємося контролерами лінійки PLCNext від PhoenixContact, відповідно до цього працюємо з IDE PLCNext Engineer. Але їх існує безліч, як типів і виробників контролерів.
Наступною іде система контролю версій. Тобто програма для контролю над змінами в файлах програмного коду за часом. З можливістю відкинути певні зміни чи роздивитися різницю між версіями файлів. Тут в парі працюють TortoiseSVN та WinMerge. Тут також може бути безліч комбінацій і розробники компонують рішення в залежності від вподобань та вимог до функціоналу програм, необхідності розділяти задачі розробки, тощо.
Звичайно офісні пакети для розробки та супроводження проектної документації та інструкцій.
А потім безліч інших програмних продуктів, як то віртуальні машини, програми візуалізації та побудови графів (для формалізації технологічних схем елеваторів), керування базами даних та незліченна кількість інших програм, які полегшують рутині завдання розробки.
До речі, хочу звернути увагу замовників, що при прийманні елеватора, окрім самого обладнання, ви повинні отримати на руки «програмну копію свого елеватора» для тієї системи автоматизації, яку ви замовили. Це зазвичай прописано в договорі. Але часто до нас звертаються клієнти, які свого часу не були уважні, і не мали такого досвіду раніше. І коли, наприклад, до системи немає доступу, контролер під паролем, нема вихідних файлів програм, це ставить в дуже незручне становище замовника. Йому доводиться витрачати надто великі гроші на те, щоб фактично з нуля переписати програму, чи витратити непропорційно багато часу на вирішення, здавалося інколи, досить простої та тривіальної задачі, наприклад, додати до маршруту два чи три конвеєри, чи якусь засувку з перемикачем.
Ще один нюанс, який раджу враховувати. Бувають маленькі програми, де фактично один маршрут, ти тиснеш кнопку — і програма однозначно виконує тільки цю послідовність. А бувають великі проекти, де варіантів дуже багато, сотні, а може навіть і тисячі теоретичних маршрутів, які можуть дійсно працювати. Інколи затребувані маршрути не одразу очевидні. Інколи вони лише з часом напрацьовуються операторами, які експлуатують цей елеватор. Тому програма має бути гнучкою, досить легко змінюватися.
Ви сказали, що є сотні маршрутів, хто їх визначає і прописує?
Олександр Гумінський: Якщо ми математично опишемо елеватор, то визначимо його як направлений граф чи пов'язаний список. Зерно завжди має певний вектор руху: з завальної ями до норії чи транспортеру, з норії — до силосу і т.і. Якщо подивитися на програму, то в ній є перелік усього обладнання та всі можливі напрямки руху зерна для кожного пристрою.
І коли ми задаємо програмі точку А (старт руху зерна) і точку Б (фініш руху зерна), вона перебирає варіанти обладнання, котре може бути використані у цьому маршруті, та відбирає ті маршрути, що задовольняють умові «точка А – точка Б». Далі відбувається перевірка, чи є вже задіяними на інших маршрутах пристрої, які ввійшли у той, який ми розглядаємо. Якщо пристрої задіяні, система розуміє, що потрібно не допустити змішування зерна, і тому продовжить шукати альтернативні маршрути від точки А до точки Б.
Що робить програма? Вона обходить «граф в ширину», є така операція в математиці. Це вона ніби пробіглася по віртуальному елеватору і запропонувала наявні варіанти, з котрих вже обрав оператор. А звідки воно все береться в системі? Кожен елемент елеватора «знає», куди він може перевантажити зерно, знає своїх сусідів, ця інформація вноситься в програму під час розробки. І потім система з таких простих відомостей будує складний маршрут.
Що для вас є індустрія 4,0 і чи є у вас напрацювання в цьому руслі?
Олександр Гумінський: Для мене індустрія 4,0 — це зіграний оркестр програмних і «релейних» рішень. Саме від якості сполучення компонентів множник відрізняється від нуля. Індустрія (3 + 1*х)… Я б так висловив свою думку. В якомусь сенсі я сприймаю це як перехід від пари до електрики в якості джерела рушійної сили в виробництві. Коліщатка в станках обертаються так само, а от філософія побудови цеху і його планування надзвичайно змінюється.
Наразі ми напрацьовуємо певний обсяг даних для залучення машинного навчання до процесу сушіння зерна. Завдяки тому, що KMZ Industries є виробником обладнання, та базовий контролер, який ми використовуємо, має модулі розширення, дотичні до машинного навчання, в компанії створені передумови для проведення інженерних досліджень та застосування рішень в цьому напрямі.
Серед різноманіття роботи, яку вам дають, скажіть, що для вас було саме нестандартне, саме об’ємне, і саме цікаве?
Олександр Гумінський: Був один об’єкт, який складався з трьох ділянок, які будувалися та вводилися в експлуатацію в різний час з проміжком 5-7 років. Кожну ділянку виконувала окрема фірма. Задача, котра перед нами постала — звести їх під одне, централізоване, місце керування оператора. Було цікаво, адже наживо бачиш розвиток систем керування, порівнюєш можливості версій IDE старішого та сучасного зразків, працюєш з кожним контролером у відповідному IDE.
Це було і велике і цікаве завдання. Це був «живий» елеватор, на котрому зміни в технології не були відображені навіть на папері. Перші тижні ми з представниками елеватора повністю відтворювали технологію, що була розкидана по різних комп’ютерах без відображення фактичних змін за 20+ років. Потім довелося працювати з кожним контролером на ділянках. Відчував себе цифровим-археологом. На запилених старих жорстких дисках знаходив вихідні коди, коментарі розробників польською, німецькою, італійською мовами. В цей час мій напарник займався фізичною складовою електрощитів, розбирав відмінності проєктних схем, що були зроблені вже під час експлуатації елеватора, але ніде не занотовані. Нам все вдалося зробити досить успішно.
Є така особливість, що саме під початок сезону починають впроваджувати великі правки, і потрібно зробити це дуже швидко.
То другий приклад якраз про такий випадок. На елеваторі в сезон потрібно було перевести систему автоматизації на нові рейки. Ми там поставили контролер від PhoenixContact, зі старого контролера зробили станцію розподіленого вводу виводу і почали запускати елеватор. Але проблема була в тому, що нам давали попрацювати лише по півтори-дві години в день. За відведений час щодня ми мали «перепрошити» старий контролер, перенести певні елементи обладнання, і хоча б частково їх перевірити. А потім повернути все назад, щоб елеватор міг продовжити роботу «без перерви на рекламу». І так йшло десь протягом місяця, аж поки ми не завершили повну заміну системи автоматизації. Таким чином посередня за складністю задача перетворилася на досить об’ємну за часом реалізації.
Ви як програміст зі стажем можете розповісти, чи є різниця в підході до автоматизації елеваторів у нас і в других країнах?
Олександр Гумінський: Я не маю великого досвіду в автоматизації елеваторів в інших країнах, але можу допустити, що вони там трішечки більш розвинуті. Автоматизація в сучасному баченні, там з’явилася раніше, і деякі рішення, які вони можуть запровадити, є більш зрілими. Особливо в частині фіксації та передачі відомостей про процеси, яке проходило зерно під час перебування на елеваторі до кінцевого споживача. В розрізі дотичних стандартів НАССР та ISO.
Чи маєте відгуки про вашу роботу?
Олександр Гумінський: Для мене найкращій відгук, коли замовник каже: «Як я і хотів», чи «Так, як має бути». Якщо я спілкуюся із оператором, який експлуатує цю програму, то всі питання та пропозиції розв’язуємо на етапі налагодження. Певен, що менеджери з продажу та керівники проектів отримують більше зворотного зв’язку саме про досвід від довгострокового використання наших продуктів.
Як бачите розвиток вашої спеціалізації?
Олександр Гумінський: Бачу перспективи в розширенні покриття наших програм від утилітарного керування обладнанням елеватора на паралельні процеси аналізу енерговитратності та ефективності, якості зберігання продукції. Розвиток системи технічного обслуговування і ремонту та інтеграція в документообіг підприємства теж вигідно підкреслять нас на фоні конкурентів.
Пане Олександре, дуже дякую за змістовну та цікаву бесіду. Бажаю, щоб все заплановане вдалося!
Інна Воробйова, Elevatorist.com