Функциональные характеристики и требования системы OpenSCADA
Страница содержит информацию позволяющую получить общее представление о функциях, которые может выполнять система OpenSCADA на текущий момент. Функции сгруппированы по сферам применения системы OpenSCADA. Для получения картины в целом включены также функции запланированные или реализуемые на данный момент. Страница также содержит требования системы OpenSCADA для её исполнения и сборки.
Сфера применения системы OpenSCADA
Рис. 1. Роли системы OpenSCADA
Сервер SCADA системы:
Визуальный контроль и управление посредством интерфейсов:
Удалённый сервер визуализации на основе движка визуализации и управления СВУ VCAEngine. Локальный запуск модуля UI.Vision, подключеный к серверу визуализации.
Удалённый WEB интерфейс. Посредством WEB-браузера, модуля визуализации WebVision и модуля ядра среды визуализации и управления VCAEngine.
Простые удалённые Web-интерфейсы пользователя. Посредством WEB-браузера и UI-модуля WebUser.
Сбор данных (DAQ) из источников:
Информации о платформе(программно-аппаратной) на которой работает сервер. Посредством DAQ-модуля System.
Сбор данных из источников поддерживающих протокол SNMP (Simple Network Management Protocol). Посредством DAQ-модуля SNMP.
Сбор данных промышленных контроллеров фирмы Siemens серии S7. Посредством DAQ-модуля Siemens.
Сбор данных промышленных контроллеров по протоколу ModBus. Посредством DAQ-модуля ModBus.
Сбор данных промышленных контроллеров по протоколу DCON. Посредством DAQ-модуля DCON.
Формирование производных структур параметров на основе шаблонов параметров и данных других источников данных. Посредством DAQ-модуля LogicLev.
Сбор данных из других серверов и PLC основанных на OpenSCADA, возможно для дублирования. Посредством DAQ-модуля DAQGate.
Сбор данных через входные каналы звуковых контроллеров. Посредством DAQ-модуля SoundCard.
Сбор данных оборудования фирмы ICP DAS. Посредством DAQ-модуля ICP_DAS.
Сбор данных из источников поддерживающих протокол OPC_UA. Посредством DAQ-модуля OPC_UA.
Сбор данных из источников различного типа, которые имеют утилиты для доступа к данным или доступны посредством простых специализированных сетевых протоколов. Осуществляется путём написания процедуры получения данных на языке пользовательского программирования DAQ-модуля JavaLikeCalc, а также модуля транспортного протокола User Protocol.
Предоставление данных системам верхнего уровня:
Посредством интерфейсов:
Последовательного интерфейса (RS232, RS485, Modem, ...), с помощью модуля транспорта Serial.
Сокетов IP-сетей и протоколов сетевого уровня TCP, UDP и Unix, с помощью модуля транспорта Sockets?.
Безопасного слоя сокетов (SSL), с помощью модуля транспорта SSL.
Посредством протоколов:
Собственный протокол OpenSCADA, с помощью модуля транспортного протокола SelfSystem.
Протоколов семейства ModBUS (TCP, RTU и ASCII), с помощью модуля транспортного протокола ModBUS.
Протокола "OPC UA", с помощью модуля транспортного протокола OPC UA.
Простых специализированных протоколов, разработаных посредством модуля транспортного протокола User Protocol.
Выполнение пользовательских вычислений на языках:
Язык блочных схем. Посредством DAQ-модуля BlockCalc.
На Java-подобном языке высокого уровня. Посредством DAQ-модуля JavaLikeCalc.
Архивирование сообщений, ведение протоколов по различным категориям и уровням, посредством механизмов:
Файлы в XML-формате или плоского текста, с упаковкой устаревших архивов. Посредством модуля архивирования FSArch.
В таблицы архивных БД. Посредством модуля архивирования DBArch.
В планах. На другой сервер, возможно выделенный сервер архивирования, основанных на OpenSCADA.
Архивирование значений собранных данных посредством механизмов:
Файлы с двойной упаковкой: последовательной и стандартным архиватором gzip. Посредством модуля архивирования FSArch.
В таблицы архивных БД. Посредством модуля архивирования DBArch.
Конфигурация и управление сервером через:
WEB-интерфейс. Посредством WEB-браузера и UI-модуля WebCfgD или WebCfg.
С удалённой конфигурационной станции. Посредством UI-модуля на конфигурационной станции QTCfg и интерфейса управления OpenSCADA отражённого в протоколе SelfSystem.
В планах. БД доступные на другом сервере основанном на OpenSCADA.
В планах. LDAP.
Станция оператора технологического процесса, пульт диспетчера, панель мониторинга и др.:
Визуальный контроль и управление посредством интерфейсов:
Локальный (быстрый) интерфейс основанный на библиотеке QT. Посредством модуля визуализации Vision и модуля ядра среды визуализации и управления VCAEngine с возможностью визуализации из удалённого движка СВУ, сервера визуализации.
Удалённый WEB интерфейс. Посредством WEB-браузера, модуля визуализации WebVision и модуля ядра среды визуализации и управления VCAEngine.
Простые удалённые Web-интерфейсы пользователя. Посредством WEB-браузера и UI-модуля WebUser.
Сбор данных (DAQ) из источников:
Сбор данных из других серверов и PLC основанных на OpenSCADA, для проброса данных серверов и дублирования. Посредством DAQ-модуля DAQGate.
Сбор данных из источников поддерживающих протокол SNMP (Simple Network Management Protocol). Посредством DAQ-модуля SNMP.
Сбор данных из источников поддерживающих протокол OPC_UA. Посредством DAQ-модуля OPC_UA.
Выполнение пользовательских вычислений на языках:
Язык блочных схем. Посредством DAQ-модуля BlockCalc.
На Java-подобном языке высокого уровня. Посредством DAQ-модуля JavaLikeCalc.
Архивирование локальных сообщений, ведение протоколов по различным категориям и уровням посредством механизмов:
Файлы в XML-формате или плоского текста, с упаковкой устаревших архивов. Посредством модуля архивирования FSArch.
В таблицы архивных БД. Посредством модуля архивирования DBArch.
В планах. На сервер, возможно выделенный сервер архивирования, основанных на OpenSCADA.
Конфигурация и управление станцией через:
WEB-интерфейс. Посредством WEB-браузера и UI-модуля WebCfgD или WebCfg.
С удалённой конфигурационной станции. Посредством UI-модуля на конфигурационной станции QTCfg и интерфейса управления OpenSCADA отражённого в протоколе SelfSystem.
Информации о платформе(программно-аппаратной) на которой работает сервер. Посредством DAQ-модуля System.
Сбор данных из источников поддерживающих протокол SNMP (Simple Network Management Protocol). Посредством DAQ-модуля SNMP.
Сбор данных промышленных контроллеров по протоколу ModBus. Посредством DAQ-модуля ModBus.
Сбор данных промышленных контроллеров по протоколу DCON. Посредством DAQ-модуля DCON.
Формирование производных структур параметров на основе шаблонов параметров и данных других источников данных. Посредством DAQ-модуля LogicLev.
Сбор данных из других серверов и PLC основанных на OpenSCADA, возможно для дублирования. Посредством DAQ-модуля DAQGate.
Сбор данных через входные каналы звуковых контроллеров. Посредством DAQ-модуля SoundCard.
Сбор данных оборудования фирмы ICP DAS. Посредством DAQ-модуля ICP_DAS.
Сбор данных из источников поддерживающих протокол OPC_UA. Посредством DAQ-модуля OPC_UA.
Сбор данных из источников различного типа, которые имеют утилиты для доступа к данным или доступны посредством простых специализированных сетевых протоколов. Осуществляется путём написания процедуры получения данных на языке пользовательского программирования DAQ-модуля JavaLikeCalc, а также модуля транспортного протокола User Protocol.
Предоставление данных системам верхнего уровня:
Посредством интерфейсов:
Последовательного интерфейса (RS232, RS485, Modem, ...), с помощью модуля транспорта Serial.
Сокетов IP-сетей и протоколов сетевого уровня TCP, UDP и Unix, с помощью модуля транспорта Sockets?.
Безопасного слоя сокетов (SSL), с помощью модуля транспорта SSL.
Посредством протоколов:
Собственный протокол OpenSCADA, с помощью модуля транспортного протокола SelfSystem.
Протоколов семейства ModBUS (TCP, RTU и ASCII), с помощью модуля транспортного протокола ModBUS.
Протокола "OPC UA", с помощью модуля транспортного протокола OPC UA.
Простых специализированных протоколов, разработаных посредством модуля транспортного протокола User Protocol.
Управление, регулирование и выполнение других пользовательских вычислений на языках:
Язык блочных схем. Посредством DAQ-модуля BlockCalc.
На Java-подобном языке высокого уровня. Посредством DAQ-модуля JavaLikeCalc.
Архивирование сообщений, ведение протоколов по различным категориям и уровням посредством механизмов:
Файлы в XML-формате или плоского текста, с упаковкой устаревших архивов. Посредством модуля архивирования FSArch.
В таблицы архивных БД. Посредством модуля архивирования DBArch.
В планах. На другой сервер, возможно выделенный сервер архивирования, основанных на OpenSCADA.
Архивирование значений собранных данных посредством механизмов:
Буфера в памяти предопределённой глубины. Посредством встроенного механизма архивирования значений ядра OpenSCADA.
Файлы с двойной упаковкой: последовательной и стандартным архиватором gzip. Посредством модуля архивирования FSArch.
В таблицы архивных БД. Посредством модуля архивирования DBArch.
Конфигурация и управление PLC через:
WEB-интерфейс. Посредством WEB-браузера и UI-модуля WebCfgD или WebCfg.
С удалённой конфигурационной станции. Посредством UI-модуля на конфигурационной станции QTCfg и интерфейса управления OpenSCADA отражённого в протоколе SelfSystem.
Хранение данных PLC в БД типов:
Все данные в конфигурационном файле (фиксированно).
В планах. БД доступные на другом сервере основанном на OpenSCADA.
В планах. LDAP.
Требования OpenSCADA
Исполнение
Аппаратные требования системы OpenSCADA для её исполнения в различных ролях приведены в таблице 1. Программные требования для исполнения системы OpenSCADA и её модулей представлены в таблице 2.
Таблица 1. Аппаратные требования системы OpenSCADA и её модулей.
Роль
Требование
Сервер SCADA системы
CPU: x86_32 (более i586), x86_64 или ARM, частотой более 500 МГц MEM: 128 МБ HDD: 10 ГБ включая ОС и место для архивов
Станция оператора технологического процесса, пульт диспетчера, панель мониторинга и др.
CPU: x86_32 (более i586), x86_64 или ARM, частотой более 1 ГГц MEM: 512 МБ HDD: 4 ГБ включая ОС и без архивов
Среда исполнения контроллеров (PLC)
CPU: x86_32 (более i586),x86_64 или ARM, частотой более 133 МГц MEM: 32 МБ HDD: 32 МБ включая ОС и без архивов.
Таблица 2. Программные требования системы OpenSCADA и её модулей.
Компонент
Описание
Зависимости ядра системы OpenSCADA
ОС Linux
Дистрибутив операционной системы Linux (ALTLinux, SuSELinux, Mandriva, ASPLinux, Fedora, Debian, Ubuntu ...)
"Стандартные библиотеки"
Стандартный набор библиотек: linux-gate, libstdc++, libgcc_s, libc, libdl, librt, libcrypt, libm, libpthread. Обычно уже доступны в установленном дистрибутиве. Особое требование это использование нативной библиотеки потоков NPTL, уже используется во всех современных дистрибутивах ОС Linux.
zlib
Библиотека компрессии.
libgd
(опц: --disable-LibGD)
Графическая библиотека GD версия 2, желательно без поддержки XPM (исключена зависимость на библиотеку X-сервера) и с поддержкой FontConfig.
libexpat (опц: авт.)
Библиотека XML-парсера.
Модуль DB.MySQL
libMySQL
Библиотека доступа к СУБД MySQL.
Модуль DB.SQLite
libsqlite3
Библиотека доступа к встраиваемой БД SQLite версии 3.
Модуль DB.PostgreSQL
libpq
Библиотека доступа к СУБД PostgreSQL версии более 8.3.0.
Модуль DB.FireBird
FirebirdSS
СУБД FireBird версии 2. Часто отсутствует в дистрибутивах Linux и требует индивидуальной загрузки с официального сайта ( http://www.firebirdsql.org )!
Модуль Transport.SSL
libssl
Библиотека шифрования OpenSSL.
Модуль DAQ.SNMP
libsnmp
Библиотека доступа к данным сетевых устройств по протоколу SNMP.
Модуль DAQ.System
libsensors (опц: авт.)
Библиотека сенсоров аппаратуры версии 2 или 3.
Модуль DAQ.SoundCard
libportaudio
Библиотека кросплатформенного доступа к звуковым контроллерам версии 19 и более.
Модуль DAQ.OPC_UA
libssl
Библиотека шифрования OpenSSL.
Модули: UI.Vision, UI.WebVision, Special.FLibSYS
libfftw3 (опц: авт.)
Библиотека быстрого разложения сигналов в ряд Фурье.
Модули: UI.QTStarter, UI.QTCfg, UI.Vision
libQT4 (libQtCore,libQtGui)
Библиотеки построения пользовательского графического интерфейса QT версии 4.3 и выше.
* - "опц: авт." - предусматривает отключение использования библиотеки в случае отсутствия её при сборке.
Сборка
Программные требования системы OpenSCADA для сборки ядра OpenSCADA и её модулей приведены в таблице 3.
Таблица 3. Зависимости сборки системы OpenSCADA и её модулей.
Компонент
Описание
Общие требования для сборки OpenSCADA
ОС Linux
Дистрибутив операционной системы Linux (ALTLinux, SuSELinux, Mandriva, ASPLinux, Fedora, Debian, Ubuntu ...)
g++
Компилятор языка C++ из коллекции компиляторов GCC, включая библиотеку GLibC
autotools (autoconf, automake, libtool)
Инструменты формирования сборочной среды OpenSCADA. Нужны только в случае изменения сборочной среды OpenSCADA, например для добавления нового модуля или изменения фиксированных параметров сборки.
gettext
Группа утилит для подготовки и компиляции переводов интерфейса программ на различные языки в соответствии со стандартом интернационализации I18N.
zlib (devel)
Библиотека компрессии, пакет для разработки.
libgd (devel,
опц: --disable-LibGD)
Графическая библиотека GD версия 2, пакет для разработки, желательно без поддержки XPM (исключена зависимость на библиотеку X-сервера) и поддержкой FontConfig. Используется для построения трендов и других изображений в формате PNG, GIF и JPEG.
libexpat (devel, опц: авт.)
Библиотека XML-парсера, пакет для разработки. Интерфейс управления OpenSCADA и другие компоненты построены на основе языка XML.
Модуль DB.MySQL
libMySQL (devel)
Библиотека доступа к СУБД MySQL, пакет для разработки на языке C.
Модуль DB.SQLite
libsqlite3 (devel)
Библиотека доступа к встраиваемой БД SQLite версии 3, пакет для разработки.
Модуль DB.PostgreSQL
libpq
Библиотека доступа к СУБД PostgreSQL версии более 8.3.0, пакет для разработки.
Модуль DB.FireBird
FirebirdSS
СУБД FireBird версии 2, пакет для разработки. Часто отсутствует в дистрибутивах Linux и требует индивидуальной загрузки с официального сайта ( http://www.firebirdsql.org )!
Модуль Transport.SSL
libssl (devel)
Библиотека шифрования OpenSSL, пакет для разработки.
Модуль DAQ.JavaLikeCalc
bison
Программа генерации синтаксических анализаторов на основе грамматики языка.
Модуль DAQ.SNMP
libsnmp (devel)
Библиотека доступа к данным сетевых устройств по протоколу SNMP, пакет для разработки.
Модуль DAQ.System
libsensors (devel, опц: авт.)
Библиотека сенсоров аппаратуры версий 2 или 3, пакет для разработки.
Модуль DAQ.Siemens
glibc-kernheaders
Заголовки ядра Linux библиотеки GLibC.
Модуль DAQ.SoundCard
libportaudio (devel)
Библиотека кросплатформенного доступа к звуковым контроллерам, пакет для разработки версии 19 и более.
Модуль DAQ.OPC_UA
libssl (devel)
Библиотека шифрования OpenSSL, пакет для разработки.
Модули: UI.Vision, UI.WebVision, Special.FLibSYS
libfftw3 (devel, опц: авт.)
Библиотека быстрого разложения сигналов в ряд Фурье, пакет для разработки.
Модули: UI.QTStarter, UI.QTCfg, UI.Vision
libQT4 (devel)
Библиотека построения пользовательского графического интерфейса QT версии 4.3 и выше, пакет для разработки.
* - "опц: авт." - предусматривает отключение использования библиотеки в случае отсутствия её при сборке.