OpenSCADAWiki: Doc/ Self System
 
English (1 Kb) English
Ukrainian (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).

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


На данной форме можно:

2. Внутренняя структура исходящего протокола

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

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

Ссылки

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