OpenSCADAWiki: Home Page Uk/Doc/ Self System
 
English (1 Kb) English
Russian (1 Kb) Российский

 (2 Kb) Сторінку заморожено, актуальна тут.

Модуль <SelfSystem> підсистеми "Протоколи"

Модуль: SelfSystem
Ім'я: Власний протокол системи OpenSCADA
Тип: Протокол
Джерело: prot_SelfSystem.so
Версія: 1.2
Автор: Роман Савоченко
Опис: Надає власний протокол заснований на XML та інтерфейсі керування OpenSCADA.
Ліцензія: GPL

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).

Форма конфігурації параметрів модуля. (86 Kb)
Рис.1. Форма конфігурації параметрів модуля.


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

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

Внутрішня структура формується деревом XML запитів мови інтерфейсу управління OpenSCADA EN RU з резервуванням додаткових службових атрибутів протоколу у кореневому тегу:
rqDir — ознака відправлення повідомлення, оминаючи процедуру відкриття сеансу (0-відкривати сеанс, 1-надсилати одразу);
rqUser — користувач;
rqPass — пароль;
rqAuthForce — примусово оновити аутентифікацію;
conTm — примусовий таймаут підключення.

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

Посилання

Referring pages: HomePageUk/Doc
HomePageUk/Doc/OpenSCADA060
HomePageUk/Function
HomePageUk/Using/PLC/firmware