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

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 и добавляем следующее в конец файла:


  
    Require all denied
  

⠀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 — Проект компрессорной станции

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

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

image

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

Выводы

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

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

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

 

Источник

codesys, genesis, intouch, Iridium, linux, modbus, modbus rtu, opc, open source, plc, raspberry, raspberry cm3, raspberry pi, rs485, scada, scada разработка программирование, simatic, trace mode, wincc, промышленная автоматизация, промышленность

Читайте также