Модулі/Власний Системний Протокол

This page is a translated version of the page Modules/SelfSystem and the translation is 100% complete.

Other languages:
English • ‎российский • ‎українська
Constr.png The translation checking and actualizing
Модуль Ім'я Версія Ліцензія Джерело Мови Платформи Тип Автор Опис
SelfSystem Власний протокол OpenSCADA 1.2 GPL2 prot_SelfSystem.so en,uk,ru,de x86,x86_64,ARM Протокол Роман Савоченко Надає власний протокол, заснований на XML та інтерфейсі керування OpenSCADA.

Contents

Модуль транспортного протоколу 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. Форма конфігурації параметрів модуля.

На цій формі можна:

2 Внутрішня структура вихідного протоколу

Внутрішня структура формується деревом XML запитів мови інтерфейсу управління OpenSCADA EN RU з резервуванням додаткових службових атрибутів протоколу у кореневому тегу:

rqDir — ознака відправлення повідомлення, оминаючи процедуру відкриття сеансу (0-відкривати сеанс, 1-надсилати одразу);
rqUser — користувач;
rqPass — пароль;
rqAuthForce — примусово оновити аутентифікацію;
conTm — примусовий таймаут підключення.

Результатом запиту також є дерево XML мови інтерфейсу управління OpenSCADA.