|
|
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.
- Сбор данных из автоматики птицеводства фирмы "Big Dutchman". Посредством DAQ-модуля BFN.
- Сбор данных из источников различного типа, которые имеют утилиты для доступа к данным или доступны посредством простых специализированных сетевых протоколов. Осуществляется путём написания процедуры получения данных на языке пользовательского программирования 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.
- Хранение данных сервера в БД типов:
- MySQL. Посредством DB-модуля MySQL.
- SQLite. Посредством DB-модуля SQLite.
- PostgresSQL. Посредством DB-модуля PostgreSQL.
- DBF. Посредством DB-модуля DBF.
- FireBird. Посредством DB-модуля FireBird.
- В планах. БД доступные на другом сервере основанном на OpenSCADA.
- В планах. 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.
- QT-интерфейс. Посредством UI-модуля QTCfg.
- С удалённой конфигурационной станции. Посредством UI-модуля на конфигурационной станции QTCfg и интерфейса управления OpenSCADA отражённого в протоколе SelfSystem.
- Хранение данных станции в БД типов:
- MySQL. Посредством DB-модуля MySQL.
- SQLite. Посредством DB-модуля SQLite.
- PostgresSQL. Посредством DB-модуля PostgreSQL.
- DBF. Посредством DB-модуля DBF.
- FireBird. Посредством DB-модуля FireBird.
- В планах. БД доступные на другом сервере основанном на OpenSCADA.
- В планах. LDAP.
1.3. Среда исполнения контроллеров (PLC):- Сбор данных (DAQ) из источников:
- Платы сбора данных фирмы
Diamond Systems. Посредством DAQ-модуля DiamondBoards. - Информации о платформе(программно-аппаратной) на которой работает сервер. Посредством 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 в БД типов:
- Все данные в конфигурационном файле (фиксированно).
- MySQL. Посредством DB-модуля MySQL.
- SQLite. Посредством DB-модуля SQLite.
- PostgresSQL. Посредством DB-модуля PostgreSQL.
- DBF. Посредством DB-модуля DBF.
- FireBird. Посредством DB-модуля FireBird.
- В планах. БД доступные на другом сервере основанном на OpenSCADA.
- В планах. LDAP.
2. Требования OpenSCADA2.1. ИсполнениеАппаратные требования системы 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 ...) | "Стандартные библиотеки" | Стандартный набор библиотек: GLibC (>= 2.3) или uCLibC (>= 0.9.32) и libstdc++ (>= 3.3). Обычно уже доступны в установленном дистрибутиве. Особое требование это использование нативной библиотеки потоков NPTL, уже используется во всех современных дистрибутивах ОС Linux. | zlib | Библиотека компрессии. | libpcre | Библиотека работы с регулярными выражениями, совместимая с Perl. | libgd (опц: --disable-LibGD) | Графическая библиотека GD версия 2, желательно без поддержки XPM (исключена зависимость на библиотеку X-сервера) и с поддержкой FontConfig. | Модуль 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.QTStarter, UI.QTCfg | libQT4 (libQtCore,libQtGui) | Библиотеки построения пользовательского графического интерфейса QT версии 4.3 и выше. | Модуль: UI.Vision | libQT4 (libQtCore,libQtGui) | Библиотеки построения пользовательского графического интерфейса QT версии 4.3 и выше. | libfftw3 (опц: авт.) | Библиотека быстрого разложения сигналов в ряд Фурье. | libphonon (опц: авт.) | Библиотека движка воспроизведения полноформатного видео и аудио. | Модули: UI.WebVision, Special.FLibSYS | libfftw3 (опц: авт.) | Библиотека быстрого разложения сигналов в ряд Фурье. |
* "опц: авт." — предусматривает отключение использования библиотеки в случае отсутствия её при сборке.
2.2. СборкаПрограммные требования системы OpenSCADA для сборки ядра OpenSCADA и её модулей приведены в таблице 3. Таблица 3. Зависимости сборки системы OpenSCADA и её модулей. Компонент | Описание |
|---|
Общие требования для сборки OpenSCADA | ОС Linux | Дистрибутив операционной системы Linux (ALTLinux, SuSELinux, Mandriva, ASPLinux, Fedora, Debian, Ubuntu ...) | g++ | Компилятор языка C++ версии 3.3 или более из коллекции компиляторов GCC, включая библиотеку GLibC (>=2.3) или uCLibC (>= 0.9.32). | autotools (autoconf, automake, libtool) | Инструменты формирования сборочной среды OpenSCADA. Нужны только в случае изменения сборочной среды OpenSCADA, например для добавления нового модуля или изменения фиксированных параметров сборки. | gettext | Группа утилит для подготовки и компиляции переводов интерфейса программ на различные языки в соответствии со стандартом интернационализации I18N. | zlib (devel) | Библиотека компрессии, пакет для разработки. | libpcre (devel) | Библиотека работы с регулярными выражениями, совместимая с Perl, пакет для разработки. | libgd (devel, опц: --disable-LibGD) | Графическая библиотека GD версия 2, пакет для разработки, желательно без поддержки XPM (исключена зависимость на библиотеку X-сервера) и поддержкой FontConfig. Используется для построения трендов и других изображений в формате PNG, GIF и JPEG. | Модуль 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.QTStarter, UI.QTCfg | libQT4 (devel) | Библиотека построения пользовательского графического интерфейса QT версии 4.3 и выше, пакет для разработки. | Модуль: UI.Vision | libQT4 (devel) | Библиотека построения пользовательского графического интерфейса QT версии 4.3 и выше, пакет для разработки. | libfftw3 (devel, опц: авт.) | Библиотека быстрого разложения сигналов в ряд Фурье, пакет для разработки. | libphonon (devel, опц: авт.) | Библиотека движка воспроизведения полноформатного видео и аудио, пакет для разработки. | Модули: UI.WebVision, Special.FLibSYS | libfftw3 (devel, опц: авт.) | Библиотека быстрого разложения сигналов в ряд Фурье, пакет для разработки. |
* "опц: авт." — предусматривает отключение использования библиотеки в случае отсутствия её при сборке.
|
|
|
|
|