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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

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: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

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


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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

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



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


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


Главы статьи:


Часть I. Установка Rapid SCADA на Raspberry;

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

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

Выводы.


Часть 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.


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


Обновляем Microsoft .NET Framework до самой свежей версии;

Скачиваем дистрибутив Rapid SCADA для Windows и устанавливаем в автономном режиме;

Запускаем приложение «Администратор». В нём мы будем разрабатывать сам проект.


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


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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

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


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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

Рисунок 4 — Перенастройка директорий в Rapid SCADA


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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

Рисунок 5 — Перенастройка директорий в Rapid SCADA


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


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


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


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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

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


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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

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


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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

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


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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

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


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


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

SCADA на Raspberry: миф или реальность? Scada, Raspberry pi, Зима близко, Гифка, Длиннопост

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


Выводы


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


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

Arduino & Pi

1.4K поста20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу