Надає власний протокол заснований на XML та інтерфейсі керування OpenSCADA.
Ліцензія:
GPL
Вступ
Модуль транспортного протоколу SelfSystem призначено для відображення інтерфейсу управління системи OpenSCADA у мережу з метою надання можливості зовнішнім системам взаємодіяти із системою OpenSCADA, а також для взаємодії станцій, побудованих на основі OpenSCADA, між собою.
Першим досвідом використання функцій цього модуля стала підтримка можливості віддаленої конфігурації однієї OpenSCADA станції з іншою через мережу посередництвом модуля конфігурації QTCfg.
1. Синтаксис протоколу
Протокол побудовано за механізмом запит-відповідь. Запити та їх структура наведені у таблиці 1.
Таблиця 1 Структура запиту.
Запити
REQ: "SES_OPEN {user} {password}\n" REZ OK: "REZ 0 {ses_id}\n" REZ ERR: "REZ 1 Auth error. User or password error.\n"
Запит на відкриття сеансу від ім'я користувача user з паролем password. У випадку успіху буде отримано ідентифікатор сесії, інакше — код та повідомлення про помилку.
REQ: "SES_CLOSE {ses_id}\n" REZ: "REZ 0\n"
Закриття сеансу. Результат завжди вдалий.
REQ 1: "REQ {ses_id} {req_size}\n{control interface command}" REQ 2: "REQDIR {user} {password} {req_size}\n{control interface command}" REZ OK: "REZ 0 {rez_size}\n{control interface command result}" REZ ERR: "REZ 1 Auth error. Session no valid.\n" REZ ERR: "REZ 2 {control interface err}"
Основні запити: сеансовий та прямий. Реалізуються шляхом відправки стандартної команди інтерфейсу керування OpenSCADA у полі control interface command. В результаті буде отримано відповідь інтерфейсу управління control interface command result або одна з помилок.
REQ: "ERR REQUEST" REZ ERR: "REZ 3 Command format error.\n"
Будь який некоректний запит.
Протоколом підтримується можливість упаковки трафіку. Пакуються тільки дані інтерфейсу управління control interface command та control interface command result. Факт надходження упакованого запиту або відповіді визначається негативним значенням розміру запиту req_size або відповіді rez_size.
Для керування параметрами упаковки модулем надається форма конфігурації (рис.1).
Рис.1. Форма конфігурації параметрів модуля.
На цій формі можна:
Вивчити активні сеанси аутентифікації.
Вказати час життя сеансу у хвилинах.
Вказати межу підключень одного користувача від одного хосту.
Вказати рівень компресії протоколу у діапазоні від 0 до 9 (0-відключення компресії, -1-оптимальний за продуктивністю та якістю рівень компресії).
Внутрішня структура формується деревом XML запитів мови інтерфейсу управління OpenSCADAENRU з резервуванням додаткових службових атрибутів протоколу у кореневому тегу: