OpenSCADA 0.8.0 LTS
Савоченко Роман Алексеевич
OpenSCADA Team
http://oscada.org
Аннотация
Доклад посвящен обзору новой промышленной версии проекта OpenSCADA продолжительной поддержки 0.8.0. Будут также рассмотрены интересные решения и расширения, реализованные с момента выпуска нового стабильного релиза.
Введение OpenSCADA представляет собой открытую SCADA систему, построенную по принципам модульности, многоплатформенности и масштабируемости. SCADA (Supervisory Control And Data Acquisition) в переводе: «Системы диспетчерского управления и сбора данных» является термином, который часто употребляется в сфере автоматизации технологических процессов. Система OpenSCADA предназначена для: сбора, архивирования, визуализации информации, выдачи управляющих воздействий, а также других родственных операций над данными реального времени, характерных для полнофункциональной SCADA системы.
Открытая SCADA — система OpenSCADA разрабатывается с 2003 года и на данный момент находится на стадии всестороннего промышленного внедрения и эксплуатации посредством новой версии продолжительной поддержки — 0.8.0 LTS. Параллельно продолжается работа по дальнейшему развитию и совершенствованию проекта, в значительной степени нацеленной на стабилизацию, расширение функциональности и области применения, адаптацию исполнения на альтернативных аппаратных и программных платформах.
Основными целями, которые преследует проект, являются:
открытость;
надежность;
гибкость;
масштабируемость;
многоплатформенность;
безопасность;
доступность;
удобный и разнообразный пользовательский интерфейс.
Система OpenSCADA предназначена как для выполнения обычных функций SCADA систем, так и для использования в смежных областях информационных технологий. Система OpenSCADA может использоваться для следующих целей:
создание АСУ ТП (SCADA) или систем телемеханики;
построение систем мониторинга или управления домовой автоматикой;
создание встраиваемых систем (среда исполнения ПЛК);
построение динамических моделей и имитаторов;
использование на ПК, серверах и кластерах: обработка информации об ОС, её окружении и оборудовании;
ERP, биллинг, статистика.
^
На основе проекта OpenSCADA построен широкий спектр решений автоматизации, которые ярко демонстрируют возможности, а также являются признаком готовности системы для широкого промышленного применения.
В целом OpenSCADA использовалась командой разработчиков для решения задач:
создания двух полномасштабных динамических моделей технологических процессов (ТП) и систем управления ими;
адаптации OpenSCADA на десяток встраиваемых систем;
адаптации OpenSCADA на промышленные контроллеры: ICP_DAS LP-8781 и LP-5141;
адаптации OpenSCADA на мобильные устройства: Nokia N800, N900, N950, что позволило собрать пакеты для исполнения на платформах Maemo 4.1 Diablo, Maemo 5 Fremantle и MeeGoo 1.2 Harmattan, а значит и охватить почти весь ряда Linux-смартфонов и наладонных компьютеров фирмы Nokia: N800, N810, N900, N950 и N9; что в свою очередь позволяет создавать мобильные пульты управления технологическими процессами на основе OpenSCADA;
создания десятка проектов реализации человеко-машинного интерфейса ТП.
Хотелось бы отметить, что существует ещё достаточно большое количество решений от пользователей OpenSCADA. ^ Релиз открытой SCADA(Supervisory control and data acquisition) системы версии 0.8.0 является стабильным промышленным релизом продолжительной поддержки (LTS).
Основной целью данного релиза является предоставление сообществу пользователей и разработчиков свободного программного обеспечения (ПО) стабильной платформы для построения решений комплексных систем автоматизации и других смежных решений, а также предоставление коммерческих услуг на основе проекта OpenSCADA.
Данный релиз является следующим стабильным релизом, для которого предоставляется техническая поддержка от разработчиков и для которого планируется выпуск исправлений в течение продолжительного времени. Жизненный цикл предыдущего стабильного релиза 0.7.0 продолжительной поддержки (LTS) закончился после выпуска версии 0.8.0, последним обновлением.
Ключевыми особенностями данной версии являются:
Реализация плановых задач.
Оптимизация, повышение стабильности, устойчивости и производительности системы.
Усовершенствование и стабилизация графической подсистемы.
Формирование, расширение и стабилизация API пользовательского программирования.
Общесистемные расширения.
Публикация решений OpenSCADA.
В соответствии с планом релиза были выполнены следующие задачи:
Формирование предоставления коммерческих услуг на основе OpenSCADA. — Выстроена концепция и созданы механизмы предоставления коммерческих услуг разработчиками на основе OpenSCADA (http://oscada.org/ru/uslugi).
Адаптация системы OpenSCADA для работы на аппаратной платформе ARM. — Осуществлена сборка, адаптация и полномасштабное тестирование OpenSCADA на архитектуре ARM; адаптация и тестирование проводились на интернет планшете фирмы Nokia — N800(http://wiki.oscada.org/Works/Tests/ARM). Выполнена сборка и адаптация OpenSCADA для сложного (очень старого) программного окружения контроллера LP-5451, а также сборка для контроллера SMH2Gi, Tion-Pro-270 и смартфонов фирма Nokia: N900, N950, N9.
Реализация механизма откатов изменений редактирования в Vision. — В рамках окна визуального редактирования виджетов реализован многоуровневый механизм отката изменений для всех основных операций: визуальное изменение геометрии, изменение значения атрибута виджета, добавление/удаление виджета, копирование виджета и редактирование виджетов на основе примитива "ElFigure".
С момента последнего стабильного релиза и в процессе работ над данной версией, а также её практической адаптации было обнаружено и исправлено в общей сложности более 300 ошибок.
Из наиболее важных изменений в системе OpenSCADA нужно отметить следующие:
Реорганизация дерева исходных текстов и сборочной системы, в результате чего реализовано:
файлы ресурсов, документации и баз данных библиотек выделены в отдельную директорию и пакет;
добавлена возможность отключения многих внешних функций для «бедных» встраиваемых систем;
добавлена функция включения (встраивания) модулей в библиотеку ядра;
автоматическая обработка дампов памяти при крушении программы.
Работа с конфигурационным файлом, как с БД, — модификация.
Реализация безопасных для потоков пользовательских объектов и манипуляции объектами через атрибуты параметров наравне с базовыми типами данных.
Общий список текущих возможностей модульных-расширяемых подсистем OpenSCADA:
БД: работа с БД: DBF, MySQL, SQLite, FireBird и PostgreSQL.
Транспорты: внешнее взаимодействие посредством:
интерфейсов: сокетов (TCP, UDP, UNIX), SSL и последовательных интерфейсов;
протоколов: HTTP, ModBus, OPC UA, собственного и пользовательского протоколов.
Сбор данных: обмен данными с устройствами поддерживаемых типов и способов взаимодействия, а также формирование данных посредством трёх механизмов сбора. Кроме осуществления сбора данных непосредственно с помощью реализованных модулей подсистемы «Сбор данных» возможна реализация опроса сетевых источников данных с простыми протоколами обмена путём их реализации прямо на языке внутреннего программирования OpenSCADA. Общий перечень модулей источников данных подсистемы «Сбор данных» в версии 0.8.0 LTS:
платы устройств сопряжения с объектом (УСО) фирмы «Diamond Systems»;
сбор данных операционной системы (ОС): сенсоры материнской платы, нагрузка процессора, использование памяти, доступ к дискам, сети и т.д.;
блочный вычислитель — построение различного рода блочных схем (логические, релейные, FBD, …);
вычислитель на Java-подобном языке — все вычисления пользователя на любом уровне системы OpenSCADA;
логический уровень параметров — абстрактный слой обработки данных «сырых» источников и предоставления их в концентрированном виде объекта контроля;
сетевые устройства посредством SNMP;
ПЛК фирмы Siemens и схожие;
ПЛК по протоколу ModBus;
устройства сопряжения с объектом (УСО) по протоколу «DCON»;
оборудование фирмы «ICP DAS»: модули серии I8k и I87k;
шлюз источников данных OpenSCADA — отражение источников данных удалённых станций OpenSCADA;
входы звуковых карт;
источники данных посредством протокола «OPC UA»;
автоматика фирмы «Big Dutchman» для автоматизации птичного хозяйства посредством концентратора BFN.
Архивирование данных: архивирование данных на файловую систему и БД.
Пользовательские интерфейсы: наличие интерфейсов конфигурации, разработки и исполнения двух типов: на основе библиотеки QT4 и Web-технологий.
Специальные: предоставление специальных расширений:
библиотеки пользовательского API: функции совместимости с Complex1, математические и системные функции;
статические тесты компонентов OpenSCADA.
^ К стабильной версии OpenSCADA продолжительной поддержки 0.8.0 уже было выпущено два плановых и одно внеплановое обновление, в рамках который было исправлено более 50 ошибок из них около десятка критических, а так-же внесён ряд расширений. Все эти исправления были осуществлены не в последнюю очередь благодаря продолжению работ по интеграции как в новые решения, так и поддержки уже созданных.
Из новых решений и расширений хотелось бы отметить следующие:
Сборка TDE 3.5.13, проекта развития KDE3, для дистрибутивов ALTLinux, а так-же стабилизация и исправление значительных и застарелых проблем.
Построение дистрибутива систем автоматизации, основанного на ALTLinux T6, TDE 3.5.13 и OpenSCADA 0.8.0 LTS. Дистрибутив выполнен в виде образа живого диска, который можно записать как на оптический диск, так и на флешь(hdd)-диск, а затем использовать автономно или для развёртывания оптимальной и надёжной среды автоматизации на основе OpenSCADA.
Реализация системы диспетчеризации парового котла №1 ОАО «БаглейКокс», г. Днепродзержинск. В рамках этой системы была выполнена интеграция OpenSCADA в оборудование с достаточно низкой производительностью:
ПЛК: Индустриальный ПК (Advantech PCA-6753, 200MHz) с платами: A8113, DIO-144.
АРМ: Сенсорный панельный ПК (PPC-L126T, 12", VIA Eden 667 MHz, 128 MB).
Создание нового модуля DAQ.Comedi для работы с платами сбора данных на шинах ISA, PCI, PCMCIA и USB посредством библиотеки и драйверов проекта Comedi.
Расширение модуля DAQ.ICP_DAS на предмет поддержки значительной части устройств фирмы «ICP DAS» на шине ISA, для серии I8k и I87k.
Заключение Интегрированная SCADA-система OpenSCADA является развитой, готовой и использующейся в сложных промышленных условиях для выполнения полного спектра задач автоматизированного управления технологическими процессами и автоматизации в целом. Кроме того, благодаря развитому окружению пользовательского программирования, OpenSCADA может использоваться во многих смежных областях работы с данными в реальном времени, например, биллинговые и ERP системы.
В версии промышленного релиза OpenSCADA 0.8.0 LTS выполнена адаптация для работы на аппаратной платформе ARM, в дополнении к уже поддерживающимся платформам X86 и X86_64.
Команда разработчиков OpenSCADA благодарна Вам за внимание к проекту и приглашает к его применению для решения ваших задач автоматизации. |