Pull to refresh

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

Reading time6 min
Views24K
image

Winter Is Coming. На смену программируемых логических контроллеров (ПЛК) постепенно приходят встраиваемые персональные компьютеры. Это связано с тем, что мощности компьютеров позволяют одному устройству вобрать в себя функционал программируемого контроллера, сервера, и (при наличии у устройства выхода HDMI) еще и автоматизированного рабочего места оператора. Итого: Web-сервер, OPC-часть, база данных и АРМ в едином корпусе, и всё это по стоимости одного ПЛК.

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

Сразу оговоримся, что задачу можно решать двумя вариантами. Принципиально они не отличаются друг от друга никак, вопрос лишь в эстетической и практической составляющей. Итак, нам необходимо:

1.1 Первый вариант подразумевает наличие непосредственно самого Raspberry Pi 2/3/4, а также наличие USB-конвертера в RS485 (так называемого «свистка», который можно заказать с Alliexpress).

image

Рисунок 1 — Raspberry Pi 2 и USB-конвертер в RS485

1.2 Второй вариант включает в себя любое готовое решение на базе Raspberry, рекомендованное для инсталляций в промышленных условиях cо встроенными RS485 портами. Например, такое, как на рисунке 2, на базе модуля Raspberry CM3+.
image

Рисунок 2 — Устройство AntexGate

2. Устройство с Modbus на несколько управляющих регистров;

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


Этапы разработки:

  1. Часть I. Установка Rapid SCADA на Raspberry;
  2. Часть II. Установка Rapid SCADA на Windows;
  3. Часть III. Разработка проекта и его загрузка на устройство;
  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-available

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. В открывшемся окне вводим логин «admin» и пароль «12345».


Часть II. Установка Rapid SCADA на Windows


Установка Rapid SCADA на Windows потребуется для настройки Raspberry и конфигурации проекта. В теории можно это делать и на самой малине, но в технической поддержке нам посоветовали использовать среду разработки на Windows, поскольку здесь она работает корректнее, чем на Linux.

Итак, приступим:

  1. Обновляем Microsoft .NET Framework до самой свежей версии;
  2. Скачиваем дистрибутив Rapid SCADA для Windows и устанавливаем в автономном режиме;
  3. Запускаем приложение «Администратор». В нём мы будем разрабатывать сам проект.

При разработке необходимо обратить внимание на некоторые моменты:

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

image

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

2. Для перенастройки директорий и корректного развертывания проекта на операционной системе Linux, в настройках необходимо зайти в «Сервер» -> «Общие параметры» и нажать кнопку «Для Linux»:

image

Рисунок 4 — Перенастройка директорий в Rapid SCADA (картинка кликабельна)

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

image

Рисунок 5 — Перенастройка директорий в Rapid SCADA (картинка кликабельна)

При возникновении каких-то вопросов, все дополнительные инструкции по установке можно получить на сайте компании или на их youtube-канале.


Часть III. Разработка проекта и его загрузка на устройство


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

Отдельно хотелось бы отметить ограниченный набор элементов визуализации (рисунок 6). Из встроенных компонентов здесь есть светодиод, кнопка, тумблер, ссылка и указатель. Однако большой плюс в том, что данная SCADA-система поддерживает динамические изображения и текст. При минимальных знаниях графических редакторов (Corel, Adobe Photoshop и др.) можно создавать собственные библиотеки изображений, элементов и текстур, а поддержка GIF-элементов позволит добавить анимацию в визуализацию технологического процесса.

image

Рисунок 6 — Инструменты редактора схем в Rapid SCADA

В рамках данной статьи не было цели расписывать поэтапно процесс графического создания проекта в Rapid SCADA. Поэтому подробно не будем останавливаться на этом пункте. В среде разработчика наш простенький проект «Системы подачи сжатого воздуха» компрессорной станции выглядит следующим образом (рисунок 7):

image

Рисунок 7 — Редактор схем в Rapid SCADA (картинка кликабельна)

Далее заливаем наш проект на устройство. Для этого указываем IP-адрес устройства для передачи проекта не на localhost, а на наш встраиваемый компьютер:

image

Рисунок 8 — Загрузка проекта на устройство в Rapid SCADA (картинка кликабельна)

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

image

Рисунок 9 — Проект компрессорной станции (GIF-анимация кликабельна)

Здесь вы можете скачать файл данного проекта для ознакомления.

На рисунке 10 изображено то, как в целом выглядит то, что у нас получилось.

image

Рисунок 10 — SCADA-система на Raspberry

Выводы


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

Если у вас есть опыт рисования в различных графических редакторах и вас не смущает то, что вам придется самостоятельно создавать элементы мнемосхем, то вариант с Rapid SCADA под Raspberry весьма оптимален. Её функционал как готового решения несколько ограничен, поскольку это Open Source, однако и он позволяет покрыть задачи небольшого производственного здания. Поэтому если подготовить для себя шаблоны визуализации, то вполне можно использовать это решение для интеграции если не всех, то какой-то части своих проектов.

Таким образом, чтобы понять, насколько полезным может быть для вас подобное решение на Raspberry и насколько ваши проекты заменимы Open Source SCADA-системами на Linux, возникает вполне резонный вопрос: какими SCADA-системами вы пользуетесь чаще всего?
Only registered users can participate in poll. Log in, please.
Какими SCADA-системами вы пользуетесь чаще всего?
32% SIMATIC WinCC (TIA Portal)32
12% Intouch Wonderware12
5% Trace mode5
16% CoDeSys16
2% Genesis2
3% PcVue Solutions3
6% Vijeo Citect6
22% Master SCADA22
2% iRidium mobile2
7% Simple-Scada7
7% Rapid SCADA7
1% AggreGate SCADA1
35% Другой вариант (ответ в комментарии)35
100 users voted. 56 users abstained.
Tags:
Hubs:
Total votes 7: ↑7 and ↓0+7
Comments22

Articles