SCADA на Raspberry: міф чи реальність?

SCADA на Raspberry: міф чи реальність?
Winter Is Coming. На зміну програмованих логічних контролерів (ПЛК) поступово приходять вбудовані персональні комп'ютери. Це пов'язано з тим, що потужності комп'ютерів дозволяють одному пристрою увібрати в себе функціонал програмованого контролера, сервера, і (за наявності вихідного пристрою HDMI) ще й автоматизованого робочого місця оператора. Разом: Web-сервер, OPC-частина, база даних та АРМ в єдиному корпусі, і все це за вартістю одного ПЛК.

У статті розглянемо можливість застосування таких комп'ютерів, що вбудовуються в промисловості. Візьмемо за основу пристрій на базі Raspberry Pi, поетапно розпишемо процес встановлення на нього відкритої безкоштовної Open Source SCADA-системи російської розробки - Rapid SCADA, а також розробимо в ній проект абстрактної компресорної станції, завдання якої буде входити віддалене управління компресором і трьома вентилями. і навіть візуалізація технологічного процесу виробництва стиснутого повітря.

Відразу зазначимо, що завдання можна вирішувати двома варіантами. Принципово вони не відрізняються одна від одної ніяк, питання лише в естетичній та практичній складовій. Отже, нам потрібно:

1.1 Перший варіант має на увазі наявність безпосередньо самого Raspberry Pi 2/3/4, а також наявність USB-конвертера в RS485 (так званого "свистка", який можна замовити з Alliexpress).

SCADA на Raspberry: міф чи реальність?
Малюнок 1 — Raspberry Pi 2 та USB-конвертер у RS485

1.2 Другий варіант включає будь-яке готове рішення на базі Raspberry, рекомендоване для інсталяцій в промислових умовах з вбудованими RS485 портами. Наприклад, таке, як малюнку 2, з урахуванням модуля Raspberry CM3+.
SCADA на Raspberry: міф чи реальність?
Малюнок 2 — Пристрій AntexGate

2. Пристрій з Modbus на кілька управляючих регістрів;

3. ПК на Windows для конфігурування проекту.

Етапи розробки:

  1. Частина I. Встановлення Rapid SCADA на Raspberry;
  2. Частина ІІ. Встановлення Rapid SCADA на Windows;
  3. Частина ІІІ. Розробка проекту та його завантаження на пристрій;
  4. Висновки.

Частина I. Встановлення Rapid SCADA на Raspberry

1. Заповнюємо форму на сайті Rapid Scada для отримання дистрибутива та скачуванням останню версію для Linux.

2. Розархівуємо завантажені файли і копіюємо папку scada в директорію / opt пристрою.

3. Кладемо три скрипти з папки Daemons в директорію /etc/init.d

4. Даємо повний доступ трьом папкам програми:

sudo chmod -R ugo+rwx /opt/scada/ScadaWeb/config
sudo chmod -R ugo+rwx /opt/scada/ScadaWeb/log
sudo chmod -R ugo+rwx /opt/scada/ScadaWeb/storage

⠀5. Робимо скрипти виконуваними:

sudo chmod +x /opt/scada/make_executable.sh
sudo /opt/scada/make_executable.sh

⠀6. Додаємо репозиторій:

sudo apt install apt-transport-https dirmngr gnupg ca-certificates
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/debian stable-stretch main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update

⠀7. Встановлюємо Mono .NET Framework:

sudo apt-get install mono-complete

⠀8. Встановлюємо Apache HTTP-сервер:

sudo apt-get install apache2

⠀9. Встановлюємо додаткові модулі:

sudo apt-get install libapache2-mod-mono mono-apache-server4

⠀10. Створюємо посилання на Web-додаток:

sudo ln -s /opt/scada/ScadaWeb /var/www/html/scada

⠀11. Зі скаченого архіву в папці «apache» копіюємо файл scada.conf у директорію / etc / apache2 / sites-доступно

sudo a2ensite scada.conf

⠀12. Переходимо цим шляхом sudo nano /etc/apache2/apache2.conf і додаємо наступне в кінець файлу:

<Directory /var/www/html/scada/>
  <FilesMatch ".(xml|log|bak)$">
    Require all denied
  </FilesMatch>
</Directory>

⠀13. Виконуємо скрипт:

sudo /opt/scada/svc_install.sh

⠀14. Перезавантажуємо Raspberry:

sudo reboot

⠀15. Відкриваємо веб-сайт:

http://IP-адрес устройства/scada

⠀16. У вікні вводимо логін "Адміністратор" і пароль «12345».

Частина ІІ. Встановлення Rapid SCADA на Windows

Встановлення Rapid SCADA на Windows буде потрібно для налаштування Raspberry та конфігурації проекту. Теоретично можна це робити і на самій малині, але в технічній підтримці нам порадили використовувати середовище розробки на Windows, оскільки тут воно працює коректніше, ніж на Linux.

Отже, приступимо:

  1. Оновлюємо Microsoft .NET Framework до найсвіжішої версії;
  2. Викачуємо дистрибутив Rapid SCADA для Windows та встановлюємо в автономному режимі;
  3. Запускаємо програму «Адміністратор». У ньому ми розроблятимемо сам проект.

Під час розробки необхідно звернути увагу на деякі моменти:

1. Нумерація регістрів у цій SCADA-системі починається з 1 адреси, тому нам довелося збільшити нумерацію своїх регістрів на одиницю. У нашому випадку це: 512+1 і таке інше:

SCADA на Raspberry: міф чи реальність?
Рисунок 3 — Нумерація регістрів у Rapid SCADA (картинка клікабельна)

2. Для переналаштування директорій та коректного розгортання проекту на операційній системі Linux, в налаштуваннях необхідно зайти в "Сервер" -> "Загальні параметри" і натиснути кнопку "Для Linux":

SCADA на Raspberry: міф чи реальність?
Малюнок 4 - Переналаштування директорій в Rapid SCADA (картинка клікабельна)

3. Визначаємо порт опитування для Modbus RTU в такий спосіб, як він визначається системі Linux устройства. У нашому випадку це /dev/ttyUSB0

SCADA на Raspberry: міф чи реальність?
Малюнок 5 - Переналаштування директорій в Rapid SCADA (картинка клікабельна)

При виникненні якихось питань, усі додаткові інструкції щодо встановлення можна отримати на сайті компанії або на них youtube-каналі.

Частина ІІІ. Розробка проекту та його завантаження на пристрій

Розробка та візуалізація проекту створюється безпосередньо у самому браузері. Це не зовсім звично після десктопних SCADA-систем, але цілком має місце.

Окремо хотілося б відзначити обмежений набір елементів візуалізації (рис. 6). Зі вбудованих компонентів тут є світлодіод, кнопка, тумблер, посилання та покажчик. Однак великий плюс у тому, що ця SCADA-система підтримує динамічні зображення та текст. За мінімальних знань графічних редакторів (Corel, Adobe Photoshop та ін.) можна створювати власні бібліотеки зображень, елементів та текстур, а підтримка GIF-елементів дозволить додати анімацію у візуалізацію технологічного процесу.

SCADA на Raspberry: міф чи реальність?
Рисунок 6 — Інструменти редактора схем Rapid SCADA

У рамках цієї статті не було мети поетапно розписувати процес графічного створення проекту в Rapid SCADA. Тому докладно не зупинятимемося на цьому пункті. У середовищі розробника наш простенький проект «Системи подачі стисненого повітря» компресорної станції виглядає так (рисунок 7):

SCADA на Raspberry: міф чи реальність?
Рисунок 7 — Редактор схем Rapid SCADA (картинка клікабельна)

Далі заливаємо наш проект на пристрій. Для цього вказуємо IP-адресу пристрою для передачі проекту не на localhost, а на наш комп'ютер, що вбудовується:

SCADA на Raspberry: міф чи реальність?
Рисунок 8 — Завантаження проекту на пристрій Rapid SCADA (картинка клікабельна)

У результаті вийшло щось подібне (рисунок 9). У лівій частині екрана знаходяться світлодіоди, що відображають статус роботи всієї системи (компресора), а також статус засувок (відкриті або закриті), а в центральній частині екрана — візуалізація технологічного процесу з можливістю управління пристроями за допомогою тумблерів. При відкритті тієї чи іншої засувки змінюється колір з сірого на зелений як засувки, так і відповідної їй магістралі.

SCADA на Raspberry: міф чи реальність?
Рисунок 9 - Проект компресорної станції (GIF-анімація клікабельна)

Тут ви можете завантажити файл цього проекту для ознайомлення.

На малюнку 10 зображено те, як виглядає те, що в нас вийшло.

SCADA на Raspberry: міф чи реальність?
Малюнок 10 - SCADA-система на Raspberry

Висновки

Поява потужних промислових комп'ютерів, що вбудовуються, дозволяє розширити і доповнити функціонал програмованих логічних контролерів. Встановлення на них подібних SCADA-систем може покрити завдання невеликого виробництва чи технологічного процесу. Для більших завдань з великою кількістю користувачів або підвищеною вимогою безпеки, швидше за все, доведеться встановлювати повноцінні сервери, шафи автоматики та звичні ПЛК. Однак для точок середньої та малої автоматизації на кшталт невеликих виробничих будівель, котелень, насосних чи розумного будинку — подібне рішення здається доцільним. За нашими підрахунками, подібні пристрої підійдуть до 500 точок введення-виведення даних.

Якщо у вас є досвід малювання в різних графічних редакторах і вас не бентежить те, що вам доведеться самостійно створювати елементи мнемосхем, варіант з Rapid SCADA під Raspberry дуже оптимальний. Її функціонал як готового рішення дещо обмежений, оскільки це Open Source, проте він дозволяє покрити завдання невеликої виробничої будівлі. Тому якщо підготувати для себе шаблони візуалізації, то цілком можна використовувати це рішення для інтеграції, якщо не всіх, то якоїсь частини своїх проектів.

Таким чином, щоб зрозуміти, наскільки корисним може бути для вас подібне рішення на Raspberry і наскільки ваші проекти замінені на Open Source SCADA-системами на Linux, виникає цілком резонне питання: якими SCADA-системами ви користуєтеся найчастіше?

Тільки зареєстровані користувачі можуть брати участь в опитуванні. Увійдіть, будь ласка.

Якими SCADA-системами ви користуєтесь найчастіше?

  • 35.2%SIMATIC WinCC (TIA Portal)18

  • 7.8%Intouch Wonderware4

  • 5.8%Trace mode3

  • 15.6%CoDeSys8

  • 0%Буття0

  • 3.9%PcVue Solutions2

  • 3.9%Vijeo Citect2

  • 17.6%Master SCADA9

  • 3.9%iRidium mobile2

  • 3.9%Simple-Scada2

  • 7.8%Rapid SCADA4

  • 1.9%AggreGate SCADA1

  • 39.2%Інший варіант (відповідь у коментарі)20

Проголосував 51 користувач. Утрималися 33 користувачі.

Джерело: habr.com

Додати коментар або відгук