27...30го апреля 2017г. в городе Львов(Украина): Международная научно-практическая конференция FOSS Lviv: "OpenSCADA — открытая SCADA система в перспективах релиза 0.9LTS" |
27.04.2017 10:00 Давность: 9 yrs
|
Конференция состоялась! На конференции зачитан доклад про перспективы новой версии продолжительной поддержки 0.9.
Большая благодарность команде FossLviv!
Также большая благодарность Чоповскому Сергею за родственный доклад к OpenSCADA!
Сайт конференции: conference.linux.lviv.ua
Текущей стабильной версией продолжительной поддержки проекта OpenSCADA является 0.8 которая была выпущена в 2012 году и для которой всё это время выпускаются обновления. Также, в рамках текущей рабочей версии 0.9, продолжается основной процесс разработки, который к концу этого года (2017) должен достичь запланированной стадии и результатом чего должен стать выпуск новой стабильной версии продолжительной поддержки 0.9 LTS. В данной докладе проект свободной SCADA системы стабильной версии 0.9 предварительно представляется их соображений на её возможности, как развитой SCADA системы, в основной и смежных областях назначения, и в показательных примерах её использования.
Проект OpenSCADA основан в 2003 году Савоченко Романом, как свободную реализация Системы Диспетчерского Контроля и Сбора Данных (SCADA) или Человеко Машинный Интерфейс (HMI), на основе опыта использования и разработки коммерческой SCADA-системы.
SCADA или HMI системы в целом предназначены и используются для осуществления человеком оперативного контроля за работой сложного и ответственного технологического оборудования и процессов различных производственных предприятий.
На данный момент проект OpenSCADA является развитой SCADA/HMI системой, которая довольно широко используется как по прямому назначению, так, благодаря своей гибкости, и во многих смежных отраслях, таких как: динамичные модели, имитаторы и тренажеры технологических процессов реального времени, среда исполнения Программированных Логических Контроллеров (ПЛК), мониторинг оборудования серверов, построение умного дома и домовой автоматики. С некоторыми ограничениями и доработками, значительным образом в внутреннем окружении пользователя, OpenSCADA может использоваться и в отраслях: биллинговые системы, Управление Ресурсами Предприятия (ERP), учёт и бухгалтерия. Таким образом OpenSCADA с уверенностью можно называть в целом — динамическая система работы с данными реального времени.
Поскольку проект является свободным, предоставляется в основном под лицензией GPLv2, пользователь может свободно получить доступ к исходным текстам проекта, собрать его и использовать. Готовые сборки и пакеты программы на данный момент предоставляются для многих известных дистрибутивов и окружений Linux, на главном ресурсе проекта oscada.org. Для свободно-полученных исходных текстов, бинарных архивов или пакетов на форуме проекта предоставляется ограниченная бесплатная поддержка, в основном для проблем, которые разработчик может быстро локализовать у себя и для неспецифических пользовательских окружений. Для получения полноценной поддержки пользователь имеет возможность приобрести пакет коммерческой технической поддержки у разработчиков проекта. Кроме коммерческой поддержки пользователь может приобрести услуги по разработке решений на основе OpenSCADA как непосредственно у разработчиков, так и у сторонних интеграторов. Отсутствующие функции или расширения, которые не противоречат концепции проекта, пользователь может также заказать разработчикам OpenSCADA.
Основной процесс разработки обеспечивается автором и главным разработчиком OpenSCADA Савоченко Романом, который соответственно и определяет этот процесс. Разработка осуществляется исключительно в пределах рабочей версии, путём целевой стабилизации и расширения, в процессе реализации решений разработчиков и пользователей. С началом 2016 года и достижения текущей рабочей версией приемлемого уровня стабильности, при внедрении всех ключевых изменений в архитектуре и концепции, была обновлена дорожная карта и начат процесс подготовки к выпуску релиза стабильной версии 0.9 LTS. Всё это время продолжают выпускаться обновления предыдущей стабильной версии 0.8 LTS!
На данный момент основное время и усилия разработчиков положено на завершение условных заданий выпуска новой стабильной версии 0.9 LTS.
Лицом предстоящего релиза 0.9 LTS является соответствующая рабочая версия в пределах которой и в течении последних пяти лет производится разработка и стабилизация, путём внедрения в различные решения. На основе OpenSCADA построено множество решений непосредственно автором, при его участии и даже без его ведома поэтому ниже будут отмечены только решения к которым автор OpenSCADA имеет отношение.
Автоматизированные системы управления технологическими процессами (АСУ ТП) и окружения исполнения ПЛК:
“Система Автоматизации Метрополитена”, 2016 (Оптима). Поддержка продолжается...
“САУ шаровых барабанных мельниц ШБМ 287\410 котлоагрегата №8 БКЗ 160–100 ПТ”, в 2010 для №7,9 и в 2015 для №8. В качестве ПЛК использован ICP-DAS LP-8781 с OpenSCADA в роли среды исполнения ПЛК. Поддержка продолжается ...
“САУ Фосфатирования, Амминирования и Гидразина котлоагрегатов БКЗ 160–100 ПТ”, 2014 после освобождения от оккупации. В качестве ПЛК использован ICP-DAS LP-8781 с OpenSCADA в роли среды исполнения ПЛК. Поддержка продолжается ...
Система Контроля Реактивности (СКР) Ядерной Подкритической Установки (ЯПУ), 2013...2015. Прерван.
Система сбора и визуализации котла №1 цеха ТЕЦ, 2012.
Вакуумная технологическая установка, 2011. Поддержка продолжается ...
Диспетчеризация электрощитовой, 2011.
Диспетчеризация птичьего хозяйства, 2010. Поддержка продолжается ...
Диспетчеризация вагономоечного комплекса, 2009
Динамические модели технологических процессов реального времени:
Динамическая модель ТП парового котла, с 2007 года и на текущий день, как демонстрация OpenSCADA.
Динамическая модель ТП АГЛКС, с 2006 рода и по текущий день, как демонстрация OpenSCADA.
Встраиваемые системы: ICP DAS LP-xxxx; Segnetics SMH2Gi; Diamond Systems ATH400-128; Kontron MOPSlcdLX; Tri-M VSX104, ICOP VDX-6354; ООО "А-ТЕКС" iROBO-Fanless; Завод Электрооборудования Тіон-Про270; Avalue FPC-1705; Advantech PCA-6753, PPC-L126; "Raspberry Pi Foundation" RPi 1, 2, 3; Orange Pi Zero.
Мобильные устройства: Nokia N800, N810, N900, N950, N9; на данный момент готовится поддержка Android.
Умный дом и домовая автоматика: Умный дом (HouseSpirit), 2011; Собственный умный дом с системой диспетчеризации сервера, 2014 и на данный момент.
Другие решения около проекта OpenSCADA и его инфраструктуры:
Собственный сервер проекта OpenSCADA и канал подключения к интернет, 2014. Кроме действующих сервисов на новом сервере было развёрнуто: туннельное подключение для предоставления удалённого сервису; автоматический сборщик проекта; модели “АГЛКС” и “Бойлер” с демонстрационным Web-доступом к ним из вне; умный дом на основе OpenSCADA с функциями мониторинга сервера и ERP.
Автоматический сборщик проекта OpenSCADA (2015) для упрощения сборок и пересборок пакетов, бинарных архивов и живых дисков дистрибутива автоматизации на основе OpenSCADA. Сборщик предусматривает проверку репозитория исходных текстов OpenSCADA Subversion и сборку двух веток, а именно: стабильную (LTS), сейчас 0.8, и рабочей, сейчас 0.9.
Дистрибутив Linux систем автоматизации на основе проекта OpenSCADA (2012) отделён и формализован в проекте “Дистрибутив автоматизации Linux проекта OpenSCADA”. Репозитории пакетов дистрибутива, в первую очередь, включают пакеты самой OpenSCADA, а также ряд пакетов операционной системы и окружения, адаптированных и собранных специально для этого проекта. На данный момент осуществлена замена базы дистрибутива автоматизации с дистрибутива ALTLinux на Debian, в виду множества причин как технического, так и политического характера. Живые диски, а сейчас и проект “Дистрибутив автоматизации Linux проекта OpenSCADA”, создаётся:
для предоставления быстрого и простейшего способа знакомства и развёртывания решений с OpenSCADA в проверенном и надёжном окружении Linux;
как платформа для ПЛК и панельных ПК/ПЛК аппаратных архитектур: x86, x86_64 и АРМ;
как платформа для комплексных решений систем автоматизации в создании сборного диска проекта системы автоматизации совместно с установщиком типового, оптимизированного и стабилизированного окружения; документацией и другими файлами конфигурации частей проекта;
для обеспечения сервисных функций около программного обеспечения и оборудования автора и решений систем автоматизации.
Будущую стабильную версию значительным образом можно оценить уже сейчас, не ожидая официального анонса и ответвления от рабочей версии. А именно, использовав регулярные сборки текущей рабочей версии в виде: живых дисков, пакетов и репозиториев пакетов. А учитывая тот факт, что текущая стабильная версия поддерживается с её официального выпуска (выпущено уже 17 обновлений) то много функций присутствуют там; т.е. для целевого ознакомления с отдельными функциями Вы можете использовать даже текущую стабильную версию.
На данный момент активно ведутся работы над двумя задачами кросс-платформенности, а именно:
Расширение модулей, присутствующих WEB-интерфейсов, до уровня современных Web-технологий и к как можно ближе к функциональным возможностям основных их аналогов на основе Qt.
Адаптация к исполнению на программной платформе “Android”.
Из уже присутствующих значительных возможностей и особенностей будущего релиза 0.9 LTS нужно отметить следующие, системные:
Значительная стабилизация ядра OpenSCADA, унификация контроля внутренних ресурсов и расширение возможностей отладки пользователем. Так, код динамического объекта OpenSCADA уже даже включен в текущую стабильную ветвь, обновлением 17.
Расширение механизма резервирования, который потенциально предусматривает резервирование любой подсистемы и на данный момент реализует резервирование подсистем “Сбор данных” и “Архивация”.
Поддержка иерархичных параметров объектов контролеров сбора данных.
Механизм динамического перевода сообщений, который предусматривает возможность изменения языка интерфейса пользователя по смене пользователя интерфейса (реализуется не в полном объёме).
Механизм вызова/открытия документации проекта, который с модернизацией Базы Знаний (Wiki) проекта OpenSCADA будет предусматривать обновления offline документации с обновлением стабильной версии.
Переход на схему разработки Work/LTS, то есть разработка в рамках рабочей версии и выпуск обновлений к стабильной версии путём обратного портирования совместимых изменений из рабочей версии. Фактически переход произошёл в 2013 году когда текущей стабильной версией признана 0.8 LTS, а рабочей 0.9 Work.
Изменение версий модулей происходит со сменой в коде модуля и перед их выгрузкой в репозиторий выходных текстов.
Унификация и разработка нового механизма запуска программы из программы-менеджера проектов OpenSCADA. Вероятно, что этот механизм будет расширен с переносом его в модуль UI.QTStarter, в рамках адаптации к программной платформе “Android”.
Переход на преимущественную реализацию источников данных сетевого типа с протоколами низкой и средней сложности из отдельного модуля OpenSCADA на процедуру внутреннего окружения OpenSCADA. На данный момент реализована поддержка оборудования и функций с помощью концепции пользовательского протокола:
Отправка SMS сообщений (SMS) и электронных писем (SMTP).
Источник Бесперебойного Питания (UPS) как объект данных с атрибутами со значениями.
Простые сенсоры и датчики: Елемер TM510x; EDWARDS TURBOMOLECULAR PUMPS (SCU750); Sycon Multi Drop Protocol (SMDP); Блок питания турбо-молекулярного насоса (TMP-xx03); Измерение температуры IT-3 (IT3); IVE-452HS-02; OPTRIS CT/CTL; CTR 100, 101.
Компьютер теплового счётчика VKT7.
IEC-60870-104.
Тестовые реализации и примеры: DCON, OWEN.
One Wire с помощью {DS9097,DS9097U} (1W_{DS9097,DS9097}) для чипов: DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438.
I2C: PCF8591, PCF8574, BMP180, DS3231, AT24C{32|64}.
GPIO: DHT11,22 (AM23XX). GPIO|I2C: 1602A(HD44780).
В рабочей версии были створены новые модули и значительным образом обновлены существующие:
Добавлены новые модули:
MMS(IEC-9506) (DAQ.MMS) — модуль поддержки обмена данных из источниками данных по протоколу Manufacturing Message Specification (MMS, IEC-9506).
Comedi (DAQ.Comedi) — модуль поддержки источников данных реального времени (библиотека “Comedi”), которые основаны на платах сбора данных (DAQ) различных производителей и устанавливаются на шине: ISA, PCI, PCMCIA и USB.
SMH2Gi (DAQ.SMH2Gi) — модуль реализации доступа к аппаратным модулям источникам данных ПЛК Segnetics SMH2Gi "MC", "MR", а также взаимодействия с оригинальным окружением "SMLogix".
Fastwel IO (DAQ.Fastwel) — модуль обмена данными с аппаратными модулями Fastwel IO.
FT3 (АПСТМ) (DAQ.FT3) — модуль обмена данными с контроллерами АПСТМ, АСДКУ, СУАП.
BCM2835 (DAQ.BCM2835) — модуль доступа по GPIO одноплатных ПК Raspberry Pi и совместимых.
Вычислитель на основе Java-подобного языка (DAQ.JavaLikeCalc) значительно стабилизирован, оптимизирован и расширен: сохранением контекста вычисления функции, поддержкой внутренних функций, динамического перевода сообщений и многими другими функциями интерфейса пользовательского программирования в целом.
Логический уровень параметров (DAQ.LogicLev) значительно стабилизирован.
Шлюз источников данных (DAQ.DAQGate) значительно стабилизирован и расширен шлюзованием сообщений, связанных с выбранным источником данных.
Сбор данных ОС (DAQ.System) стабилизирован, несколько расширен источниками данных: “Файловая Система”, “ИБП”; и возможностью отделения медленных источников от быстрых.
ModBus ({DAQ,Protocol}.ModBus) стабилизирован и расширен поддержкой строки как последовательности значений регистров.
Клиент DCON (DAQ.DCON) значительно расширен поддержкой специфических модулей.
OPC-UA (DAQ.OPC_UA) значительно стабилизирован и расширен реализацией, в клиентской части сервиса, публикацией и поддержкой “кусков”; специфический код протокола выделен в библиотеку.
Оборудование ICP_DAS (DAQ.ICP_DAS) значительно расширено, а фактически полностью переписано, поддержкой всех присутствующих плат сбора данных от фирмы ICP_DAS для серии I8k, I-87k, на шине ISA и унифицированные типы для стандартных модулей серии I7k.
Siemens S7 ПЛК (DAQ.Siemens) значительно стабилизирован и расширен собственной реализацией ISO-TSAP.
Diamond платы сбора данных (DAQ.DiamondBoards) значительно расширены, а фактически полностью переписаны, поддержкой всех присутствующих плат сбора данных от фирмы Diamond Systems.
Устройства АСКО (DAQ.AMRDevs) расширено, реализованной полностью, поддержкой счётчика Контар (МЗТА).
Все модули БД значительно стабилизированы, увеличена их производительность и расширены динамическим переводом и режимом предзагрузки сканирующего запроса.
Архиватор на БД (Archive.DBArch) значительно расширен оптимизацией записи и чтения БД, а именно это: групповая запись нескольких архивов в одну таблицу, чтение блоками, кратными десяти, в одном запросе и восстановление перечня архивов из информации в БД.
Архиватор на ФС (Archive.FSArch) значительно стабилизирован и дополнен абсолютным ограничением размеру архиву на диске.
Значительная стабилизация, увеличение производительности и расширение транспортов на предмет режима пуллинга входных транспортов и протоколов.
Сокеты (DAQ.Sockets) расширены поддержкой шины RAWCAN и диагностической информацией.
Последовательный интерфейс (Transport.Serial) расширен поддержкой низкоуровневой шины I2C; специальными пользовательскими функциями последовательного интерфейса: “sendbreak”, “TS”, “DR”, “DCD”, “RI”; расширением управления RTS для RS-485.
Слой безопасных сокетов (Transport.SSL) расширен поддержкой: TLSv1.1, TLSv1.2, DTLSv1.
Собственный протокол системы (Protocol.SelfSystem) стабилизирован и расширен иерархическим и многоуровневым направлением запросов к внешним хостам, диагностической информацией и ограничениями.
HTTP (Protocol.HTTP) расширен адаптивностью к интерфейсам пользователя, в системных диалогах.
Системный конфигуратор Qt (UI.QTCfg) значительно стабилизирован и расширен асинхронными запросами к интерфейсу управления OpenSCADA, улучшенной реализацией элементов контроля.
Динамический WEB конфигуратор (UI.WebCfgD) расширен новым дизайном с использованием CSS3 и возможностей современных WEB-браузеров.
Концепция и движок среды визуализации и управления значительно стабилизирована и расширена поддержкой специфических для визуализатора атрибутов виджетов, реализацией нового-гибкого механизма сообщений пользователя, диагностикой исполнения, фоновым (в отдельном потоке) исполнением задачи формирования документов, увеличением количества трендов на одному кадре до 100.
Рабочий интерфейс пользователя Qt (UI.Vision) значительно стабилизирован и расширен для работы в сети, через сервер визуализации; реализацией группы специфических этому визуализатору атрибутов; реализацией видов “Дерево”, “Таблица” и расширением виду “Кнопка”, примитива “Элементы формы”; реализацией вида “XY” примитива “Диаграмма”; значительным рефакторингом кода примитива “Элементарная фигура”.
Рабочий интерфейс пользователя Web (UI.WebVision) значительно стабилизирован, оптимизирован и расширен использование CSS3 и возможностей современных браузеров, а именно: увеличена отзывчивость интерфейса, добавлено масштабирование к доступному пространству окна браузера, реализованы все примитивы интерфейса (осуществляется на данный момент).
Библиотека функций системного API среды пользовательского программирования (Special.FLibSYS) стабилизирована и расширена некоторыми функциями и объектами: “floatExtract”, “md5”, “tmSleep”, об'єкт “IO”; существующие функции и объекты значительно расширены на предмет: “dbReqSQL”, “FFT”, “strParse”, “strDec4Bin”.
Интегрированная и динамическая SCADA-система OpenSCADA является развитой, готовой и используется в сложных промышленных условиях для выполнения полного спектра задач автоматизированного управления технологическими процессами и автоматизации в целом.
Фактически OpenSCADA в данный момент является системой для работы с динамическими данными в реальном времени, а её развитие автором направляется на завершение условий выпуска и сам выпуск новой стабильной версии 0.9 LTS, на фоне общей деятельности целевой стабилизации, поддержки и расширения.
Текущие достижения и решения проекта OpenSCADA осуществлены на программной платформе Linux и аппаратных платформах x86_32, x86_64, ARM. И в процессе приближения к версии 0.9 LTS осуществляется значительная работа по расширению возможностей проекта к адаптации его работы на других платформах, через вывод Web-интерфейсов на уровень высокой готовности и стабильности, а также адаптации к работе на программной платформе Android.