ОПК 
18 апреля 2022

Универсальный протокол информационного обмена для сложных систем Rulink

В АО «НТЦ ЭЛИНС» разработан протокол информационного обмена, позволяющий упростить организацию передачи данных в системах с большим количеством разнородных объектов управления

ВалентинаЛаптеваВедущий аналитик отдела прикладного программного обеспечения АО «НТЦ ЭЛИНС»

Рисунок 1. Обмен информацией между робототехническими средствами, БпЛА и средствами управления в составе РТК.

Современные робототехнические комплексы дают возможность объединения в единую систему робототехнических средств и БпЛА различного назначения, средств наблюдения и автоматизации управления (Рис. 1).

Выстраивается многоуровневая иерархия с множеством горизонтальных связей на каждом уровне. Цель – обеспечить всей доступной информацией каждый объект системы. В силу этого, наиболее важным фактором реализации концепции является качественная организация информационных обменов.

Валентина Лаптева Валентина Лаптева
Валентина Лаптева

В России отсутствуют общедоступные стандарты обмена данными, аналогичные, например, STANAG 4586. Он предназначен для организации взаимодействия между беспилотными летательными аппаратами, наземными пунктами управления и командными пунктами. Наличие такого стандарта позволяет быстро разрабатывать и интегрировать в систему все компоненты комплекса с БпЛА, избегая при этом многих проблем, связанных с использованием нестандартных протоколов обмена данными.

Так, при разработке комплексов различного назначения, как правило состоящих из большого количества взаимодействующих между собой объектов управления, постоянно приходится сталкиваться с проблемой разных протоколов обмена или их отсутствием. Каждый разработчик изделия реализует свой уникальный вариант протокола и не всегда корректно и в достаточной мере документирует его. Вследствие чего при интеграции таких объектов в комплекс приходится снова и снова реализовывать, отлаживать, тестировать обмен данными по этим протоколам. Отсутствует возможность разработать единые средства отладки и имитации. Все это влечет за собой потерю времени и средств.

Нашей компанией разработан универсальный протокол информационного обмена Rulink. Он определяет принципы передачи данных на различных уровнях сетевого взаимодействия. Сами данные остаются закрытыми и не входят в область действия протокола. Протокол предъявляет требования только к формату описания этих данных.

Основные особенности протокола Rulink:

• единый принцип организации взаимодействия между компонентами системы;

• многоуровневая архитектура взаимодействия;

• наглядный способ описания информационных сообщений;

• надежный автоматизированный способ генерации программного кода из описания сообщений;

• контроль работы взаимодействующих узлов;

• пакетная передача;

• возможность маршрутизации пакетов без декодирования полезных данных;

• независимость от типа физической связи между узлами сети;

• контроль целостности передаваемых данных.

Rulink представляет собой протокол с несколькими уровнями сетевого взаимодействия: канальный, сетевой, транспортный и уровень представления (Рис. 2). Это позволяет достичь гибкости, и соответствует принципу «разделяй и властвуй», при котором каждый уровень ответственен только за свою часть.

Рисунок 2. Иерархия уровней сетевой модели Rulink. Рисунок 2. Иерархия уровней сетевой модели Rulink.
Рисунок 2. Иерархия уровней сетевой модели Rulink.

На канальном уровне Rulink может использоваться в сетях любого типа (Ethernet, CAN, семейство RS). Единственным требованием является передача данных по кадрам. Если используется специфический тип сети, поддержка которого отсутствует в базовой версии Rulink, то не составит труда расширить возможности передачи, самостоятельно реализовав требуемый функционал.

На сетевом уровне обеспечивается адресация передаваемых сообщений. Обмен ведется по принципу точка-точка, либо широковещательными сообщениями. Предоставляется возможность мониторинга доступности узлов сети.

Помимо этого, на сетевом уровне предусмотрена возможность использования логической маршрутизации. Допустим, в состав наземного пункта управления входит одно устройство связи, предназначенное для получения сообщений от множества объектов, например, беспилотных летательных аппаратов или робототехнических средств. Сообщения должны быть доставлены на рабочие места операторов, выполняющих управление этими объектами. То есть физически адрес один – это адрес устройства связи, но логически сообщения предназначены разным адресатам. Для решения этой задачи в Rulink предусмотрено создание таблицы маршрутизации, которая обеспечивает доставку сообщения нужному адресату.

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

На уровне представления выполняется преобразование данных в байтовый поток для отправки по сети и обратное преобразование полученного байтового потока в осмысленные данные. Для выполнения этих преобразований используется описатель в формате языка разметки XML, в котором описаны передаваемые данные.

Язык разметки XML разрабатывался с целью удобства как при восприятии человеком, так и при обработке вычислительными средствами. Пример XML-документа представлен на Рис. 3.

Основной структурной единицей в XML является элемент. Определение элемента располагается между начальным тэгом (например, <rulink>) и конечным тэгом

(</rulink>). Один элемент может быть вложен в другой элемент. У элемента могут быть атрибуты (например, атрибут id у элемента dialect).

Пример на Рис. 3 представляет собой описатель по протоколу Rulink. Элемент rulink является корневым, он позволяет задать версию протокола Rulink. Элемент dialect предназначен для разбивки всех сообщений по группам.

Рисунок 3. Пример описателя по протоколу Rulink. Рисунок 3. Пример описателя по протоколу Rulink.
Рисунок 3. Пример описателя по протоколу Rulink.

В его атрибутах можно задавать идентификаторы участников обмена. Сообщения от каждого конкретного участника обмена описываются внутри элемента channel. Элемент message предназначен для описания сообщения. Каждый компонент сообщения описывается с помощью элемента field, в нем задается имя и тип данных, при необходимости – единица измерения.

В приведенном примере в обмене участвуют две системы: БпЛА и наземная станция. Описано единственное сообщение – координаты, которое отправляет БпЛА. Оно состоит из двух компонентов: широты и долготы, передающихся в виде чисел с плавающей точкой.

Описание передаваемых данных в виде XML-документа обладает рядом преимуществ по сравнению с протоколами, в которых структура передаваемых данных описывается в виде совокупности байтов.

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

Во-вторых, структурированное представление данных в описателе позволяет создать средства для автоматической генерации программного кода, реализующего обмен этими данными. Так как код генерируется без участия человека, исключаются ошибки при программировании обменов, что приводит к ускорению разработки при изменении структуры передаваемых данных.

В-третьих, формализованная структура протокола Rulink и ее независимость от конкретных данных позволяют реализовать универсальные средства диагностики и отладки обменов в телекоммуникационной сети.

В АО «НТЦ ЭЛИНС» также разработано диагностическое программное обеспечение (ДПО), позволяющее в режиме реального времени отслеживать значения передаваемых параметров и выводить их пользователю в виде графиков и индикаторов для последующего анализа. Кроме того, ДПО позволяет создать имитатор любого сетевого устройства с возможностью настройки отправляемых данных.

Процесс работы пользователя с ДПО выглядит следующим образом. Пользователь соединяет в одной сети системы, между которыми хочет отладить взаимодействие, и технологический компьютер, на котором установлено ДПО. Составляются описатели в соответствии с протоколом Rulink, в которых пользователь определяет сообщения, пересылаемые между системами. Описатели загружаются в ДПО, которое анализирует на основе описателей байтовые потоки данных в сети и предоставляет пользователю возможность отслеживать значения конкретных передаваемых параметров. Также ДПО может имитировать любую систему, передавая от ее имени заданные пользователем данные.

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

Протокол обмена данными Rulink является универсальным средством организации обменов в системах, объединяющих разнородные объекты управления. Он легко адаптируется к сетям любого типа и любым условиям обмена. В перспективе Rulink может стать основой стандарта обмена данными, обеспечивая потребности сложных неоднородных систем.