Функциональные характеристики и требования системы OpenSCADA
Страница содержит информацию позволяющую получить общее представление о функциях, которые может выполнять система OpenSCADA на текущий момент. Функции сгруппированы по сферам применения системы OpenSCADA. Для получения картины в целом включены также функции запланированные или реализуемые на данный момент. Страница также содержит требования системы OpenSCADA для её исполнения и сборки.
1. Сфера применения системы OpenSCADA
Рис. 1. Роли системы OpenSCADA
1.1. Сервер 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.
В планах. БД работающие через ODBC.
В планах. PostgresSQL.
В планах. LDAP.
1.2. Станция оператора технологического процесса, пульт диспетчера, панель мониторинга и др.:
Визуальный контроль и управление посредством интерфейсов:
Локальный (быстрый) интерфейс основанный на библиотеке 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.
В планах. БД работающие через ODBC.
В планах. PostgresSQL.
В планах. LDAP.
2. Требования OpenSCADA
2.1. Исполнение
Аппаратные требования системы OpenSCADA для её исполнения в различных ролях приведены в таблице 1. Программные требования для исполнения системы OpenSCADA и её модулей представлены в таблице 2.
Таблица 1. Аппаратные требования системы OpenSCADA и её модулей.
Роль
Требование
Сервер SCADA системы
CPU: x86_32 (более i586) или x86_64, частотой более 500 МГц MEM: 128 МБ HDD: 10 ГБ включая ОС и место для архивов
Станция оператора технологического процесса, пульт диспетчера, панель мониторинга и др.
CPU: x86_32 (более i586) или x86_64, частотой более 1 ГГц MEM: 512 МБ HDD: 4 ГБ включая ОС и без архивов
Среда исполнения контроллеров (PLC)
CPU: x86_32 (более i586) или x86_64, частотой более 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.
libgd
Графическая библиотека GD версия 2, желательно без поддержки XPM (исключена зависимость на библиотеку X-сервера) и с поддержкой FontConfig.
libexpat
Библиотека XML-парсера.
Модуль DB.MySQL
libMySQL
Библиотека доступа к СУБД MySQL.
Модуль DB.SQLite
libsqlite3
Библиотека доступа к встраиваемой БД SQLite версии 3.
Модуль 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 и выше.
2.2. Сборка
Программные требования системы OpenSCADA для сборки ядра OpenSCADA и её модулей приведены в таблице 3.
Таблица 3. Зависимости сборки системы OpenSCADA и её модулей.
Компонент
Описание
Общие требования для сборки OpenSCADA
ОС Linux
Дистрибутив операционной системы Linux (ALTLinux, SuSELinux, Mandriva, ASPLinux, Fedora, Debian, Ubuntu ...)
g++
Компилятор языка C++ из коллекции компиляторов GCC, включая библиотеку GLibC
autotools(automake, autoconf, libtool)
Инструменты формирования сборочной среды OpenSCADA. Нужны только в случае изменения сборочной среды OpenSCADA, например для добавления нового модуля или изменения фиксированных параметров сборки.
gettext
Группа утилит для подготовки и компиляции переводов интерфейса программ на различные языки в соответствии со стандартом интернационализации I18N.
libgd(devel)
Графическая библиотека 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.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 и выше, пакет для разработки.