OpenSCADAWiki: Home Page En/Doc/ User Protocol ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageEn/Doc/UserProtocol from 2010-03-19 15:01:28..

Module <UserProtocol> of subsystem “Protocols”

Russian (1 Kb) Русская версия
Ukrainian (1 Kb) Українська версія?


Module: UserProtocol
Name: User protocol
Type: Protocol
Source: prot_UserProtocol.so
Version: 0.5.0
Author:Roman Savochenko
Translated:Maxim Lysenko
Description: Allows you to create your own user protocols on any OpenSCADA's language.
License: GPL

Contents

Introduction

Module UserProtocol of the transport protocol is made to provide the user with the possibility of creation the implementations of different protocols by himself at one of the internal languages of OpenSCADA, usually JavaLikeCalc, without necessity of low-level programming of OpenSCADA.


Основная цель модуля - упростить задачу подключения к системе OpenSCADA устройств источников данных, которые имеют незначительное распространение и/или предоставляют доступ к собственным данным по специфическому протоколу, обычно достаточно простому для реализации на внутреннем языке OpenSCADA. Для реализации этого предоставляется механизм формирования протокола исходящего запроса.


Кроме механизма протокола исходящего запроса предоставляется механизм протокола входящего запроса, который позволяет OpenSCADA обслуживать запросы на получение данных по специфическим протоколам, которые достаточно просто могут быть реализованы на внутреннем языке OpenSCADA.


Модуль предоставляет возможность создания реализаций множества различных протоколов в объекте "Пользовательский протокол" (рис.1).


The main tab of the object "User protocol". (71 Kb)
Рис.1. Основная вкладка объекта "Пользовательский протокол".

Главная вкладка содержит основные настройки пользовательского протокола:

1. Часть протокола для входящих запросов

Протокол входящих запросов работает в кооперации с входящим транспортом и отдельный объект "Пользовательского протокола" указывается в поле конфигурации протокола транспорта вместе с именем модуля UserProtocol. В дальнейшем все запросы к транспорту будут направляться в процедуру обработки запроса протокола (рис.2).


Tab of the processing procedures of the incoming requests. (71 Kb)
Рис.2. Вкладка процедуры обработки входящих запросов.

Вкладка процедуры обработки входящих запросов содержит поле для выбора внутреннего языка программирования OpenSCADA и поле ввода текста процедуры обработки.


Для процедуры обработки предопределены следующие переменные обмена с входящим транспортом:


Общий сценарий обработки входящих запросов:

2. Часть протокола для исходящих запросов

Протокол исходящих запросов работает в кооперации с исходящим транспортом и отдельным объектом "Пользовательского протокола". Источником запроса через протокол может выступать функция общесистемного API пользовательского программирования исходящего транспорта int messIO( XMLNodeObj req, string prt );, в параметрах которой указывается:


Запрос отправленный вышеуказанным образом направляться в процедуру обработки запроса протокола (рис.3) с идентификатором пользовательского протокола указываемым в атрибуте req.attr("ProtIt").


Tab of the processing procedures of the outgoing requests. (81 Kb)
Рис.3. Вкладка процедуры обслуживания исходящих запросов.

Вкладка процедуры обработки исходящих запросов содержит поле для выбора внутреннего языка программирования OpenSCADA и поле ввода текста процедуры обработки.


Для процедуры обработки предопределены следующие переменные обмена:


Общий сценарий формирования исходящего запроса:


Суть выделения протокольной части кода в процедуру пользовательского протокола заключается в упрощении интерфейса клиентского обмена при многократном использовании и предпологает формирование структуры XML-узла обмена в виде атрибутов адресов удалённых станций, адресов читаемых и записываемых переменных, а также значений самих переменных. При этом весь груз непосредственного кодирования запроса и декодирования ответа возлагается на процедуру пользовательского протокола.

Ссылки

Referring pages: HomePageEn/Doc
HomePageEn/Function
HomePageEn/Using/APIFunctionLibs/LibUserPrtDevs
HomePageEn/Using/PLC/firmware


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]