Основание: | июль 2002 (проектирование), январь 2003 (реализация) |
Автор: | Роман Савоченко Максим Лысенко (2007-2012), Максим Кочетков (2014-2016), Алмаз Каримов (2008-2009, 2011), Арсен Закоян (2017), Руслан Ярмолюк (2017), Аркадий Кысиль (2017) |
Участники: | смотреть детальную информацию |
Политика: | Свободное программное обеспечение (программное обеспечение с открытыми исходными текстами) |
Лицензия: | GPL v.2 в основном для исходных текстов, GFDL v.1.3 для документации |
Языки локализации: | Английский(en), Украинский(uk), Немецкий(de), mRussian(ru) и добавить |
Версия: | 1 Work, 0.9 LTS (2018-...), 0.8 Old LTS (2012-2018) |
Функции и требования: | смотреть детальную информацию |
Контакты: |
|
Ресурсы | |
Мировая сеть (WWW): |
|
Файлы: | |
Репозитории: |
|
Демонстрации: |
|
OpenSCADA представляет собой открытую SCADA или HMI систему, построенную по принципам модульности, кросс-платформенности и масштабируемости. SCADA (диспетчерский контроль и сбор данных) или Человеко Машинный Интерфейс (HMI) являются терминами, которые часто используются в автоматизации технологических процессов. SCADA или HMI в целом предназначены для использования в оперативном и ответственном контроле человеком за работой сложного технологического оборудования различных производственных процессов. В целом, OpenSCADA предназначена для: сбора, архивации (ведения истории), визуализации информации, выдачи управляющих действий, а также других родственных операций, характерных для полнофункциональной SCADA или HMI системы.
Contents
1 Предпосылки
На рынке програмного обеспечения автоматизированных систем управления технологическими процессами (АСУ ТП) 2002 года сложилась ситуация, когда отсутствуют не только свободные SCADA системы, но и SCADA системы для платформ отличных от MS Windows+x86. Да, единицы есть, но про них почти ничего не слышно и выглядят они крайне блекло на фоне общей массы.
В тоже время фирмы, занимающиеся внедрением АСУ ТП, заинтересованы в полном контроле над SCADA системой, внедряемой на объектах заказчика. Эта заинтересованность связана со спецификой работы с Заказчиком. Заказчик является последним звеном в цепочке создания программы. От качества взаимодействия Заказчика и разработчиков прямо пропорционально зависит удовлетворённость Заказчика, а также скорость совершенствования программы. Вытекая из вышесказанного пропорционально зависит и имидж фирмы, внедряющей АСУ ТП. Применение законченных коммерческих SCADA систем, как правило, приводит к ухудшению или же полному отсутствию взаимодействия Заказчика с разработчиками.
Реально существуют следующие варианты решения сложившейся проблемы:
- Первым вариантом может быть налаживание тесных связей с производителем SCADA систем, т.е. интеграция (явная или неявная) в подразделение по внедрению. Что, в свою очередь, равносильно полной или частичной потере самостоятельности.
- Вторым вариантом является создание собственной коммерческой SCADA системы. Этим достигается полный контроль, однако для разработки системы, на высоком уровне, нужен огромный штат высококвалифицированных специалистов. Что в большинстве случаев не по карману фирмам внедряющим АСУ ТП. Как результат — квалификация специалистов довольно низка. И даже если фирма решается на подобный подвиг то SCADA система не дотягивает до уровня самой посредственной сторонней коммерческой системы и очень часто имеет место — низкое качество кода и(или) посредственная функциональность системы.
- Третьим вариантом является использование открытых SCADA систем, то есть — совместная разработка. Это позволяет совместить преимущества вышеперечисленных вариантов:
- полный контроль над SCADA системой;
- не требуется огромного штата высококвалифицированных специалистов для развития системы, достаточно специалистов для дистрибуции системы;
- приводит к повышению качества системы, за счёт множественной внешней экспертизы и широты поддерживаемых платформ;
- позволяет выбирать платформу в зависимости от её преимуществ, а не по причине того, что только на ней работает SCADA система;
- ну и прочие: психологические, экономические, моральные и юридические преимущества открытых систем.
Для совместной реализации третьего варианта и был основан проект OpenSCADA!
2 Цели проекта — реальность
Основными целями, которые преследует проект, являются:
- открытость — в основном GPL v.2;
- масштабированность, гибкость, расширяемость — модульность, многопоточность и внутренняя динамичность;
- исполнительная избыточность — резервирование;
- доступность — открытые исходные тексты; автоматическая сборка архивов, пакетов, живых дисков, ...; многоязычность; динамическая многоязычность; сборка и исполнение на Linux окружениях широкого возрастного диапазона, от 2002 года по современные;
- надёжность — практические применения, быстрое решение проблем;
- безопасность — разделение прав, SSL;
- много-платформенность — x86_32, x86_64, ARM, Web, Android, QNX;
- единый, унифицированный, удобный, динамичный и развитый интерфейс пользователя — Qt, Web, прозрачное и многоуровневое удалённое динамичное управление;
- широкий круг источников данных — унифицированные, платы сбора данных и низкоуровневые шины, созданные в окружении OpenSCADA.
3 Политика разработки, лицензия
В качестве политики реализации данного проекта выбраны "OPEN SOURCE" принципы разработки ПО. Данная политика позволит привлечь к разработке, тестированию, развитию, распространению и использованию продукта значительное количество разработчиков, энтузиастов и других заинтересованных лиц при минимальных финансовых затратах. Программа распространяется на условиях лицензии GPL v2.
4 Области применения
OpenSCADA предназначена для выполнения как обычных функций SCADA систем или телемеханики, так и для использования в смежных областях информационных технологий:
- динамические модели, имитаторы и тренажеры технологических процессов в реальном времени;
- станки и промышленные роботы;
- системы сельско-хозяйственной диспетчеризации и управления, птичники;
- встроенные и мобильные системы — окружение исполнения Программируемого Логического Контролера (ПЛК), роботы, ...;
- мониторинг оборудования серверов;
- умные дома и автоматика зданий.
С некоторыми ограничениями и корректировками, в основном во внутреннем окружении, OpenSCADA может быть использована в отраслях:
- управление ресурсами предприятия (ERP);
- Geo-локация и отслеживание положения;
- торговые системы;
- медицинские диагностические системы;
- бухгалтерский учёт;
- билинговые системы.
Соответственно мы можем с уверенностью называть OpenSCADA, как — система работы с данными в реальном времени.
В качестве базовой (хостовой) операционной системы (ОС) для разработки и использования выбрана ОС Linux, которая является стандартной POSIX совместимой ОС. Кроме того, ОС Linux является оптимальным решением в вопросах:
- надёжности;
- безопасности;
- гибкости/масштабируемости;
- доступности;
- популярности и распространённости.
Поскольку OpenSCADA разрабатывается на стандартной POSIX ОС, по принципам кросс-платформенности, то её адаптация на остальные ОС не составит проблемы.
Актуальную и детальную функциональность OpenSCADA Вы можете посмотреть на странице функций.
5 Архитектура
Сердцем программы является модульное ядро.
В зависимости от того какие модули подключены, программа может выполнять как функции различных серверов, так и функции клиентов клиент-серверной архитектуры. Собственно, архитектура программы позволяет реализовывать распределённые клиент-серверные системы любой сложности.
Для достижения высокого быстродействия, за счёт сокращения времени коммуникаций, архитектура позволяет объединять функции распределённых систем в одной программе.
Архитектурно, OpenSCADA состоит из подсистем:
- Безопасность — содержит списки пользователей и групп пользователей, обеспечивает проверку прав на доступ к элементам программы и т.д.
- Диспетчер модулей — обеспечивает контроль над модулями.
- Базы данных (модульная) — обеспечивает доступ к базам данных.
- Транспорты (модульная) — обеспечивает коммуникацию с внешней средой посредством различных коммуникационных интерфейсов.
- Транспортные протоколы (модульная) — тесно связана с подсистемой транспортов и обеспечивает поддержку различных протоколов обмена с внешними системами.
- Сбор данных (модульная) — обеспечивает сбор данных от внешних источников: контроллеров (ПЛК), датчиков и т.д. Кроме этого, подсистема может предоставлять среду для написания генераторов данных: модели, регуляторы, ... .
- Архивы-История (модульная) — содержит архивы-историю двух типов: архивы сообщений и архивы значений. Способ архивирования определяется алгоритмом, который заложен в модуле архивирования.
- Интерфейсы пользователя (модульная) — содержит функции пользовательских интерфейсов.
- Специальные (модульная) — содержит функции не вошедшие в остальные подсистемы. В настоящий момент к этим функциям относятся и функции тестирования и библиотеки статических функций пользовательского API.
Исходя из принципа модульности, указанные выше модульные подсистемы могут расширять свою функциональность путём подключения модулей соответствующего типа.
Модульное ядро OpenSCADA выполняется в виде статической и совместно используемой библиотек. Это позволяет встраивать функции OpenSCADA в существующие программы, а также создавать новые программы на основе модульного ядра OpenSCADA. Однако, модульное ядро является самодостаточным и может использоваться посредством простой запускающей программы.
Модули OpenSCADA хранятся в динамических библиотеках. Каждая динамическая библиотека может содержать несколько модулей различных типов. Наполнение динамических библиотек модулями определяется функциональной связностью самих модулей. Динамические библиотеки допускают горячую замену, что позволяет, в процессе работы, производить обновление модулей. Метод хранения кода модулей в динамических библиотеках является основным для OpenSCADA, поскольку поддерживается практически всеми современными ОС. Что не исключает возможности разработки других методов хранения кода модулей и большинство модулей могут быть встроены в библиотеку ядра OpenSCADA, исключая внешние файлы этих модулей вообще.
6 Распространение
Поскольку этот проект свободный то пользователь может свободно получить исходные тексты проекта для дальнейшей сборки и использования. Готовые к использованию сборки и пакеты программы доступны для большинства известных дистрибутивов и окружений Linux на главном ресурсе проекту http://oscada.org.
7 Поддержка и услуги
Ограниченная бесплатная поддержка предоставляется на форуме проекта для свободно-полученных исходных текстов, бинарных архивов или пакетов и главным образом для проблем, которые разработчик может быстро локализовать у себя и для неспецифичных пользователю окружений. Для получения полноценной поддержки пользователь имеет возможность приобрести пакет коммерческой технической поддержки у разработчиков проекта. Кроме коммерческой поддержки пользователь может приобрести услуги по разработке решений на основе OpenSCADA как непосредственно у разработчиков, так и у сторонних интеграторов. Отсутствующие функции или расширения, которые не противоречат концепции проекта, пользователь может также заказать разработчикам OpenSCADA.
8 Помощь и участие в проекте
Если вы заинтересованы в развитии проекта, и у вас есть мысли опыт и знания для совершенствования данной разработки, то добро пожаловать к участию в проекте. Проект разрабатывается на открытых основаниях, следовательно все его наработки являются общественным достоянием, а значит совершенствуя его мы помогаем друг другу, создавая всё более совершенный инструмент для решения наших задач!