Проект по созданию открытой SCADA системы “OpenSCADA”

Введение

На рынке программ для АСУ-ТП (Автоматизированные системы управления технологическим процессом) сложилась ситуация, когда отсутствуют не только свободные программы, но и программы для платформ отличных от MS Windows+x86. Да единицы есть, но про них почти ничего не слышно и они выглядят крайне блекло на фоне общей массы.

В тоже время, фирмы занимающиеся внедрением АСУ-ТП заинтересованы в полном контроле над SCADA системой внедряемой на объектах клиента. Эта заинтересованность связана со спецификой работы с Заказчиком. Заказчик является последним звеном в цепочке создания программы. От качества связи Заказчика и разработчиков прямо пропорционально зависит удовлетворённость Заказчика и скорость совершенствования программы. И вытекая из вышесказанного, пропорционально зависит имидж фирмы внедряющей АСУ-ТП. Применение законченных коммерческих SCADA систем, как правило, приводит к ухудшению или же полному отсутствию связи Заказчика с разработчиками.

Выходы из сложившейся ситуации:

Первым выходом может быть налаживание тесных связей с производителем SCADA систем, т.е интеграция (явная или неявная) в подразделение по внедрению. А это может привести к полной или частичной потере самостоятельности.

Вторым выходом является создание собственной коммерческой SCADA системы. Таким образом фирма получает полный контроль. Но с другой стороны, для разработки системы на высоком уровне нужен огромный штат специалистов высокой квалификации. Что, в большинстве случаев не по карману фирмам внедряющим АСУ-ТП. Как результат, квалификация специалистов довольно низка. И даже если фирма решается на подобный подвиг, то SCADA система не дотягивает до уровня самой посредственной сторонней коммерческой системы. Кроме того, очень часто имеет место, низкое качество кода и(или) посредственная функциональность системы.

Третим выходом является использование открытых SCADA систем. То есть совместная разработка. Это позволяет совместить преимущество вышеперечисленных вариантов:

полный контроль над SCADA системой;

не требуется огромного штата высококвалифицированных специалистов для развития системы, достаточно специалистов для дистрибьюции системы;

приводит к повышению качества системы за счёт множественной внешней экспертизы;

позволяет выбирать платформу в зависимости от её преимуществ, а не по причине того, что только на ней работает SCADA система;

ну и прочие психологические, экономические, юридические преимущества открытых систем;

Для реализации третьего варианта и был основан проект OpenSCADA!

OpenSCADA представляет собой открытую SCADA систему построенную по принципам модульности, кроссплатформенности и масштабируемости. SCADA (Supervisory Control And Data Acquisition) в переводе: “Системы диспетчерского управления и сбора данных” является термином который часто употребляется в сфере автоматизации технологических процессов. Программа OpenSCADA предназначена для: сбора, архивирования, визуализации информации, выдачи управляющих воздействий, а также других родственных операций, характерных для полнофункциональной SCADA системы.

Цели проекта

Основными целями, которые преследует проект, являются:

открытость;

надежность;

гибкость;

масштабируемость;

безопасность;

финансовая доступность;

предоставление удобного интерфейса управления;

Политика разработки. Лицензия.

В качестве политики разработки данной программы выбраны “OPEN SOURCE” принципы разработки ПО. Данная политика позволит привлечь к разработке, тестированию, развитию, распространению и использованию продукта значительное количество разработчиков, энтузиастов и других заинтересованных лиц при минимальных финансовых затратах.

Программа распространяется на условиях лицензии GPL v2

Области применения

Система OpenSCADA предназначена для выполнения как обычных функций SCADA систем, так и для использования в смежных областях информационных технологий.

Система OpenSCADA может использоваться:

на промышленных объектах в качестве полнофункциональной SCADA системы;

внутри PLC (программируемых логических контроллерах) в качестве среды исполнения;

во встраиваемых (embeded) системах;

для построения различных моделей (технологических, химических, физических, электрических процессов);

на персональных компьютерах, серверах и кластерах для сбора, обработки, представления и архивации информации о системе и её окружении.

В качестве базовой (хостовой) операционной системы (ОС) для разработки и использования выбрана ОС Linux, которая является стандартной POSIX совместимой ОС. Кроме того, ОС Linux является оптимальным компромиссом в вопросах:

надёжности;

гибкости/масштабируемости;

доступности;

популярности и распространенности.

Поскольку система OpenSCADA разрабатывается на стандартной POSIX ОС, по принципам кроссплатформенности, то её адаптация на остальные ОС не составит проблемы.

Архитектура

Сердцем системы является модульное ядро.

Модульное ядро системы OpenSCADA выполняется в виде библиотеки (статической и совместно используемой). Это позволяет встраивать функции системы в существующие программы, а также создавать новые программы на основе модульного ядра OpenSCADA. Модульное ядро является самодостаточным и может используется посредством запуска простой запускающей программой.

В зависимости от того, какие модули подключены, система может выполнять как функции различных серверов, так и функции клиентов клиент-серверной архитектуры. Собственно, архитектура системы позволяет реализовывать распределённые клиент-серверные системы любой сложности.

Для достижения максимальной производительности (за счёт сокращения времени коммуникаций) архитектура позволяет объединять функции распределённых систем в одной программе/процессе.

Архитектурно, система OpenSCADA состоит из подсистем:

Подсистема безопасности. Содержит списки пользователей, группы пользователей, обеспечивает проверку прав на доступ к элементам системы и т.д.

Подсистема баз данных. Обеспечивает доступ к базам данных.

Подсистема транспортов. Обеспечивает коммуникацию с внешней средой посредством различных коммуникационных интерфейсов.

Подсистема протоколов обмена тесно связана с подсистемой транспортов и обеспечивает поддержку различных протоколов обмена с внешними системами.

Подсистема контроллеров. Обеспечивает сбор данных от внешних источников: контроллеров, датчиков и т.д. Кроме этого подсистема может предоставлять среду для написания генераторов данных(модели, регуляторы ... ).

Подсистема параметров. Содержит список всех параметров доступных другим подсистемам и выполняет функции распределения нагрузки по дублирующим параметрам, переключение резервных параметров и т.д.

Подсистема архивов. Содержит архивы двух типов: архивы сообщений и архивы значений. Способ архивирования определяется алгоритмом, который заложен в модуле архивирования.

Подсистема пользовательских интерфейсов. Содержит функции пользовательских интерфейсов.

Подсистема управление модулями. Обеспечивает контроль над модулями.

Подсистема специальных функций. Содержит функции не вошедшие в остальные подсистемы. В настоящий момент к этим функциям относятся функции тестирования.

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

Модули системы OpenSCADA хранятся в динамических библиотеках. Каждая динамическая библиотека может содержать множество модулей различного типа. Наполнение динамических библиотек модулями определяется функциональной связностью самих модулей. Динамические библиотеки допускают горячую замену, что позволяет в процессе работы производить обновление модулей. Метод хранения кода модулей в динамических библиотеках является основным для системы OpenSCADA, поскольку поддерживается практически всеми современными ОС. Это не исключает возможности разработки других методов хранения кода модулей.

Заключение

Хотелось бы подчеркнуть ключевые особенности проекта:

Открытость:

открытая схема разработки;

свободный доступ;

полный контроль над системой;

высокий уровень локализации;

и другие преимущества открытых систем;

Кроссплатформенность, позволяет выбирать платформу исходя из её свойств, а не только потому что на ней работает SCADA система.

Гибкость, как результат модульности и распределённости, обеспечивает:

возможность построения системы под различные требования надёжности, быстродействия и функциональности;

свободное масштабирование;

возможность обновления модулей на рабочей системе;

Широкая сфера применения;

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

Мы будем рады рассмотреть ваши идеи и предложения!

Контакты

Ресурс проекта:

http://diyaorg.dp.ua/oscada

Разработчики:

Савоченко Роман Алексеевич (rom_as@diyaorg.dp.ua)

Консультанты:

Бортник Тимофей Владимирович (timbortnik@hotbox.ru)

Спонсоры проекта:

Научно Инновационное Предприятие "DIYA" (diya@diyaorg.dp.ua)

2004-07-22T08:22:27