Embedded-розробки для оптимізації виробництва: чому їх варто впроваджувати
Привіт! Меня звуть Вікторія Таранюк, я Associate QA Manager. Останні 12 років працюю в компанії GlobalLogic.
За ці роки мені пощастило працювати на різних проєктах та стартапах, однак найперспективнішою та цікавою, особисто для мене, стала галузь embedded-розробок. Зокрема, їх інтеграція для оптимізації виробничих процесів.
На мою думку, вбудовані системи — це саме те, що стоїть у центрі так званої Індустрії 4.0, яка своєю чергою базується на IoT, автоматизації і технологіях на основі ШІ. Як перші автоматичні стрічкові конвеєри на початку промислової революції XVIII ст. назавжди змінили світ, так і embended-розробки формують нову революцію, поволі змінюють нашу робочу і не тільки буденність.
У цьому матеріалі я поділюсь власними роздумами, чому багатьом компаніям з найрізноманітніших галузей ще вчора варто було задуматись про інтеграцію embedded-розробок у власні робочі процеси, та як готуватись до цього руху тепер.
Що таке embedded-технології
Перш ніж розпочати, дозвольте трішки оновити знання та стисло розповісти, що саме охоплює термін «embedded-розробки».
Отже, Embedded — це технології, які дозволяють створювати програмні системи, що вбудовані в інші пристрої, такі як промислове обладнання, автомобілі, смартфони, дрони й т.д.
Ключова ідея полягає в тому, що комп’ютерна система знаходиться всередині іншого пристрою та керує його роботою. Таке собі ідеальне злиття та взаємодія між hard та soft. Це може бути як простий контролер, що здатний здійснювати базові обчислення та функціонувати цілий рік на одній батарейці, так і великі інтегровані системи, що можуть вміщати в себе декілька комп’ютерів, операційних систем та SoC (System on Chip), спеціально розроблені для виконання завдань у певній галузі.
Іншими словами, вбудовані системи — це один або кілька пристроїв, що інтегровані в основну систему з метою виконання певної прикладної задачі. Наприклад, embedded-системи можуть використовуватися для моніторингу ефективності обладнання у промислових підприємствах: вбудовані в обладнання сенсори можуть вимірювати рівень енергоспоживання та надсилати дані до центральної системи моніторингу. Це дозволить знизити витрати на електроенергію та підвищити продуктивність, ефективніше використовуючи обладнання.
Або як звичайні датчики руху на промисловій лінії, що дозволяють уникати аварійних ситуацій, фіксувати потрапляння у виробничу стрічку сторонніх предметів та забезпечувати безпеку персоналу. Разом з тим, відповідні датчики можуть використовуватися в системі розумного будинку для контролю освітлення або опалення.
Фанати геймінгу добре знайомі з embedded-технологіями. Наприклад, ґаджети віртуальної реальності (VR) містять датчики руху та спеціальне ПЗ, що занурює користувачів у віртуальний світ та дозволяє взаємодіяти з ним. PlayStation VR або Oculus Rift використовують вбудовані датчики руху та камеру для відстеження рухів користувача та його позиції у просторі.
Використання embedded-розробок зовсім не обмежується сферою розваг та дозвілля. Їх також можна (і потрібно) використовувати, як частину автоматизованої виробничої системи в різноманітних галузях промисловості. Про це й поговоримо далі.
Що вивчати, щоб розвиватись в Embedded
Опишу стек технологій, які стануть у пригоді тим, хто планує працювати і розвиватись у напрямку Embedded. Зазвичай, потрібно опанувати наступні технології:
- Мови програмування:
- C/C++. Більшість вбудованих систем використовують C або C++ завдяки своїм низькорівневим можливостям та ефективному управлінню пам’яттю.
- Мова асемблера. Знання мови асемблера зазвичай потрібне, оскільки вона працює напряму з операціями на процесорі залежно від архітектури без додаткових рівнів абстракції. Такі програми працюють найшвидше та оптимізовані з точки зору обчислювальних ресурсів
- Python. Традиційно, мова Python не використовується у embedded, втім вона повсякчас застосовується у вбудованих програмах вищого рівня, тестуванні або скриптах. Також на Python зручно розробляти обробку структур даних
- Основи роботи з мікроконтролерами: розуміння мікроконтролерів має вирішальне значення, включаючи знання їх архітектури, управління пам’яттю, взаємозв’язок введення/ виведення тощо. Корисно мати практичний досвід роботи з популярними мікроконтролерами, такими як ARM, AVR. Також для навчання є багато готових фреймворків та готових апаратних розширень під esp32
- Real-Time Operating Systems (RTOS, Операційна система реального часу): RTOS часто використовуються в розробці вбудованих систем. Знання операційних систем, таких як FreeRTOS, RTLinux або VxWorks може стати перевагою.
- Embedded Linux: для складніших вбудованих систем зазвичай застосовується Embedded Linux, відомі дистрибутиви для навчання BusyBox та OpenWrt.
- Hardware Description Languages (HDLs, Мова опису апаратури): для FPGA програмування та ASIC design використовуються мови VHDL або Verilog.
- Периферійні інтерфейси: опанування основ роботи з такими широковживаними інтерфейсами, як SPI, I2C, CAN, UART тощо, необхідне для взаємодії з іншими компонентами.
- Налагодження програми або debugging: знання інструментів і методів налагодження, включаючи використання осцилографів і логічних аналізаторів, також може стати необхідним у певних доменах.
- Version Control Systems (Системи управління версіями): як і при будь-якій розробці програмного забезпечення, важливі такі системи управління версіями, як Git.
- Середовище розробки: розуміння основ роботи з інтегрованими середовищами розробки (IDE), що використовуються в розробці вбудованих систем, таких як Keil, IAR або Eclipse, є перевагою. Деяки розробники досі надають перевагу VIM
- Протоколи: Для багатьох проектів необхідно розуміння базового стеку мережевих протоколів TCP/IP. Для бездротової комунікації можуть також знадобитись протоколи більш низького рівня такі як Bluetooth, ZigBee, Wi-Fi та інших протоколів бездротового зв’язку для підключених пристроїв (IoT).
Крім того, важливим для роботи є розуміння принципів цифрової електроніки та проєктування схем. Також розуміння того, як управляти живленням (power management) — часто це має вирішальне значення у вбудованих системах, особливо для акумуляторних пристроїв.
Втім памʼятайте, що перелік необхідних компетенцій може сильно залежати від того, з якими вбудованими системами ви будете працювати — невеликі системи на основі мікроконтролерів вимагатимуть зовсім іншого набору навичок ніж складні, побудовані на Linux.
Вбудовані системи: призначення, сфери та способи застосування
Embedded-розробки стрімко набувають все більшої значущості в різних галузях виробництва та виробничих компаніях, оскільки дозволяють ефективно керувати процесами виробництва та ресурсами, автоматизувати рутинні операції, заощаджувати час та зменшувати витрати.
В першу чергу на думку спадають наступні ринки: харчова промисловість, автомобілі, муніципальна інфраструктура, сільське господарство, машинобудівництво, пристрої для обміну даними, медицина та фармацевтика. Розгляньмо деякі з них детальніше:
Харчова промисловість. Процес виробництва харчових продуктів складається з багатьох не найпростіших етапів. На кожному з них підприємству необхідно відстежувати якість продукції, дотримуватись санітарних норм, законодавчих та галузевих стандартів. Тут на сцену й виходять embedded-розробки.
Наприклад, автоматизовані системи контролю температури та вологості складських приміщень. Ці системи допомагають відстежувати умови зберігання та попереджають про можливі зміни, що може запобігти псуванню продукції.
Ще один приклад — використовувати ці технології для вимірювання ваги або візуальному аналізу, завдяки технологіям комп’ютерного зору. Ці системи дозволяють автоматизувати майже повністю лінію виробництва. Окрема увага також надається керуванню механічними маніпуляторами.
Варто відмітити, що безпосередньо на лініях виробництва є також певний перелік стандартів, технологій та специфічні протоколи передачі даних: SCADA, PLC, DNP3, Modbus
Муніципальна інфраструктура. Розумне паркування — це яскравий приклад вбудованої розробки. Завдяки датчикам, комп’ютерному зору та функціям аналізу даних можна забезпечити багатофункціональний моніторинг руху автомобілів на парковках, а також контроль за вільними місцями для паркування.
Серед прикладів embedded-розробок у smart-паркуванні є і системи автоматичного визначення номерних знаків, і системи розпізнавання облич, а також системи звукового та світлового сигналу про зайняті та вільні місця на майданчику.
Наприклад, одним з проєктів, над якими ми працювали в компанії, є технології вбудованого міста. Для розвитку автономних автомобілів та віддаленого керування нам довелося придумати, як об’єднати різну дорожню інфраструктуру.
Для створення таких систем використовувались групи индустріальних стандартів, таких як RSU4.1, NTCIP, SAE2735, що визначають певну структуру даних та протоколи комунікації, яким повинна відповідати дорожня інфраструктура. Потім, за допомогою індустріальних маршрутизаторів, нам вдалося розробити конектори під кожен протокол (SDN, Software Defined Network), що забезпечило стабільну відправку та отримання даних.
А після отримання даних ми мусили вирішити, як їх обробляти. Зазвичай це питання вирішується додаванням ще одного рівня до архітектури, а саме EDGE intelligence. На рівні EDGE додається логіка з обробки даних, яка дозволяє реалізувати бізнесові задачі, наприклад, отримати дані з погодних радарів, налаштувати динамічні знаки та сповістити водіїв. Наприклад, у разі потреби, швидка допомога може запросити зелений сигнал світлофора на окремій смузі.
Сільське господарство. Embedded-розробки не перший рік використовуються аграріями та фермерами. Завдяки датчикам у ґрунті та обладнанню, що підключене до інтернету речей, можна вимірювати вологість ґрунту, температуру, кількість світла та інші параметри, необхідні для ефективного вирощування культур.
Медицина. Embedded-системи знаходять все більше застосування в медичній галузі, зокрема у медичній техніці. Мікроконтролери та мікропроцесори використовуються у медичних приладах, таких як електрокардіографи, апарати штучної вентиляції легень, інсулінові помпи, медичні сканери та інші.
Ці системи забезпечують точність, швидкість та надійність пристроїв, а також дозволяють медикам швидко отримувати результати досліджень та контролювати показники здоров’я пацієнтів в режимі реального часу. Якось я брала участь у проєкті зі збору медичних аналізів в домашніх умовах, які потім відправлялися для обробки в базу даних у хмарі.
Як бачимо, вбудовані системи досить широко використовуються, і з цього можна окреслити ключові задачі та ролі, що «лягають на плечі» embedded-розробок.
- Перш за все, вони допомагають уніфікувати та централізувати контроль над виробничою архітектурою, і таким чином дозволяють вчасно реагувати на зміни будь-яких критичних показників, таких як температура, тиск, вологість тощо.
- Крім того, можуть використовуватися для діагностичного та профілактичного обслуговування, що знижує витрати на технічне обслуговування.
- Автоматизація та оптимізація виробництва також можуть бути досягнуті за допомогою вбудованих систем, оскільки вони чудово справляються з контролем енергетичних та виробничих ресурсів.
- Вбудовані системи незамінні у небезпечному виробництві, оскільки можуть працювати в неприйнятних для людини умовах. Високі температури, тиск або відсутність повітря є також однією із задач, що вирішуються задопомогою вбудованих систем.
Централізований збір даних, дистанційне керування та інші переваги
З огляду на свій досвід скажу, що Україна має значний науковий і технічний потенціал до розвитку у багатьох технічних галузях. Так, мій тато працював над технологією віддаленого контролю печі для плавлення титану та нанесення плазми для надстійкого покриття. Вона дозволяє зменшити втрати матеріалів, які виникають через людський фактор під час виробництва. З цією розробкою виробництво металів та сплавів може стати ефективнішим та прибутковішим.
Дедалі більше компаній вирішують скористатись можливостями вбудованих систем, щоб оптимізувати виробничі процеси та підвищити загальну ефективність підприємства. З попереднього розділу ми вже знаємо, що embedded-технології використовуються в різних сферах та галузях.
Тож далі розглянемо декілька ключових переваг embedded-систем, які допоможуть зрозуміти, чому саме ці технології можуть бути корисними для вашого бізнесу.
Однією з найважливіших переваг використання embedded-систем є можливість керування з будь-якого пристрою, включаючи ПК, планшет чи смартфон. Оператори можуть віддалено контролювати та керувати виробництвом, що сприяє ефективному використанню часу та зменшенню витрат на персонал.
Крім того, така можливість дозволяє відстежувати бажані показники в режимі реального часу та отримувати повідомлення про будь-які відхилення або проблеми, а значить — вчасно реагувати та уникати можливих проблем.
Не варто забувати й про здатність до інтеграції в будь-які архітектурні рішення: вбудовані системи можуть бути, власне, вбудовані в пристрої, обладнання або мережі, що робить їх невіддільною частиною складних систем. Здатність до інтеграції є особливо корисною у виробничому середовищі, де їх використання особливо впливає на автоматизацію та оптимізацію виробництва.
Так, здатність до інтеграції дозволяє заощаджувати час та кошти на розробку й подальший випуск власних систем, а також забезпечує сумісність та міжоператорську інтеграцію з іншими системами. Тому вбудовані системи вже сьогодні стають незамінними елементами багатьох промислових та побутових пристроїв.
Embedded-технології досить адаптивні у питанні вартості обслуговування. Вона може варіюватись, оскільки залежить від багатьох факторів: складність системи, її надійність та рівень інтеграції з іншими компонентами, доступність запасних частин впливають на ціну. А також від того, наскільки ефективно проєктувалися самі embedded-системи.
Гнучкість та легка конфігурація embedded-систем дозволяють перелаштовуватись та розширятись разом з бізнесом, змінюватись відповідно до потреб компанії або клієнтів. Вони можуть бути налаштовані на конкретні потреби та вимоги, а також легко модифікуються у разі появи нових вимог до їх функціональності.
Застосування embedded-технологій може забезпечити ефективніше використання ресурсів, зниження вартості обслуговування, збільшення продуктивності та поліпшення якості продукції. Таким чином, embedded-технології є важливим інструментом для будь-якого бізнесу, який бажає залишатись конкурентоспроможним та ефективним.
Постійний розвиток технологій та поширення IoT буде й надалі створювати нові можливості для застосування embedded-систем. А які застосування embedded-технологій ви знаєте або використовуєте у своєму житті? Як вони покращили якість вашого життя або роботу вашого бізнесу?
126 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів