О проекте OpenSCADA
Дата основания: | Январь 2003 |
Автор: | Роман Савоченко |
Разработчики: | Роман Савоченко, Лысенко Максим, Яшина Ксения |
Политика: | Свободное программное обеспечение (Free software) |
Лицензия: | GPL v.2 |
Языки локализации: | Английский(en), Русский(ru), Украинский(uk), Немецкий(de) |
Последняя версия: | 0.6.4(2009) |
Состояние: | Разработка, Тестирование, Пилотное внедрение |
Ресурсы: | WWW: http://oscada.org Wiki: http://wiki.oscada.org Форум: http://oscada.org/ru/forum Файлы: oscada.org/oscadaArch, ftp://ftp.oscada.org/OpenSCADA Репозиторий: svn co svn://oscada.org/trunk/OpenSCADA (Subversion) Почта: oscada@oscada.org JID: oscada@oscada.org |
OpenSCADA представляет собой открытую SCADA систему, построенную по принципам модульности, многоплатформенности и масштабируемости. SCADA (Supervisory Control And Data Acquisition) в переводе: «Системы диспетчерского управления и сбора данных» является термином, который часто употребляется в сфере автоматизации технологических процессов. Система OpenSCADA предназначена для: сбора, архивирования, визуализации информации, выдачи управляющих воздействий, а также других родственных операций, характерных для полнофункциональной SCADA системы.
Предпосылки
На рынке программ для АСУ-ТП (Автоматизированные системы управления технологическим процессом) сложилась ситуация, когда отсутствуют не только свободные SCADA системы, но и SCADA системы для платформ отличных от MS Windows+x86. Да, единицы есть, но про них почти ничего не слышно и выглядят они крайне блекло на фоне общей массы.
В тоже время фирмы, занимающиеся внедрением АСУ-ТП, заинтересованы в полном контроле над SCADA системой, внедряемой на объектах заказчика. Эта заинтересованность связана со спецификой работы с Заказчиком. Заказчик является последним звеном в цепочке создания программы. От качества взаимодействия Заказчика и разработчиков прямо пропорционально зависит удовлетворённость Заказчика, а также скорость совершенствования программы. Вытекая из вышесказанного, пропорционально зависит и имидж фирмы, внедряющей АСУ-ТП. Применение законченных коммерческих SCADA систем, как правило, приводит к ухудшению или же полному отсутствию взаимодействия Заказчика с разработчиками.
Реально существуют следующие варианты решения сложившейся проблемы:
- Первым вариантом может быть налаживание тесных связей с производителем SCADA систем, т.е интеграция (явная или неявная) в подразделение по внедрению. Что, в свою очередь, равносильно полной или частичной потере самостоятельности.
- Вторым вариантом является создание собственной коммерческой SCADA системы. Этим достигается полный контроль, однако для разработки системы, на высоком уровне, нужен огромный штат специалистов высокой квалификации. Что, в большинстве случаев, не по карману фирмам внедряющим АСУ-ТП. Как результат - квалификация специалистов довольно низка. И даже если фирма решается на подобный подвиг, то SCADA система не дотягивает до уровня самой посредственной сторонней коммерческой системы, и очень часто имеет место низкое качество кода и(или) посредственная функциональность системы.
- Третьим вариантом является использование открытых SCADA систем, то есть - совместная разработка. Это позволяет совместить преимущества вышеперечисленных вариантов:
- полный контроль над SCADA системой;
- не требуется огромного штата высококвалифицированных специалистов для развития системы, достаточно специалистов для дистрибьюции системы;
- приводит к повышению качества системы, за счёт множественной внешней экспертизы и широты поддерживаемых платформ;
- позволяет выбирать платформу в зависимости от её преимуществ, а не по причине того, что только на ней работает SCADA система;
- ну и прочие психологические, экономические, моральные и юридические преимущества открытых систем.
Для совместной реализации третьего варианта и был основан проект OpenSCADA!
Цели проекта
Основными целями, которые преследует проект, являются:
- открытость;
- надежность;
- гибкость;
- масштабируемость;
- многоплатформенность;
- безопасность;
- финансовая доступность;
- предоставление удобного интерфейса управления;
Политика разработки. Лицензия.
В качестве политики реализации данного проекта выбраны «OPEN SOURCE» принципы разработки ПО. Данная политика позволит привлечь к разработке, тестированию, развитию, распространению и использованию продукта значительное количество разработчиков, энтузиастов и других заинтересованных лиц при минимальных финансовых затратах. Программа распространяется на условиях лицензии GPL v2.
Области применения
Система OpenSCADA предназначена для выполнения как обычных функций SCADA систем, так и для использования в смежных областях информационных технологий.
Система OpenSCADA может использоваться:
- на промышленных объектах, в качестве полнофункциональной SCADA системы;
- во встраиваемых системах, в качестве среды исполнения (в том числе и PLC);
- для построения различных моделей (технологических, химических, физических, электрических процессов);
- на персональных компьютерах, серверах и кластерах для сбора, обработки, представления и архивации информации о системе и её окружении.
В качестве базовой (хостовой) операционной системы (ОС) для разработки и использования выбрана ОС Linux, которая является стандартной POSIX совместимой ОС. Кроме того, ОС Linux является оптимальным компромиссом в вопросах:
- надёжности;
- гибкости/масштабируемости;
- доступности;
- популярности и распространенности.
Поскольку система OpenSCADA разрабатывается на стандартной POSIX ОС, по принципам кроссплатформенности, то её адаптация на остальные ОС не составит проблемы.
Архитектура
Сердцем системы является модульное ядро.
В зависимости от того, какие модули подключены, система может выполнять как функции различных серверов, так и функции клиентов клиент-серверной архитектуры. Собственно, архитектура системы позволяет реализовывать распределённые клиент-серверные системы любой сложности.
Для достижения высокого быстродействия, за счёт сокращения времени коммуникаций, архитектура позволяет объединять функции распределённых систем в одной программе.
Архитектурно, система OpenSCADA состоит из подсистем:
- Подсистема безопасности. Содержит списки пользователей и групп пользователей, обеспечивает проверку прав на доступ к элементам системы и т.д.
- Модульная подсистема баз данных. Обеспечивает доступ к базам данных.
- Модульная подсистема транспортов. Обеспечивает коммуникацию с внешней средой, посредством различных коммуникационных интерфейсов.
- Модульная подсистема коммуникационных протоколов обмена. Тесно связана с подсистемой транспортов и обеспечивает поддержку различных протоколов обмена с внешними системами.
- Модульная подсистема сбора данных (DAQ). Обеспечивает сбор данных от внешних источников: контроллеров, датчиков и т.д. Кроме этого, подсистема может предоставлять среду для написания генераторов данных(модели, регуляторы ... ).
- Модульная подсистема архивов. Содержит архивы двух типов: архивы сообщений и архивы значений. Способ архивирования определяется алгоритмом, который заложен в модуле архивирования.
- Модульная подсистема пользовательских интерфейсов. Содержит функции пользовательских интерфейсов.
- Подсистема управление модулями. Обеспечивает контроль над модулями.
- Модульная подсистема специальных функций. Содержит функции не вошедшие в остальные подсистемы. В настоящий момент к этим функциям относятся функции тестирования.
Исходя из принципа модульности, указанные выше модульные подсистемы могут расширять свою функциональность путём подключения модулей соответствующего типа.
Модульное ядро системы OpenSCADA выполняется в виде статической и совместно используемой библиотек. Это позволяет встраивать функции системы в существующие программы, а также создавать новые программы на основе модульного ядра системы OpenSCADA.
Однако модульное ядро является самодостаточным и может использоваться посредством простой запускающей программы.
Модули системы OpenSCADA хранятся в динамических библиотеках. Каждая динамическая библиотека может содержать множество модулей различного типа. Наполнение динамических библиотек модулями определяется функциональной связностью самих модулей. Динамические библиотеки допускают горячую замену, что позволяет, в процессе работы, производить обновление модулей. Метод хранения кода модулей в динамических библиотеках является основным для системы OpenSCADA, поскольку поддерживается практически всеми современными ОС. Это не исключает возможности разработки других методов хранения кода модулей.
Помощь проекту
Если вы заинтересованы в развитии проекта, и у вас есть мысли опыт и знания для совершенствования данной разработки, то добро пожаловать к участию в разработке. Проект разрабатывается на открытых основаниях, следовательно все его наработки являются общественным достоянием, а значит совершенствуя его мы помогаем друг другу, создавая всё более совершенный инструмент для решения наших задач!