Функціональні характеристики та вимоги системи OpenSCADA
Сторінка містить інформацію яка дозволяє отримати загальне бачення про функції які може виконувати система OpenSCADA на цей час. Функції згруповано за сферами застосування системи OpenSCADA. Для отримання картини в цілому включено також заплановані або реалізовані на цей час функції. Сторінка також містить вимоги системи OpenSCADA для її виконання та збірки.
Сфера застосування системи OpenSCADA
Рис. 1. Ролі системи OpenSCADA
Сервер SCADA системи:
Візуальний контроль та керування за посередництвом інтерфейсів:
Віддалений сервер візуалізації на основі рушія візуалізації та керування СВК VCAEngine. Локальний запуск модуля UI.Vision, підключеного до сервера візуалізації.
Віддалений WEB інтерфейс. За посередництвом WEB-браузера, модуля візуалізації WebVision(RU) та модуля ядра середовища візуалізації та керування VCAEngine(RU).
Прості віддалені Web-інтерфейси користувача. За посередництвом WEB-браузера та UI-модуля WebUser (RU).
Збір даних (DAQ) з джерел:
Інформація про платформу (програмно-апаратну) на якій працює сервер. За допомогою модуля System(RU).
Збір даних з джерел які підтримують протокол SNMP (Simple Network Management Protokol). За допомогою DAQ-модуля SNMP(RU).
Збір даних промислових контролерів фірми Siemens серії S7. За допомогою DAQ-модуля Siemens(RU).
Збір даних промислових контролерів за протоколом ModBus. За допомогою DAQ-модуля ModBus(RU).
Збір даних промислових контролерів за протоколом DCON. За допомогою DAQ-модуля DCON(RU).
Формування похідних структур параметрів базуючись на шаблонах параметрів та даних інших джерел. За допомогою DAQ-модуля LogicLev(RU).
Збір даних з інших серверів та PLC побудованих на OpenSCADA, можливо для дублювання. За допомогою DAQ-модуля DAQGate(RU).
Збір даних через вхідні канали звукових контролерів. За посередництвом DAQ-модуля SoundCard(RU).
Збір даних обладнання фірми ICP DAS. За посередництвом DAQ-модуля ICP_DAS(RU).
Збір даних з джерел які підтримують протокол OPC_UA. За посередництвом DAQ-модуля OPC_UA (RU).
Збір даних з джерел різноманітного типу, які мають утіліти для доступу до даних або досяжні за посередництвом простих спеціалізованих мережевих протоколів. Відбувається шляхом написання процедури отримання даних на мові користувальницького програмування DAQ-модуля JavaLikeCalc (RU), а також модуля транспортного протоколу User Protocol (RU).
Надання даних системам верхнього рівня:
За посередництвом інтерфейсів:
Послідовного інтерфейсу (RS232, RS485, Modem, ...), за допомогою модуля транспорту Serial (RU).
Сокетів IP-мереж та протоколів мережевого рівня TCP, UDP та Unix, за допомогою модуля транспорту Sockets (RU)?.
Безпечного шару сокетів (SSL), за допомогою модуля транспорту SSL (RU).
За посередництвом протоколів:
Власний протокол OpenSCADA, за допомогою модуля транспортного протоколу SelfSystem (RU).
Протоколів сімейства ModBUS (TCP, RTU та ASCII), за допомогою модуля транспортного протоколу ModBUS (RU).
Протоколу "OPC UA", за допомогою модуля транспортного протоколу OPC UA (RU).
Простих спеціалізованих протоколів, розроблених за посередництвом модуля транспортного протоколу User Protocol.
Виконання обчислень користувач на мовах:
Мова блокових схем. За допомогою DAQ-модуля BlockCalc(RU).
На подібній до Java мові високого рівня. За допомогою DAQ-модуля JavaLikeCalc(RU).
Архівація повідомлень, ведення протоколів за різними категоріями та рівнями за допомогою механізмів:
Файли у XML-форматі або плоскому тексті, та упаковкою застарілих архівів. За допомогою модуля архівації FSArch(RU).
До таблиць архівних БД. За допомогою модуля архівації DBArch(RU).
Заплановано. На інший сервер, можливо виділений сервер архівації, базований на OpenSCADA.
Архівація значень зібраних даних за посередництвом механізмів:
Файли з подвійною упаковкою: послідовною та стандартним архіватором gzip. За посередництвом модуля архівації FSArch(RU).
До таблиць архівних БД. За посередництвом модуля архівації DBArch(RU).
Конфігурація та керування сервером через:
WEB-інтерфейс. За посередництвом Web-браузера та UI-модуля WebCfgD(RU) або WebCfg(RU).
З віддаленої конфігураційної станції. За посередництвом UI-модуля на конфігураційній станції QTCfg(RU) та інтерфейсу керування OpenSCADA відображеного у протоколі SelfSystem(RU).
FireBird. За посередництвом DB-модуля FireBird(RU).
Заплановано. БД які доступні на іншому сервері, базованому на OpenSCADA.
Заплановано. БД які працюють через ODBC.
Заплановано. PostgresSQL.
Заплановано. LDAP.
Станція оператора технологічного процесу, пульт диспетчера, панель моніторингу та інше:
Візуальний контроль та керування за допомогою інтерфейсів:
Локальний (швидкий) інтерфейс який засновано на бібліотеці QT. За посередництвом модуля візуалізації Vision(RU) та модуля ядра середовища візуалізації та керування VCAEngine(RU) з можливістю візуалізації з віддаленого рушія СВК, серверу візуалізації.
Віддалений WEB інтерфейс. За посередництвом WEB-браузера, модуля візуалізації WebVision(RU) та модуля ядра середовища візуалізації та керування VCAEngine(RU).
Прості віддалені Web-інтерфейси користувача. За посередництвом WEB-браузера та UI-модуля WebUser (RU).
Збір даних (DAQ) з джерел:
Збір даних з інших серверів та PLC побудованих на OpenSCADA, для перекидання даних серверів та дублювання. За допомогою DAQ-модуля DAQGate(RU).
Збір даних з джерел які підтримують протокол SNMP (Simple Network Management Protokol). За допомогою DAQ-модуля SNMP(RU).
Збір даних з джерел які підтримують протокол OPC_UA. За посередництвом DAQ-модуля OPC_UA (RU).
Виконання обчислень користувача на мовах:
Мова блокових схем. За допомогою DAQ-модуля BlockCalc(RU).
На подібній до Java мові високого рівня. За допомогою DAQ-модуля JavaLikeCalc(RU).
Архівація локальних повідомлень, ведення протоколів за різними категоріями та рівнями за допомогою механізмів:
Файли у XML-форматі або плоскому тексті, та упаковкою застарілих архівів. За допомогою модуля архівації FSArch(RU).
До таблиць архівних БД. За допомогою модуля архівації DBArch(RU).
Заплановано. На інший сервер (можливо навіть виділений сервер архівації), базований на OpenSCADA.
Конфігурація та керування станцією через:
WEB-інтерфейс. За посередництвом Web-браузера та UI-модуля WebCfgD(RU) або WebCfg(RU).
QT-інтерфейс. За посередництвом UI-модуля QTCfg(RU).
З віддаленої конфігураційної станції. За посередництвом UI-модуля на конфігураційній станції QTCfg(RU) та інтерфейсу керування OpenSCADA відображеного у протоколі SelfSystem(RU).
Інформація про платформу (програмно-апаратну) на якій працює сервер. За допомогою модуля System(RU).
Збір даних з джерел які підтримують протокол SNMP (Simple Network Management Protocol). За допомогою DAQ-модуля SNMP(RU).
Збір даних промислових контролерів за протоколом ModBus. За допомогою DAQ-модуля ModBus(RU).
Збір даних промислових контролерів за протоколом DCON. За допомогою DAQ-модуля DCON(RU).
Формування похідних структур параметрів базуючись на шаблонах параметрів та даних інших джерел. За допомогою DAQ-модуля LogicLev(RU).
Збір даних з інших серверів та PLC побудованих на OpenSCADA, можливо для дублювання. За допомогою DAQ-модуля DAQGate(RU).
Збір даних через вхідні канали звукових контролерів. За посередництвом DAQ-модуля SoundCard(RU).
Збір даних обладнання фірми ICP DAS. За посередництвом DAQ-модуля ICP_DAS(RU).
Збір даних з джерел які підтримують протокол OPC_UA. За посередництвом DAQ-модуля OPC_UA (RU).
Збір даних з джерел різноманітного типу, які мають утіліти для доступу до даних або досяжні за посередництвом простих спеціалізованих мережевих протоколів. Відбувається шляхом написання процедури отримання даних на мові користувальницького програмування DAQ-модуля JavaLikeCalc (RU), а також модуля транспортного протоколу User Protocol (RU).
Надання даних системам верхнього рівня:
За посередництвом інтерфейсів:
Послідовного інтерфейсу (RS232, RS485, Modem, ...), за допомогою модуля транспорту Serial (RU).
Сокетів IP-мереж та протоколів мережевого рівня TCP, UDP та Unix, за допомогою модуля транспорту Sockets (RU)?.
Безпечного шару сокетів (SSL), за допомогою модуля транспорту SSL (RU).
За посередництвом протоколів:
Власний протокол OpenSCADA, за допомогою модуля транспортного протоколу SelfSystem (RU).
Протоколів сімейства ModBUS (TCP, RTU та ASCII), за допомогою модуля транспортного протоколу ModBUS (RU).
Протоколу "OPC UA", за допомогою модуля транспортного протоколу OPC UA (RU).
Простих спеціалізованих протоколів, розроблених за посередництвом модуля транспортного протоколу User Protocol.
Керування, регулювання та виконання інших обчислень користувача на мовах:
Мова блокових схем. За допомогою DAQ-модуля BlockCalc(RU).
На подібній до Java мові високого рівня. За допомогою DAQ-модуля JavaLikeCalc(RU).
Архівація повідомлень, ведення протоколів за різними категоріями та рівнями за допомогою механізмів:
Файли у XML-форматі або плоскому тексті, та упаковкою застарілих архівів. За допомогою модуля архівації FSArch(RU).
До таблиць архівних БД. За допомогою модуля архівації DBArch(RU).
Заплановано. На інший сервер (можливо навіть виділений сервер архівації), базований на OpenSCADA.
Архівація значень зібраних даних за допомогою механізмів:
Буфера у пам'яті визначеної довжини. За допомогою вбудованого механізму архівації значень ядра OpenSCADA.
Файли з подвійною упаковкою: послідовною та стандартним архіватором gzip. За посередництвом модуля архівації FSArch(RU).
До таблиць архівних БД. За посередництвом модуля архівації DBArch(RU).
Конфігурація та керування PLC через:
WEB-інтерфейс. За посередництвом Web-браузера, UI-модуля WebCfgD(RU) або WebCfg(RU).
З віддаленої конфігураційної станції. За посередництвом UI-модуля на конфігураційній станції QTCfg(RU) та інтерфейсу керування OpenSCADA відображеного у протоколі SelfSystem(RU).
FireBird. За посередництвом DB-модуля FireBird(RU).
Заплановано. БД які доступні на іншому сервері, базованому на OpenSCADA.
Заплановано. БД які працюють через ODBC.
Заплановано. PostgresSQL.
Заплановано. LDAP.
Вимоги OpenSCADA
Виконання
Апаратні вимоги системи 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 та вище.
Збірка
Програмні умови системи 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-сервера). Використовується для побудови трендів та інших зображень у форматі 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(deval)
Бібліотека сенсорів апаратури версій 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 та більше, пакет для розробки.