From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page About and the translation is 100% complete.

Other languages:
English • ‎mRussian • ‎Українська
Основание: июль 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)
Функции и требования: смотреть детальную информацию
Контакты:
  • Электронная почта (EMail): oscada@oscada.org
  • Jabber (JID): oscada@oscada.org
Ресурсы
Мировая сеть (WWW):
Файлы:
Репозитории:
Демонстрации:

OpenSCADA представляет собой открытую SCADA или HMI систему, построенную по принципам модульности, кросс-платформенности и масштабируемости. SCADA (диспетчерский контроль и сбор данных) или Человеко Машинный Интерфейс (HMI) являются терминами, которые часто используются в автоматизации технологических процессов. SCADA или HMI в целом предназначены для использования в оперативном и ответственном контроле человеком за работой сложного технологического оборудования различных производственных процессов. В целом, OpenSCADA предназначена для: сбора, архивации (ведения истории), визуализации информации, выдачи управляющих действий, а также других родственных операций, характерных для полнофункциональной SCADA или HMI системы.

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 Помощь и участие в проекте

Если вы заинтересованы в развитии проекта, и у вас есть мысли опыт и знания для совершенствования данной разработки, то добро пожаловать к участию в проекте. Проект разрабатывается на открытых основаниях, следовательно все его наработки являются общественным достоянием, а значит совершенствуя его мы помогаем друг другу, создавая всё более совершенный инструмент для решения наших задач!