Функции и требования - OpenSCADAWiki

# Функции и требования

This page is a translated version of the page Functions and demands and the translation is 88% complete.

English • ‎mRussian • ‎Українська

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

## 1 Сфера применения OpenSCADA

Разбиение на сферы применения выполнено для упрощения восприятия функциональных возможностей программы в свете традиционной области проекта OpenSCADA — автоматизация технологических процессов. Хотя возможна как смешанная, так и более специализированная конфигурация систем работы с данными в реального времени, например, в сферах: ERP, Биллинг, Умный дом и др.

Рис.1. Роли OpenSCADA.

### 1.1 Сервер SCADA системы

Среда Визуализации и Управления (СВУ) конечного пользователя
Удалённый сервер визуализации на основе движка визуализации и управления СВУ — локальный запуск модуля UI.Vision, подключенного к серверу визуализации. | Модуль движка СВУ VCAEngine
Удалённый WEB интерфейс | WEB-браузер Модуль визуализатора WebVision Модуль движка СВУ VCAEngine
Простые удалённые Web-интерфейсы пользователя | WEB-браузер Модуль WebUser
Предоставление данных системам высшего уровня
Посредством интерфейсов
Последовательный интерфейс: RS232, RS485, Modem, ... | Модуль Serial
Сокетов IP-сетей и протоколов сетевого уровня TCP, UDP и Unix | Модуль Sockets
Слой безопасных сокетов (SSL) | Модуль SSL
Посредством протоколов
Собственный протокол OpenSCADA | Модуль SelfSystem
Протоколы семейства ModBus: TCP, RTU и ASCII | Модуль ModBus
Протокол "OPC-UA" | Модуль OPC-UA
Простые специализированные протоколы, разработанные посредством модуля пользовательского протокола | Модуль UserProtocol
Через СУБД
MySQL | Модуль MySQL
PostgreSQL | Модуль PostgreSQL
FireBird | Модуль FireBird
DBGate — БД другой OpenSCADA станции | Модуль DBGate
ODBC — СУБД, для которой есть ODBC драйвер | Модуль ODBC (не завершен)
Конфигурация и разработка (программист SCADA и администратор)
Удалённо, через WEB-интерфейс | Web-браузер Модуль WebCfgD или WebCfg
Удалённо, из станции конфигурации посредством интерфейса управления OpenSCADA | Модуль SelfSystem
Языки программирования и вычислений пользователя
JavaLikeCalc — язык высокого уровня подобный JavaScript и Java | Модуль JavaLikeCalc
Блочные схемы | Модуль BlockCalc
Хранение данных станции
Конфигурационный файл | Ядро OpenSCADA
БД
SQLite | Модуль SQLite
MySQL | Модуль MySQL
PostgreSQL | Модуль PostgreSQL
FireBird | Модуль FireBird
DBGate — БД другой OpenSCADA станции | Модуль DBGate
ODBC — СУБД, для которой есть ODBC драйвер | Модуль ODBC (не завершен)
DBF | Модуль DBF
Директории через LDAP | Модуль LDAP
Сбор и контроль за внутренними и внешними данными (DAQ)
Логические и физические источники различного типа, которые имеют утилиты доступа к данным или достижимы посредством простых специализированных сетевых протоколов. Осуществляется путём написания процедуры пользовательского протокола получения данных, на языке пользовательского программирования. Реализация наиболее известных протоколов как протокол пользователя: Библиотека промышленных устройств Промышленная автоматика: Elemer TM510x, EDWARDS TURBOMOLECULAR PUMPS (SCU750), Sycon Multi Drop Protocol, Блок питания турбо-молекулярных насосов (TMP-xx03), Измеритель температуры IT-3, IVE-452HS-02, OPTRIS CT/CTL, CTR 100-101, IEC-60870-104, Shark Slave Communication Protocol, DCON (пример), OWEN (пример). Счётчики ресурсов: Компьютер учёта тепла VKT7, Меркурий 200, Меркурий 230, НИК2303И. Библиотека низкоуровневых сенсоров и чипов I2C: PCF8591, PCF8574, BMP180, BME280, DS3231, AT24CXX; 1Wire чипы через адаптеры DS9097 и DS9097U: DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438; Низкоуровневые устройства через GPIO: DHT11,22 (DHT), 1602A(HD44780). | Модуль языка пользовательского программирования JavaLikeCalc Модуль LogicLev Модуль пользовательского протокола UserProtocol
Формирование логических источников и производных структур параметров, основываясь на шаблонах параметров и данных других источников | Модуль LogicLev
Формирование логических источников с помощью блочных схем | Модуль BlockCalc
Внешние сервера и ПЛК построенные на OpenSCADA, возможно для дублирования | Модуль DAQGate
Информация про программно-аппаратную платформу | Модуль System
Промышленные контроллеры и другие устройства по протоколу ModBus | Модуль ModBus
Промышленные контроллеры по протоколу DCON | Модуль DCON
Промышленные контроллеры и другие устройства по протоколу OPC-UA | Модуль OPC-UA
Промышленные контроллеры и другие устройства по протоколу MMS(IEC-9506) | Модуль MMS
Сетевые устройства или другие источники по протоколу SNMP (Простой Протокол Управления Сетью) | Модуль SNMP
Промышленное оборудование фирмы ICP DAS, модули серии: I7k, I8k, I87K и на шине ISA | Модуль ICP_DAS
Промышленные контроллеры фирмы Siemens серии S7 | Модуль Siemens
DAQ-платы на шинах ISA, PCI, PCMCIA и USB | Библиотека Comedi Модуль Comedi
Входные каналы звуковых контроллеров | Модуль SoundCard
Автоматика птицеводства фирмы "Big Dutchman" | Модуль BFN
Архивация-История
Архивы сообщений по категориям и уровням
Файлы в формате XML или плоского текста и упаковкой устаревших архивов | Модуль FSArch
В таблицы архивных БД OpenSCADA | Модуль DBArch
На другой, основанных на OpenSCADA, сервер архивации, возможно выделенный | запланировано
Архивы значений собранных данных
Буфера в памяти определённой длины | Ядро OpenSCADA
Файлы с двойной упаковкой: последовательной и стандартным архиватором gzip | Модуль FSArch
В таблицы архивных БД OpenSCADA | Модуль DBArch
На другой, основанных на OpenSCADA, сервер архивации, возможно выделенный | запланировано

### 1.2 Станция оператора технологического процесса, пульт диспетчера, панель мониторинга и другое

FPC-1701
PPC-L126
Asus Nexus 7 II

Среда Визуализации и Управления (СВУ) конечного пользователя
Локальный (быстрый) интерфейс, основанный на библиотеке Qt, с возможностью визуализации удалённого движка СВУ — сервера визуализации | Модуль визуализатора Vision Модуль движка СВУ VCAEngine
Удалённый WEB интерфейс | WEB-браузер Модуль визуализатора WebVision Модуль движка СВУ VCAEngine
Простые удалённые Web-интерфейсы пользователя | WEB-браузер Модуль WebUser
Конфигурация и разработка (программист SCADA и администратор)
Локально, через Qt-интерфейс | Модуль QTCfg Модуль Vision
Удалённо, через WEB-интерфейс | Web-браузер Модуль WebCfgD или WebCfg
Удалённо, из станции конфигурации посредством интерфейса управления OpenSCADA | Модуль SelfSystem
Языки программирования и вычислений пользователя
JavaLikeCalc — язык высокого уровня подобный JavaScript и Java | Модуль JavaLikeCalc
Блочные схемы | Модуль BlockCalc
Хранение данных станции
Конфигурационный файл | Ядро OpenSCADA
БД
SQLite | Модуль SQLite
MySQL | Модуль MySQL
PostgreSQL | Модуль PostgreSQL
FireBird | Модуль FireBird
DBGate — БД другой OpenSCADA станции | Модуль DBGate
ODBC — СУБД, для которой есть ODBC драйвер | Модуль ODBC (не завершен)
DBF | Модуль DBF
Директории через LDAP | Модуль LDAP
Сбор и контроль за внутренними и внешними данными (DAQ)
Внешние сервера и ПЛК построенные на OpenSCADA, возможно для дублирования | Модуль DAQGate
Промышленные контроллеры и другие устройства по протоколу OPC-UA | Модуль OPC-UA
Сетевые устройства или другие источники по протоколу SNMP (Простой Протокол Управления Сетью) | Модуль SNMP
Архивация-История
Архивы сообщений по категориям и уровням
Файлы в формате XML или плоского текста и упаковкой устаревших архивов | Модуль FSArch
В таблицы архивных БД OpenSCADA | Модуль DBArch
На другой, основанных на OpenSCADA, сервер архивации, возможно выделенный | запланировано
Архивы значений собранных данных
Буфера в памяти определённой длины | Ядро OpenSCADA
Файлы с двойной упаковкой: последовательной и стандартным архиватором gzip | Модуль FSArch
В таблицы архивных БД OpenSCADA | Модуль DBArch
На другой, основанных на OpenSCADA, сервер архивации, возможно выделенный | запланировано

### 1.3 Среда исполнения контроллеров (ПЛК)

LP-8781
LP-5141
SMH2Gi
PCA-6753
Raspberry Pi
Orange Pi

Предоставление данных системам высшего уровня
Посредством интерфейсов
Последовательный интерфейс: RS232, RS485, Modem, ... | Модуль Serial
Сокетов IP-сетей и протоколов сетевого уровня TCP, UDP и Unix | Модуль Sockets
Слой безопасных сокетов (SSL) | Модуль SSL
Посредством протоколов
Собственный протокол OpenSCADA | Модуль SelfSystem
Протоколы семейства ModBus: TCP, RTU и ASCII | Модуль ModBus
Протокол "OPC-UA" | Модуль OPC-UA
Простые специализированные протоколы, разработанные посредством модуля пользовательского протокола | Модуль UserProtocol
Через СУБД
MySQL | Модуль MySQL
PostgreSQL | Модуль PostgreSQL
FireBird | Модуль FireBird
DBGate — БД другой OpenSCADA станции | Модуль DBGate
ODBC — СУБД, для которой есть ODBC драйвер | Модуль ODBC (не завершен)
Конфигурация и разработка (программист SCADA и администратор)
Удалённо, через WEB-интерфейс | Web-браузер Модуль WebCfgD или WebCfg
Удалённо, из станции конфигурации посредством интерфейса управления OpenSCADA | Модуль SelfSystem
Языки программирования и вычислений пользователя
JavaLikeCalc — язык высокого уровня подобный JavaScript и Java | Модуль JavaLikeCalc
Блочные схемы | Модуль BlockCalc
Хранение данных станции
Конфигурационный файл | Ядро OpenSCADA
БД
SQLite | Модуль SQLite
MySQL | Модуль MySQL
PostgreSQL | Модуль PostgreSQL
FireBird | Модуль FireBird
DBGate — БД другой OpenSCADA станции | Модуль DBGate
ODBC — СУБД, для которой есть ODBC драйвер | Модуль ODBC (не завершен)
DBF | Модуль DBF
Директории через LDAP | Модуль LDAP
Сбор и контроль за внутренними и внешними данными (DAQ)
Логические и физические источники различного типа, которые имеют утилиты доступа к данным или достижимы посредством простых специализированных сетевых протоколов. Осуществляется путём написания процедуры пользовательского протокола получения данных, на языке пользовательского программирования. Реализация наиболее известных протоколов как протокол пользователя: Библиотека промышленных устройств Промышленная автоматика: Elemer TM510x, EDWARDS TURBOMOLECULAR PUMPS (SCU750), Sycon Multi Drop Protocol, Блок питания турбо-молекулярных насосов (TMP-xx03), Измеритель температуры IT-3, IVE-452HS-02, OPTRIS CT/CTL, CTR 100-101, IEC-60870-104, Shark Slave Communication Protocol, DCON (пример), OWEN (пример). Счётчики ресурсов: Компьютер учёта тепла VKT7, Меркурий 200, Меркурий 230, НИК2303И. Библиотека низкоуровневых сенсоров и чипов I2C: PCF8591, PCF8574, BMP180, BME280, DS3231, AT24CXX; 1Wire чипы через адаптеры DS9097 и DS9097U: DS1820, DS1820/DS18S20/DS1920, DS1822, DS2413, DS2408, DS2450, DS2438; Низкоуровневые устройства через GPIO: DHT11,22 (DHT), 1602A(HD44780). | Модуль языка пользовательского программирования JavaLikeCalc Модуль LogicLev Модуль пользовательского протокола UserProtocol
Формирование логических источников и производных структур параметров, основываясь на шаблонах параметров и данных других источников | Модуль LogicLev
Формирование логических источников с помощью блочных схем | Модуль BlockCalc
Внешние сервера и ПЛК построенные на OpenSCADA, возможно для дублирования | Модуль DAQGate
Информация про программно-аппаратную платформу | Модуль System
Промышленные контроллеры и другие устройства по протоколу ModBus | Модуль ModBus
Промышленные контроллеры по протоколу DCON | Модуль DCON
Промышленные контроллеры и другие устройства по протоколу OPC-UA | Модуль OPC-UA
Промышленные контроллеры и другие устройства по протоколу MMS(IEC-9506) | Модуль MMS
Сетевые устройства или другие источники по протоколу SNMP (Простой Протокол Управления Сетью) | Модуль SNMP
Промышленное оборудование фирмы ICP DAS, модули серии: I7k, I8k, I87K и на шине ISA | Модуль ICP_DAS
Промышленные контроллеры фирмы Siemens серии S7 | Модуль Siemens
DAQ-платы Diamond Systems | Модуль DiamondBoards
DAQ-платы на шинах ISA, PCI, PCMCIA и USB | Библиотека Comedi Модуль Comedi
Входные каналы звуковых контроллеров | Модуль SoundCard
Автоматика птицеводства фирмы "Big Dutchman" | Модуль BFN
Дискретные входы/выходы общего назначения различных одноплатных компьютеров | Модуль GPIO
Архивация-История
Архивы сообщений по категориям и уровням
Файлы в формате XML или плоского текста и упаковкой устаревших архивов | Модуль FSArch
В таблицы архивных БД OpenSCADA | Модуль DBArch
На другой, основанных на OpenSCADA, сервер архивации, возможно выделенный | запланировано
Архивы значений собранных данных
Буфера в памяти определённой длины | Ядро OpenSCADA
Файлы с двойной упаковкой: последовательной и стандартным архиватором gzip | Модуль FSArch
В таблицы архивных БД OpenSCADA | Модуль DBArch
На другой, основанных на OpenSCADA, сервер архивации, возможно выделенный | запланировано

### 1.4 Универсальный OPC-UA сервер

Благодаря реализации протокола OPC-UA в режиме агента, OpenSCADA может предоставлять распространённую функцию OPC-сервера на клиентские протоколы, поддерживаемые и прямо реализуемые в OpenSCADA. Данная функция широко используется на платформе MS Windows®, а многие SCADA-системы на ней работают исключительно с OPC—серверами, как источниками данных. Таким образом, OpenSCADA может выступать универсальным OPC-сервером на платформе Linux (рис.2).

В планах. С адаптацией OpenSCADA для работы на платформе MS Windows® и реализацией работы с OPC-DA посредством системного DCOM, появится возможность применения OpenSCADA в роли шлюза OPC-DA -> OPC-UA, а значит и доступной интеграции устаревших систем в новые или аккумулирующие системы.

Рис.2. Роль OpenSCADA как OPC-UA сервер.

Сбор и контроль за внутренними и внешними данными (DAQ)
Логические и физические источники различного типа, которые имеют утилиты доступа к данным или достижимы посредством простых специализированных сетевых протоколов. Осуществляется путём написания процедуры пользовательского протокола получения данных, на языке пользовательского программирования | Модуль языка пользовательского программирования JavaLikeCalc Модуль LogicLev Модуль пользовательского протокола UserProtocol
Формирование логических источников и производных структур параметров, основываясь на шаблонах параметров и данных других источников | Модуль LogicLev
Формирование логических источников с помощью блочных схем | Модуль BlockCalc
Внешние сервера и ПЛК построенные на OpenSCADA, возможно для дублирования | Модуль DAQGate
Информация про программно-аппаратную платформу | Модуль System
Промышленные контроллеры и другие устройства по протоколу ModBus | Модуль ModBus
Промышленные контроллеры по протоколу DCON | Модуль DCON
Промышленные контроллеры и другие устройства по протоколу OPC-UA | Модуль OPC-UA
Промышленные контроллеры и другие устройства по протоколу MMS(IEC-9506) | Модуль MMS
Сетевые устройства или другие источники по протоколу SNMP (Простой Протокол Управления Сетью) | Модуль SNMP
Промышленное оборудование фирмы ICP DAS, модули серии: I7k, I8k, I87K и на шине ISA | Модуль ICP_DAS
Промышленные контроллеры фирмы Siemens серии S7 | Модуль Siemens
DAQ-платы Diamond Systems | Модуль DiamondBoards
DAQ-платы на шинах ISA, PCI, PCMCIA и USB | Библиотека Comedi Модуль Comedi
Входные каналы звуковых контроллеров | Модуль SoundCard
Автоматика птицеводства фирмы "Big Dutchman" | Модуль BFN
Дискретные входы/выходы общего назначения различных одноплатных компьютеров | Модуль GPIO

## 2 Требования OpenSCADA

### 2.1 Исполнение

Аппаратные требования OpenSCADA для её исполнения в различных ролях приведены в таблице 1. Программные требования для исполнения OpenSCADA и её модулей представлены в таблице 2.

Table 1. The hardware requirements of OpenSCADA and it modules.

Role | Demands
--- | ---
SCADA server | CPU: x86 (i586 and above), x86_64, ARM or MIPS, with frequency more to 500 MHz MEM: 128 MB HDD: 10 GB include OS and space for archives
Station of the operator of the technological process, the dispatcher board, the monitoring panel, etc. | CPU: x86 (i586 and above), x86_64 or ARM, with frequency more to 1 GHz MEM: 512 MB HDD: 4 GB include OS without any archive space
Environment of execution of controllers (PLC) | CPU: x86 (i586 and above), x86_64, ARM or MIPS, with frequency more to 133 MHz MEM: 32 MB (from 2 MB for OpenSCADA) HDD: 32 MB include OS without any archive space (from 8 MB for OpenSCADA)

Table 2. Software requirements for running OpenSCADA and its modules.

Component | Description
--- | ---
Dependencies of the OpenSCADA core
OS Linux | Distribution kit of operating system Linux (Debian, Ubuntu, CentOs, SuSELinux, ...)
"Standard libraries" | Standard set of libraries: GLibC (>= 2.3) or uCLibC (>= 0.9.32) and libstdc++ (>= 3.3). Certainly this already allowed into the installed distribution. A special demand is using native thread library NPTL, already used for all modern distributions of Linux.
zlib | Compression library.
libpcre[3], libpcre2 | Library of work with regular expressions of old and new versions, compatible with Perl.
libgd (opt: --enable-LibGD) | Graphical library GD version 2, preferably without XPM support (X-server library dependency excluded) and FontConfig support.
DB.SQLite module
libsqlite3 | Library for access to embedded DB SQLite version 3.
DB.MySQL module
libMySQL or libMariaDB | Library for access to MySQL related DBMS.
DB.PostgreSQL module
libpq | Library for access to PostgreSQL DBMS version more 8.3.0.
DB.FireBird module
firebird | FireBird DBMS version 2 or 3. Often it is absent in distribution kits of Linux and demands individual loading from an official site (http://www.firebirdsql.org)!
DB.ODBC module
iodbc | iODBC Driver Manager library.
DB.LDAP module
libldap | OpenLDAP library.
DAQ.System module
libsensors (opt: auto) | Hardware sensors' library versions 2 and 3.
DAQ.OPC_UA module
libssl | Library for codifying OpenSSL.
DAQ.SNMP module
libsnmp | Library for access to data of network devices under SNMP protocol.
DAQ.Comedi module
libcomedi | Library of realizing support for DAQ-boards different manufacturer on boards ISA, PCI, PCMCIA and USB.
DAQ.SoundCard module
libportaudio | Multiplatform library for access to sound controller version 19 and higher (not 18).
Transport.SSL module
libssl | Library for codifying OpenSSL.
UI.QTStarter module
libQt4 (libQtGui) or libQt5 (libQt5Widgets,libQt5PrintSupport) or libQt6 (libQt6Widgets,libQt6PrintSupport) | Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphical interfaces.
libQtSensors or libQt5Sensors or libQt6Sensors (opt: auto) | Library of the Qt sensors.
UI.QTCfg module
libQt4 (libQtGui) or libQt5 (libQt5Widgets,libQt5PrintSupport) or libQt6 (libQt6Widgets,libQt6PrintSupport) | Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphical interfaces.
UI.Vision module
libQt4 (libQtGui) or libQt5 (libQt5Widgets,libQt5PrintSupport) or libQt6 (libQt6Widgets,libQt6PrintSupport) | Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphical interfaces.
libQtWebKit (Qt4) or qtwebengine5, libqt5webkit5 (Qt5) or qtwebengine6 (Qt6) (opt: auto) | Library of the Web-rendering engine.
libphonon (Qt4) or qtmultimedia5, libphonon4qt5 (Qt5) or qtmultimedia6 (Qt6) (opt: auto) | Library of playing the full formatted video and audio.
libfftw3 (opt: auto) | Library for fast Fourie transfer of signals.
UI.WebCfgD module
libgd (opt: --enable-LibGD) | Graphical library GD version 2, preferably without XPM support (X-server library dependency excluded) and FontConfig support.
UI.WebVision module
libgd | Graphical library GD version 2, preferably without XPM support (X-server library dependency excluded) and FontConfig support.
libfftw3 (opt: auto) | Library for fast Fourie transfer of signals.
Special.FLibSYS module
libssl (opt: auto) | Library for codifying OpenSSL.
libfftw3 (opt: auto) | Library for fast Fourie transfer of signals.

* "опц: авт." — предусматривает отключение использования библиотеки в случае отсутствия её при сборке.

### 2.2 Сборка

Зависимости OpenSCADA для сборки её ядра и модулей сведены в таблице ниже.

Table 3. Dependencies to build OpenSCADA and its modules.

Component | Description
--- | ---
The general requirements of OpenSCADA building
OS Linux | Distribution kit of operating system Linux (Debian, Ubuntu, CentOs, SuSELinux, ...)
g++ | Compiler of language C++ version 3.3 and more from a collection of compilers GCC, including library GLibC (>=2.3), uCLibC (>= 0.9.32) or Android BioniC.
autotools (autoconf, automake, libtool, pkg-config) | Tools to form a building environment of OpenSCADA. They are necessary only in the case of changing the building environment of OpenSCADA, for example at addition a new module or changing fixed parameters of the building. Automake >= 1.9.
gettext | A group of utilities for preparation and compilations of translations of the interface of programs on various languages in conformity with the internationalization standard I18N.
sqlite3 | Control utility for DB SQLite3 files management.
zlib (devel) | Compression library, a package for development.
libpcre[3], libpcre2 (devel) | Library of work with regular expressions of old and new versions, compatible with Perl, a package for development.
libgd (devel, opt: --enable-LibGD) | Graphical library GD version 2, a package for development, preferably without XPM support (X-server library dependency excluded) and FontConfig support. It is used for construction of trends and other images in PNG, GIF and JPEG.
DB.SQLite module
libsqlite3 (devel) | Library for access to built in DB SQLite version 3, a package for development.
DB.MySQL module
libMySQL or libMariaDB (devel) | Library for access to MySQL related DBMS, a package for development on language C.
DB.PostgreSQL module
libpq (devel) | Library for access to PostgreSQL DBMS version more 8.3.0, a package for development.
DB.FireBird module
firebird (devel) | FireBird DBMS version 2 or 3, a package for development. Often it is absent in distribution kits of Linux and demands individual loading from an official site (http://www.firebirdsql.org)!
DB.ODBC module
iodbc (devel) | iODBC Driver Manager library, a package for development.
DB.LDAP module
libldap (devel) | OpenLDAP library, a package for development.
DAQ.JavaLikeCalc module
bison | The program for generation parsers on the basis of grammar of the language.
DAQ.System module
libsensors (devel, opt: auto) | Hardware sensors' library versions 2 and 3, a package for development.
DAQ.OPC_UA module
libssl (devel) | Library for codifying OpenSSL, a package for development.
DAQ.SNMP module
libsnmp (devel) | Library for access to data of network devices under SNMP protocol, a package for development.
DAQ.Comedi module
libcomedi (devel) | Library of realizing support for DAQ-boards different manufacturer on buses ISA, PCI, PCMCIA and USB, a package for development.
DAQ.SoundCard module
libportaudio (devel) | Multiplatform library for access to sound controller, a package for development version 19 and higher (not 18).
Transport.SSL module
libssl (devel) | Library for codifying OpenSSL, a package for development.
UI.QTStarter module
libQt4 or libQt5 or libQt6 (devel) | Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphic interfaces, a package for development.
libQtSensors or libQt5Sensors or libQt6Sensors (devel, opt: auto) | Library of the Qt sensors, a package for development.
UI.QTCfg module
libQt4 or libQt5 or libQt6 (devel) | Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphic interfaces, a package for development.
UI.Vision module
libQt4 or libQt5 or libQt6 (devel) | Library Qt version 4.3 and higher or 5.1 and higher or 6.1 and higher for construction of user graphic interfaces, a package for development.
libQtWebKit (Qt4) or qtwebengine5, libqt5webkit5 (Qt5) or qtwebengine6 (Qt6) (devel, opt: auto) | Library of the Web-rendering engine, a package for development.
libphonon (Qt4) or qtmultimedia5, libphonon4qt5 (Qt5) or qtmultimedia6 (Qt6) (devel, opt: auto) | Library of playing the full formatted video and audio, a package for development.
libfftw3 (devel, opt: auto) | Library for fast Fourie transfer of signals, a package for development.
UI.WebCfgD module
libgd (devel, opt: --enable-LibGD) | Graphical library GD version 2, a package for development, preferably without XPM support (X-server library dependency excluded) and FontConfig support. It is used for construction of trends and other images in PNG, GIF and JPEG.
UI.WebVision module
libgd (devel) | Graphical library GD version 2, a package for development, preferably without XPM support (X-server library dependency excluded) and FontConfig support. It is used for construction of trends and other images in PNG, GIF and JPEG.
libfftw3 (devel, opt: auto) | Library for fast Fourie transfer of signals, package for development.
Special.FLibSYS module
libssl (devel, opt: auto) | Library for codifying OpenSSL, a package for development.
libfftw3 (devel, opt: auto) | Library for fast Fourie transfer of signals, package for development.

* "опц: авт." — предусматривает отключение использования библиотеки, в случае отсутствия её при сборке.

## 3 Масштабированность

Общая производительность прямых вычислений, вычислений на Java-подобном языке и комплексных вычислений моделей на различных аппаратных и программных платформах.

Потребление памяти, общие параметры на проекте "АГЛКС":

Уровни измерения | Debian 9 X86_64, МБ | Debian 9 686, МБ | Debian 8 ARMHF (ARMv7), МБ
--- | --- | --- | ---
2019.02.01: OpenSCADA 1+r2600
1. Исполнение модели и архивирование | 96 | 71 | 64
2. Загрузка проектов СВУ | 147 | 104 | 95
3. Запуск сеанса проекта "АГЛКС" (как сервер визуализации) | 152 | 108 | 97
3.1. Запуск сеанса проекта "АГЛКС" из UI.Vision, и для кадра первой мнемосхемы > графика | 168 > 175 | 121 > 126 | 106 > 109
3.2. Запуск сеанса проекта "АГЛКС" из UI.WebVision, и для кадра первой мнемосхемы > графика | 159 > 167 | 113 > 125 | 100 > 106

Большие и сложные проекты:

- 2019.01.12: Debian 9 686, OpenSCADA 1+r2595, Проект птичников с: ModBus DAQ с 38 объектами контроллеров, с 75 сложными параметрами и ~900 сигналами в каждом, суммарно это 2850 комплексных параметров и 34200 сигналов; проект СВУ с 39 объектами сигнализации, с 19 страницами в каждом, суммарно это 741 страниц:

    => Оптимизировано в UI.VCAEngine путём реализации связей на страницы, что позволило удалить 703 страницы, переключив типовые страницы в полностью динамический режим.
    => Расширено в UI.WebVision через поддержку работы в оперативном режиме, ограничив кеш страниц.
  - Исполнение DAQ, обработка и архивация: 102 МБ
  - Загрузка проектов СВУ: 271 МБ, после оптимизации: 148 МБ
  - Запуск сеанса проекта (как сервер визуализации): 437 МБ, после оптимизации: 174 МБ
  - Запуск сеанса проекта из UI.WebVision: 460 МБ (один сеанс), после оптимизации: 198 МБ

### 3.1 Тесты

Компонентов OpenSCADA:

- Ядро:
  - Тестирование ядра OpenSCADA и его модулей на аппаратной платформе ARM
  - Расширенные тесты продуктивности для Android на Asus Nexus7 II с разными параметрами компиляции, особенно для Hard и Soft float.
- БД: DBGate, SQLite, MySQL, PostgreSQL, FireBird
- DAQ: Вычислитель на языке подобном на Java (JavaLikeCalc)
- Архивы-История: FSArch
- UI: Vision, WebVision

Приёмочные тесты релизов OpenSCADA (LTS):

- 0.9
- 0.8.0
- 0.7.0
- 0.6.0
- 0.5.0
- 0.4.0

## 4 Ссылки

- Диаграмма: Роли OpenSCADA.
- Диаграмма: Роль OpenSCADA как "OPC-UA Сервер".

Functions_and_demands/ru - GFDL | July 2026 | OpenSCADA 1+r3070