---
title: "\"ГОСТ Р 60.0.7.6-2025. Национальный стандарт Российской Федерации. Роботы и робототехнические устройства. Общая информационная модель. Описание общей информационной модели\""
number: "ГОСТ Р 60.0.7.6-2025"
issuer: "Федеральное агентство по техническому регулированию и метрологии"
status: действует
canonical: "https://bukva.ai/docs/standart-gost-r-60-0-7-6-2025"
---

## "ГОСТ Р 60.0.7.6-2025. Национальный стандарт Российской Федерации. Роботы и робототехнические устройства. Общая информационная модель. Описание общей информационной модели"

# "ГОСТ Р 60.0.7.6-2025. Национальный стандарт Российской Федерации. Роботы и робототехнические устройства. Общая информационная модель. Описание общей информационной модели"

(утв. и введен в действие Приказом Росстандарта от 27.11.2025 N 1547-ст)

> [!IMPORTANT]
> Документ [введен](#p100009) в действие с 01.01.2026.


<a id="p100001"></a>Утвержден и введен в действие
Приказом Федерального

<div align="right">

агентства по техническому<br>
регулированию и метрологии<br>
от 27 ноября 2025 г. N 1547-ст

<a id="p100002"></a>НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

</div>


<div align="center">

<a id="p100003"></a>**РОБОТЫ И РОБОТОТЕХНИЧЕСКИЕ УСТРОЙСТВА**

<a id="p100004"></a>**ОБЩАЯ ИНФОРМАЦИОННАЯ МОДЕЛЬ**

<a id="p100005"></a>**ОПИСАНИЕ ОБЩЕЙ ИНФОРМАЦИОННОЙ МОДЕЛИ**

<a id="p100006"></a>**Robots and robotic devices. Integration of robotic systems.**<br>
**Description of the general information model**

<a id="p100007"></a>**ГОСТ Р 60.0.7.6-2025**

<a id="p100008"></a>**ОКС 25.040.30**

<a id="p100009"></a>**Дата введения**<br>
**1 января 2026 года**

</div>



### <a id="p100010"></a>Предисловие


<a id="p100011"></a>1 РАЗРАБОТАН Обществом с ограниченной ответственностью "Яндекс" (ООО "Яндекс")
<a id="p100012"></a>2 ВНЕСЕН Техническим комитетом по стандартизации ТК 141 "Робототехника"
<a id="p100013"></a>3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 27 ноября 2025 г. N 1547-ст

<div align="right">

<a id="p100014"></a>4 ВВЕДЕН ВПЕРВЫЕ

<a id="p100015"></a>Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. N 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)

</div>



### <a id="p100016"></a>Введение


<div align="right">

<a id="p100017"></a>Целью стандартов комплекса "Роботы и робототехнические устройства" является повышение интероперабельности роботов и их компонентов, а также снижение затрат на их разработку, производство и обслуживание за счет стандартизации и унификации процессов, интерфейсов и параметров.<br>
<a id="p100018"></a>Стандарты комплекса "Роботы и робототехнические устройства" представляют собой совокупность отдельно издаваемых стандартов. Стандарты данного комплекса относятся к одной из следующих тематических групп: "Общие положения, основные понятия, термины и определения", "Технические и эксплуатационные характеристики", "Безопасность", "Виды и методы испытаний", "Механические интерфейсы", "Электрические интерфейсы", "Коммуникационные интерфейсы", "Методы программирования", "Методы построения траектории движения (навигация)", "Конструктивные элементы". Стандарты любой тематической группы могут относиться как ко всем роботам и робототехническим устройствам, так и к отдельным группам объектов стандартизации - промышленным роботам в целом, промышленным манипуляционным роботам, промышленным транспортным роботам, сервисным роботам в целом, сервисным манипуляционным роботам и сервисным мобильным роботам.

</div>

<a id="p100019"></a>Настоящий стандарт относится к тематической группе "Методы моделирования и программирования" и распространяется на все виды роботов.
<a id="p100020"></a>Настоящий стандарт устанавливает требования к описанию общей информационной модели (ОИМ) роботов. Стандарт разработан с целью установления единой информационной модели данных для интеграции роботов в автоматизированные производственные, складские и иные виды систем.
<a id="p100021"></a>Стандарт устанавливает структуру данных, объекты и их взаимосвязи, которые должны быть использованы для описания компонентов роботов.


### <a id="p100022"></a>1 Область применения


<a id="p100023"></a>Настоящий стандарт устанавливает требования к ОИМ роботов различного назначения. ОИМ представляет собой формализованную структуру описания состава, компонентов, параметров и состояния робота, предназначенную для его интеграции в информационные системы, автоматизированные системы управления, цифровые двойники, а также для взаимодействия с другими роботами.
<a id="p100024"></a>Стандарт определяет архитектуру ОИМ, включая:
- <a id="p100025"></a>состав и структуру классов и объектов модели;
- <a id="p100026"></a>системные и прикладные атрибуты компонентов робота;
- <a id="p100027"></a>правила построения иерархии и связей между частями робота.
<a id="p100028"></a>ОИМ, на которую распространяется настоящий стандарт, рекомендуется применять при разработке, внедрении и эксплуатации роботов, в том числе в рамках цифровизации, автоматизации производств, интеллектуального управления и киберфизических систем.
<a id="p100029"></a>Настоящий стандарт предназначен для разработчиков, изготовителей, интеграторов и пользователей роботов, а также для специалистов, занимающихся проектированием и обслуживанием автоматизированных производственных комплексов, в которых используются роботы.
<a id="p100030"></a>Требования настоящего стандарта основаны на требованиях стандартов комплекса "Роботы и робототехнические устройства".


### <a id="p100031"></a>2 Нормативные ссылки


<a id="p100032"></a>В настоящем стандарте использованы нормативные ссылки на следующие стандарты:
<a id="p100033"></a>[ГОСТ Р 7.0.64](https://bukva.ai/docs/standart-gost-r-7-0-64-2018) (ИСО 8601:2004) Система стандартов по информации, библиотечному и издательскому делу. Представление дат и времени. Общие требования
<a id="p100034"></a>[ГОСТ Р 60.0.0.4](https://bukva.ai/docs/standart-gost-r-60-0-0-4-2023)/ИСО 8373:2021 Роботы и робототехнические устройства. Термины и определения
<a id="p100035"></a>[ГОСТ Р 60.0.0.22](https://bukva.ai/docs/standart-gost-r-60-0-0-22-2025) Роботы и робототехнические устройства. Общая информационная модель. Термины и определения
<a id="p100036"></a>[ГОСТ Р ИСО/МЭК 11179-5](https://bukva.ai/docs/standart-gost-r-isomek-11179-5-2012) Информационная технология. Регистры метаданных (РМД). Часть 5. Принципы наименования и идентификация
<a id="p100037"></a>*Примечание* - При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.


### <a id="p100038"></a>3 Термины, определения и сокращения



#### <a id="p100039"></a>3.1 Термины и определения


<a id="p100040"></a>В настоящем стандарте применены термины по [ГОСТ Р 60.0.0.4](https://bukva.ai/docs/standart-gost-r-60-0-0-4-2023) и [ГОСТ Р 60.0.0.22](https://bukva.ai/docs/standart-gost-r-60-0-0-22-2025).


#### <a id="p100041"></a>3.2 Сокращения


<a id="p100042"></a>В настоящем стандарте применены следующие сокращения:
<a id="p100043"></a>АСУ - автоматизированная система управления;
<a id="p100044"></a>ИМ - информационная модель;
<a id="p100045"></a>**ИС - информационная система;**
<a id="p100046"></a>**ОИМ - общая информационная модель;**
<a id="p100047"></a>**API - интерфейс прикладного программирования (application programming interface);**
<a id="p100048"></a>DHCP - протокол динамической конфигурации узлов сети, предназначенный для автоматического присвоения IP-адресов и сопутствующих параметров сетевого соединения клиентским устройствам в компьютерной сети (Dynamic Host Configuration Protocol);
<a id="p100049"></a>DNS - распределенная иерархическая система доменных имен, обеспечивающая преобразование человекочитаемых доменных имен в IP-адреса и обратное преобразование, используемая для упрощения доступа к ресурсам компьютерных сетей (Domain Name System);
<a id="p100050"></a>EAP - сетевой протокол, обеспечивающий гибкий механизм аутентификации и поддержки различных методов проверки подлинности, применяемый в рамках протоколов доступа к сетям (Extensible Authentication Protocol);
<a id="p100051"></a>IP - интернет-протокол (Internet protocol);
<a id="p100052"></a>JSON - текстовый формат обмена данными, основанный на языке JavaScript (JavaScript object notation);
<a id="p100053"></a>NTP - сетевой протокол, предназначенный для синхронизации системных часов компьютеров и других устройств в распределенных вычислительных системах с высокой точностью посредством обмена временными метками по сети (Network Time Protocol);
<a id="p100054"></a>PEAP - защищенный расширяемый протокол аутентификации, обеспечивающий безопасный обмен учетными данными пользователя посредством создания зашифрованного TLS-туннеля между клиентом и сервером в сетях с поддержкой IEEE 802.1X (Protected Extensible Authentication Protocol);
<a id="p100055"></a>**PTP - сетевой протокол, предназначенный для синхронизации часов устройств в компьютерных сетях с высокой точностью, обеспечивающий передачу временных меток и коррекцию системного времени на основе иерархической структуры синхронизации (Precision Time Protocol);**
<a id="p100056"></a>**RTC - специализированный таймер, встроенный в вычислительные системы, обеспечивающий постоянный и точный учет времени и даты, необходимый для корректного функционирования программного обеспечения и системного планирования (Real-Time Clock);**
<a id="p100057"></a>**CSV - текстовый формат представления табличных данных, в котором значения отдельных полей разделяются запятыми, а каждая строка файла соответствует одной записи таблицы (Comma-Separated Values);**
<a id="p100058"></a>TLS - безопасность транспортного уровня (transport layer security);
<a id="p100059"></a>TTLS - протокол аутентификации, обеспечивающий безопасный обмен учетными данными пользователя посредством создания зашифрованного TLS-туннеля между клиентом и сервером, используемый в сетях с поддержкой IEEE 802.1X для защиты передачи аутентификационной информации (Tunneled Transport Layer Security);
<a id="p100060"></a>Wi-Fi - технология беспроводных локальных сетей, позволяющая электронным устройствам подключаться к сети, в основном используя диапазоны 2,4 ГГц и 5 ГГц (wireless fidelity).


### <a id="p100061"></a>4 Общая информационная модель роботов



#### <a id="p100062"></a>4.1 Общие положения


<a id="p100063"></a>Каждый объект ОИМ представляет собой элемент робота с набором атрибутов и методов, которые описывают его состояние и поведение. ОИМ должна поддерживать как статические данные (например, характеристики компонентов), так и динамические данные (например, актуальное состояние робота).


#### <a id="p100064"></a>4.2 Компоненты информационной модели


<a id="p100065"></a>ОИМ состоит из следующих ключевых компонентов:
- <a id="p100066"></a>объекты - основные элементы ОИМ, которые описывают компоненты и/или совокупность компонентов робота;
- <a id="p100067"></a>атрибуты - характеристики, которые описывают состояние объекта или его параметры (например, координаты робота, тип сенсора, статус системы);
- <a id="p100068"></a>методы - функции, которые определяют действия или операции, которые может выполнить объект и/или совокупность объектов (например, движение робота, захват объекта, настройка сенсора);
- <a id="p100069"></a>связи между объектами - описание взаимосвязей и взаимодействий между различными компонентами робота (например, связь между роботом и его манипулятором, между сенсором и системой управления).


#### <a id="p100070"></a>4.3 Масштабируемость


<a id="p100071"></a>ОИМ спроектирована с учетом возможности добавления новых типов объектов, самих объектов и их атрибутов для поддержки будущих технологий и новых типов роботов. С этой же целью каждый объект в ОИМ обладает возможностью расширения за счет добавления дополнительными атрибутами и методами. Основными принципами проектирования ОИМ являются:
- <a id="p100072"></a>расширяемость - возможность интеграции с новыми типами роботизированных решений;
- <a id="p100073"></a>модульность - возможность описать дополнительные компоненты и типы устройств, такие как новые типы сенсоров, приводы, а также новые системы управления;
- <a id="p100074"></a>совместимость с современными программными средствами и платформами - возможность реализации информационной модели с помощью различных промышленных протоколов и интерфейсов обмена данными.


#### <a id="p100075"></a>4.4 Взаимосвязь между общей информационной моделью и конкретными информационными моделями


<a id="p100076"></a>ОИМ роботов необходимо использовать в информационных моделях всех типов роботов, к которым относятся промышленные и сервисные роботы. Взаимосвязи между информационными моделями типов роботов представлены на [рисунке 1](#p100078).

<a id="p100077"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_0.png) 

<a id="p100078"></a>**Рисунок 1 - Взаимосвязи между информационными моделями**
**различных типов роботов**


#### <a id="p100079"></a>4.5 Класс для общей информационной модели



##### <a id="p100080"></a>4.5.1 Общие положения

<a id="p100081"></a>Корневым классом для ОИМ является класс Robot, который должен быть сформирован из четырех внутренних классов, представленных на [рисунке 2](#p100083). Имена характеристик и классов, используемых в ОИМ, должны соответствовать правилам присвоения имен, установленным в [приложении А](#p101179). Таблицы классов и перечислений заполняются согласно формату, описанному в [приложении Б](#p101192). Рекомендации по применению ОИМ - в [приложении В](#p101265).

<a id="p100082"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_1.png) 

<a id="p100083"></a>Рисунок 2 - Классы ОИМ

<a id="p100084"></a>Диаграмма классов для класса Robot приведена на [рисунке 3](#p100086).

<a id="p100085"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_2.png) 

<a id="p100086"></a>Рисунок 3 - Диаграмма классов для класса Robot

<a id="p100087"></a>Класс Robot приведен в [таблице 1](#p100089).

<a id="p100088"></a>Таблица 1

<a id="p100089"></a>Класс Robot


<table>
<colgroup><col width="18%"><col width="20%"><col width="6%"><col width="6%"><col width="50%"></colgroup>
<tr><td colspan="5"><a id="p100090"></a>Описание: Корневой класс Robot для ОИМ</td></tr>
<tr><td colspan="5"><a id="p100091"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100092"></a>Атрибуты:</td></tr>
<tr><td><a id="p100093"></a>feature</td><td><a id="p100094"></a>Feature</td><td><a id="p100095"></a>M</td><td><a id="p100096"></a>1</td><td><a id="p100097"></a>Общие параметры и характеристики робота (см. <a href="#p100113">4.5.2</a>)</td></tr>
<tr><td><a id="p100098"></a>diagnostic</td><td><a id="p100099"></a>Diagnostic</td><td><a id="p100100"></a>M</td><td><a id="p100101"></a>1</td><td><a id="p100102"></a>Текущее состояние робота, включая диагностические параметры (см. <a href="#p100761">4.5.3</a>)</td></tr>
<tr><td><a id="p100103"></a>safetyState</td><td><a id="p100104"></a>SafetyState</td><td><a id="p100105"></a>M</td><td><a id="p100106"></a>1</td><td><a id="p100107"></a>Текущее состояние систем безопасности робота (см. <a href="#p101034">4.5.4</a>)</td></tr>
<tr><td><a id="p100108"></a>messageEvent</td><td><a id="p100109"></a>MessageEvent</td><td><a id="p100110"></a>O</td><td><a id="p100111"></a>1</td><td><a id="p100112"></a>Журнал текущих событий и сообщений робота (см. <a href="#p101053">4.5.5</a>)</td></tr>
</table>



##### <a id="p100113"></a>4.5.2 Класс для характеристик робота

<a id="p100114"></a>Класс Feature предназначен для хранения общих параметров и характеристик робота, а также информации, уникальной для каждого конкретного экземпляра робота. Этот объект служит основной точкой для описания основных характеристик, таких как модель, тип робота, а также специфической информации, необходимой для идентификации и настройки робота в системе. Класс Feature обладает атрибутами и методами, представленными на [рисунке 4](#p100116) и в [таблице 2](#p100124).

<a id="p100115"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_3.png) 

<div align="center">

<a id="p100116"></a>Рисунок 4 - Диаграмма классов для класса Feature, лист 1

</div>




<a id="p100117"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_4.png) 

<div align="center">

<a id="p100118"></a>Рисунок 4, лист 2

</div>




<a id="p100119"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_5.png) 

<a id="p100120"></a>Рисунок 4, лист 3



<a id="p100121"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_6.png) 

<div align="center">

<a id="p100122"></a>Рисунок 4, лист 4

<a id="p100123"></a>Таблица 2

<a id="p100124"></a>Класс Feature

</div>



<table>
<colgroup><col width="22%"><col width="21%"><col width="6%"><col width="5%"><col width="46%"></colgroup>
<tr><td colspan="5"><a id="p100125"></a>Описание: Информация об общих параметрах и характеристиках робота</td></tr>
<tr><td colspan="5"><a id="p100126"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100127"></a>Атрибуты:</td></tr>
<tr><td><a id="p100128"></a>name</td><td><a id="p100129"></a>String</td><td><a id="p100130"></a>O</td><td><a id="p100131"></a>1</td><td><a id="p100132"></a>Имя робота</td></tr>
<tr><td><a id="p100133"></a>serialNumber</td><td><a id="p100134"></a>String</td><td><a id="p100135"></a>M</td><td><a id="p100136"></a>1</td><td><a id="p100137"></a>Уникальный серийный номер робота</td></tr>
<tr><td><a id="p100138"></a>manufacturer</td><td><a id="p100139"></a>String</td><td><a id="p100140"></a>M</td><td><a id="p100141"></a>1</td><td><a id="p100142"></a>Информация о наименовании изготовителя робота</td></tr>
<tr><td><a id="p100143"></a>model</td><td><a id="p100144"></a>String</td><td><a id="p100145"></a>M</td><td><a id="p100146"></a>1</td><td><a id="p100147"></a>Информация с указанием модели робота</td></tr>
<tr><td><a id="p100148"></a>type</td><td><a id="p100149"></a>RobotType</td><td><a id="p100150"></a>M</td><td><a id="p100151"></a>1</td><td><a id="p100152"></a>Тип робота</td></tr>
<tr><td><a id="p100153"></a>description</td><td><a id="p100154"></a>String</td><td><a id="p100155"></a>O</td><td><a id="p100156"></a>1</td><td><a id="p100157"></a>Общее представление робота, что он собой представляет, что он делает и как его использовать</td></tr>
<tr><td><a id="p100158"></a>swVersion</td><td><a id="p100159"></a>String</td><td><a id="p100160"></a>M</td><td><a id="p100161"></a>1</td><td><a id="p100162"></a>Номер версии программного обеспечения в формате [Major].[Minor].[Patch] (например, 1.3.2)</td></tr>
<tr><td><a id="p100163"></a>firmwareVersion</td><td><a id="p100164"></a>String</td><td><a id="p100165"></a>M</td><td><a id="p100166"></a>1</td><td><a id="p100167"></a>Номер версии прошивки в формате [Major].Minor].[Patch] (например, 1.3.2)</td></tr>
<tr><td><a id="p100168"></a>hwVersion</td><td><a id="p100169"></a>String</td><td><a id="p100170"></a>O</td><td><a id="p100171"></a>1</td><td><a id="p100172"></a>Номер версии аппаратного обеспечения робота в формате [Major] (например, 1)</td></tr>
<tr><td><a id="p100173"></a>cimVersion</td><td><a id="p100174"></a>String</td><td><a id="p100175"></a>M</td><td><a id="p100176"></a>1</td><td><a id="p100177"></a>Номер версии общей информационной модели</td></tr>
<tr><td><a id="p100178"></a>manufacturedDate</td><td><a id="p100179"></a>DateTime</td><td><a id="p100180"></a>O</td><td><a id="p100181"></a>1</td><td><a id="p100182"></a>Дата изготовления робота</td></tr>
<tr><td><a id="p100183"></a>time</td><td><a id="p100184"></a>DateTime</td><td><a id="p100185"></a>M</td><td><a id="p100186"></a>1</td><td><a id="p100187"></a>Текущее время, установленное на роботе</td></tr>
<tr><td><a id="p100188"></a>communication</td><td><a id="p100189"></a>Communication</td><td><a id="p100190"></a>M</td><td><a id="p100191"></a>1</td><td><a id="p100192"></a>Коммуникационные настройки робота</td></tr>
<tr><td><a id="p100193"></a>dateTimeSettings</td><td><a id="p100194"></a>DateTimeSettings</td><td><a id="p100195"></a>M</td><td><a id="p100196"></a>1</td><td><a id="p100197"></a>Настройки даты и времени на роботе</td></tr>
<tr><td colspan="5"><a id="p100198"></a>Методы:</td></tr>
<tr><td><a id="p100199"></a>setName<br>(name: String)</td><td><a id="p100200"></a>MethodResult</td><td><a id="p100201"></a>O</td><td colspan="2"><a id="p100202"></a>Задание имени робота</td></tr>
<tr><td><a id="p100203"></a>uploadFirmware<br>(firmware: Byte[])</td><td><a id="p100204"></a>MethodResult</td><td><a id="p100205"></a>O</td><td colspan="2"><a id="p100206"></a>Загрузка файла прошивки робота</td></tr>
<tr><td><a id="p100207"></a>updateFirmware<br>(fileName: String)</td><td><a id="p100208"></a>MethodResult</td><td><a id="p100209"></a>O</td><td colspan="2"><a id="p100210"></a>Обновление прошивки робота</td></tr>
<tr><td><a id="p100211"></a>uploadSoftware<br>(software: Byte[])</td><td><a id="p100212"></a>MethodResult</td><td><a id="p100213"></a>O</td><td colspan="2"><a id="p100214"></a>Загрузка файла программного обеспечения робота</td></tr>
<tr><td><a id="p100215"></a>updateSoftware<br>(fileName: String)</td><td><a id="p100216"></a>MethodResult</td><td><a id="p100217"></a>O</td><td colspan="2"><a id="p100218"></a>Обновление программного обеспечения робота</td></tr>
</table>


<div align="center">

<a id="p100219"></a>Перечисление MethodResultCode приведено в [таблице 3](#p100221).

<a id="p100220"></a>Таблица 3

<a id="p100221"></a>Перечисление MethodResultCode

</div>



<table>
<colgroup><col width="39%"><col width="61%"></colgroup>
<tr><td colspan="2"><a id="p100222"></a>Описание: Коды статуса выполнения метода</td></tr>
<tr><td colspan="2"><a id="p100223"></a>Атрибуты:</td></tr>
<tr><td><a id="p100224"></a>SUCCESS</td><td><a id="p100225"></a>Операция выполнена успешно</td></tr>
<tr><td><a id="p100226"></a>INVALID_PARAMETER</td><td><a id="p100227"></a>Неверные входные данные</td></tr>
<tr><td><a id="p100228"></a>OPERATION_FAILED</td><td><a id="p100229"></a>Ошибка при выполнении операции</td></tr>
<tr><td><a id="p100230"></a>UNSUPPORTED_OPERATION</td><td><a id="p100231"></a>Запрошенная операция не реализована для данного типа робота</td></tr>
<tr><td><a id="p100232"></a>NOT_FEASIBLE</td><td><a id="p100233"></a>Операция не может быть выполнена в текущих условиях</td></tr>
<tr><td><a id="p100234"></a>BUSY</td><td><a id="p100235"></a>Робот занят другой операцией и не может начать новую</td></tr>
<tr><td><a id="p100236"></a>PERMISSION_DENIED</td><td><a id="p100237"></a>Недостаточно прав для выполнения операции</td></tr>
<tr><td><a id="p100238"></a>UNKNOWN_ERROR</td><td><a id="p100239"></a>Неклассифицированная ошибка</td></tr>
</table>


<div align="center">

<a id="p100240"></a>Перечисление RobotType приведено в [таблице 4](#p100242).

<a id="p100241"></a>Таблица 4

<a id="p100242"></a>Перечисление RobotType

</div>



<table>
<colgroup><col width="38%"><col width="62%"></colgroup>
<tr><td colspan="2"><a id="p100243"></a>Описание: Типы роботов</td></tr>
<tr><td colspan="2"><a id="p100244"></a>Атрибуты:</td></tr>
<tr><td><a id="p100245"></a>INDUSTRIAL_ARM</td><td><a id="p100246"></a>Промышленный манипулятор</td></tr>
<tr><td><a id="p100247"></a>INDUSTRIAL_COBOT</td><td><a id="p100248"></a>Промышленный коллаборативный робот (робот, предназначенный для совместной работы с человеком)</td></tr>
<tr><td><a id="p100249"></a>SERVICE_AMR</td><td><a id="p100250"></a>Сервисный автономный мобильный робот</td></tr>
<tr><td><a id="p100251"></a>SERVICE_AGV</td><td><a id="p100252"></a>Сервисная автоматически управляемая тележка</td></tr>
<tr><td colspan="2"><a id="p100253"></a>Примечание - Перечисление может быть переопределено для информационных моделей каждого типа робота, учитывая актуальную классификацию роботов.</td></tr>
</table>


<div align="right">

<a id="p100254"></a>Перечисление CommunicationInterfaceType приведено в [таблице 5](#p100256).

</div>


<div align="center">

<a id="p100255"></a>Таблица 5

<a id="p100256"></a>Перечисление CommunicationInterfaceType

</div>



<table>
<colgroup><col width="38%"><col width="62%"></colgroup>
<tr><td colspan="2"><a id="p100257"></a>Описание: Тип коммуникационного интерфейса</td></tr>
<tr><td colspan="2"><a id="p100258"></a>Атрибуты:</td></tr>
<tr><td><a id="p100259"></a>SERIAL_PORT</td><td><a id="p100260"></a>Последовательный порт</td></tr>
<tr><td><a id="p100261"></a>ETHERNET</td><td><a id="p100262"></a>Ethernet</td></tr>
<tr><td><a id="p100263"></a>WIFI</td><td><a id="p100264"></a>Wi-Fi</td></tr>
</table>


<div align="right">

<a id="p100265"></a>Перечисление SerialPortType приведено в [таблице 6](#p100267).

</div>


<div align="center">

<a id="p100266"></a>Таблица 6

<a id="p100267"></a>Перечисление SerialPortType

</div>



<table>
<colgroup><col width="38%"><col width="62%"></colgroup>
<tr><td colspan="2"><a id="p100268"></a>Описание: Тип последовательного порта</td></tr>
<tr><td colspan="2"><a id="p100269"></a>Атрибуты:</td></tr>
<tr><td><a id="p100270"></a>RS_232</td><td><a id="p100271"></a>RS-232</td></tr>
<tr><td><a id="p100272"></a>RS_485</td><td><a id="p100273"></a>RS-485</td></tr>
<tr><td><a id="p100274"></a>RS_422</td><td><a id="p100275"></a>RS_422</td></tr>
<tr><td><a id="p100276"></a>UART</td><td><a id="p100277"></a>UART (универсальный асинхронный приемопередатчик)</td></tr>
</table>


<div align="right">

<a id="p100278"></a>Перечисление SerialPortFlowControl приведено в [таблице 7](#p100280).

</div>


<div align="center">

<a id="p100279"></a>Таблица 7

<a id="p100280"></a>Перечисление SerialPortFlowControl

</div>



<table>
<colgroup><col width="38%"><col width="62%"></colgroup>
<tr><td colspan="2"><a id="p100281"></a>Описание: Способ управления потоком данных</td></tr>
<tr><td colspan="2"><a id="p100282"></a>Атрибуты:</td></tr>
<tr><td><a id="p100283"></a>NONE</td><td><a id="p100284"></a>Управление потоком данных отсутствует</td></tr>
<tr><td><a id="p100285"></a>RTS/CTS</td><td><a id="p100286"></a>Аппаратное управление потоком данных</td></tr>
<tr><td><a id="p100287"></a>XON/XOFF</td><td><a id="p100288"></a>Программное управление потоком данных</td></tr>
</table>


<div align="right">

<a id="p100289"></a>Перечисление SerialPortParity приведено в [таблице 8](#p100291).

</div>


<div align="center">

<a id="p100290"></a>Таблица 8

<a id="p100291"></a>Перечисление SerialPortParity

</div>



<table>
<colgroup><col width="38%"><col width="62%"></colgroup>
<tr><td colspan="2"><a id="p100292"></a>Описание: Способ контроля четности для обнаружения ошибок</td></tr>
<tr><td colspan="2"><a id="p100293"></a>Атрибуты:</td></tr>
<tr><td><a id="p100294"></a>NONE</td><td><a id="p100295"></a>Без контроля бита четности</td></tr>
<tr><td><a id="p100296"></a>EVEN</td><td><a id="p100297"></a>С контролем бита четности (если в байте число единиц четное, то бит четности устанавливается в "1", в противном случае - в "0")</td></tr>
<tr><td><a id="p100298"></a>ODD</td><td><a id="p100299"></a>С контролем бита четности (если в байте число единиц нечетное, то бит четности устанавливается в "1", в противном случае - в "0")</td></tr>
<tr><td><a id="p100300"></a>MARK</td><td><a id="p100301"></a>Постоянно "1" (бит четности всегда устанавливается)</td></tr>
<tr><td><a id="p100302"></a>SPACE</td><td><a id="p100303"></a>Постоянно "0" (бит четности всегда сброшен)</td></tr>
</table>


<div align="center">

<a id="p100304"></a>Перечисление LanConfigurationMethod приведено в [таблице 9](#p100306).

</div>


<a id="p100305"></a>Таблица 9

<a id="p100306"></a>Перечисление LanConfigurationMethod


<table>
<colgroup><col width="38%"><col width="62%"></colgroup>
<tr><td colspan="2"><a id="p100307"></a>Описание: Способ задания сетевых настроек</td></tr>
<tr><td colspan="2"><a id="p100308"></a>Атрибуты:</td></tr>
<tr><td><a id="p100309"></a>AUTOMATICALLY</td><td><a id="p100310"></a>Получение настроек в автоматическом режиме</td></tr>
<tr><td><a id="p100311"></a>MANUALLY</td><td><a id="p100312"></a>Ручное задание настроек</td></tr>
<tr><td><a id="p100313"></a>LINK_LOCAL</td><td><a id="p100314"></a>Сетевые адреса, предназначенные для создания соединений в пределах одного сегмента локальной сети</td></tr>
</table>


<a id="p100315"></a>Перечисление WifiSecurity приведено в [таблице 10](#p100317).

<a id="p100316"></a>Таблица 10

<a id="p100317"></a>Перечисление WifiSecurity


<table>
<colgroup><col width="36%"><col width="64%"></colgroup>
<tr><td colspan="2"><a id="p100318"></a>Описание: Режим аутентификации подключения Wi-Fi</td></tr>
<tr><td colspan="2"><a id="p100319"></a>Атрибуты:</td></tr>
<tr><td><a id="p100320"></a>OPEN</td><td><a id="p100321"></a>Открытый доступ</td></tr>
<tr><td><a id="p100322"></a>WEP</td><td><a id="p100323"></a>Общий ключ</td></tr>
<tr><td><a id="p100324"></a>WPA_PERSONAL</td><td><a id="p100325"></a>Используют общий пароль для всей сети</td></tr>
<tr><td><a id="p100326"></a>WPA2_PERSONAL</td><td><a id="p100327"></a>Используют общий пароль для всей сети (алгоритм шифрования AES CCMP, длина ключа 128 бит)</td></tr>
<tr><td><a id="p100328"></a>WPA3_PERSONAL</td><td><a id="p100329"></a>Используют общий пароль для всей сети (при каждом соединении устанавливается новый шифрующий пароль, длина ключа 192 бита и т.д.)</td></tr>
<tr><td><a id="p100330"></a>WPA_ENTERPRISE</td><td><a id="p100331"></a>Используют полнофункциональный сервер аутентификации</td></tr>
<tr><td><a id="p100332"></a>WPA2_ENTERPRISE</td><td><a id="p100333"></a>Используют полнофункциональный сервер аутентификации (алгоритм шифрования AES CCMP)</td></tr>
<tr><td><a id="p100334"></a>WPA3_ENTERPRISE</td><td><a id="p100335"></a>Используют полнофункциональный сервер аутентификации (длина ключа 192 бита)</td></tr>
</table>


<div align="right">

<a id="p100336"></a>Перечисление WifiEncryption приведено в [таблице 11](#p100338).

</div>


<div align="center">

<a id="p100337"></a>Таблица 11

<a id="p100338"></a>Перечисление WifiEncryption

</div>



<table>
<colgroup><col width="36%"><col width="64%"></colgroup>
<tr><td colspan="2"><a id="p100339"></a>Описание: Способ шифрования пакетов подключения Wi-Fi</td></tr>
<tr><td colspan="2"><a id="p100340"></a>Атрибуты:</td></tr>
<tr><td><a id="p100341"></a>NONE</td><td><a id="p100342"></a>Без шифрования</td></tr>
<tr><td><a id="p100343"></a>WEP_40</td><td><a id="p100344"></a>Использует 40-битный ключ, алгоритм шифрования RC4, длина ключа шифрования - 40 бит, ключ шифрования статический (не изменяется)</td></tr>
<tr><td><a id="p100345"></a>WEP_104</td><td><a id="p100346"></a>Использует 104-битный ключ, алгоритм шифрования RC4, длина ключа шифрования - 104 бита. Ключ шифрования статический (не изменяется)</td></tr>
<tr><td><a id="p100347"></a>TKIP</td><td><a id="p100348"></a>Динамическое изменение ключа пакетов, длина ключа - до 128 бит, используется механизм проверки целостности сообщений (MIC)</td></tr>
<tr><td><a id="p100349"></a>AES</td><td><a id="p100350"></a>Симметричный блочный криптографический алгоритм шифрования</td></tr>
<tr><td><a id="p100351"></a>GCMP</td><td><a id="p100352"></a>Шифрование данных и их аутентификация</td></tr>
</table>


<a id="p100353"></a>Перечисление EapMethod приведено в [таблице 12](#p100355).

<a id="p100354"></a>Таблица 12

<a id="p100355"></a>Перечисление EapMethod


<table>
<colgroup><col width="36%"><col width="64%"></colgroup>
<tr><td colspan="2"><a id="p100356"></a>Описание: Режим EAP-аутентификации подключения Wi-Fi</td></tr>
<tr><td colspan="2"><a id="p100357"></a>Атрибуты:</td></tr>
<tr><td><a id="p100358"></a>NONE</td><td><a id="p100359"></a>Аутентификация отсутствует</td></tr>
<tr><td><a id="p100360"></a>PEAP</td><td><a id="p100361"></a>Сертификат у сервера, у клиента логин/пароль</td></tr>
<tr><td><a id="p100362"></a>TLS</td><td><a id="p100363"></a>Криптографические сертификаты</td></tr>
<tr><td><a id="p100364"></a>TTLS</td><td><a id="p100365"></a>Сертификат только у сервера, у клиента - логин/пароль</td></tr>
<tr><td><a id="p100366"></a>FAST</td><td><a id="p100367"></a>Быстрая аутентификация от Cisco</td></tr>
<tr><td><a id="p100368"></a>PWD</td><td><a id="p100369"></a>Парольная аутентификация</td></tr>
</table>


<a id="p100370"></a>Класс MethodResult приведен в [таблице 13](#p100372).

<div align="right">

<a id="p100371"></a>Таблица 13

<a id="p100372"></a>Класс MethodResult

</div>



<table>
<colgroup><col width="19%"><col width="24%"><col width="6%"><col width="6%"><col width="45%"></colgroup>
<tr><td colspan="5"><a id="p100373"></a>Описание: Данные, возвращаемые методами классов</td></tr>
<tr><td colspan="5"><a id="p100374"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100375"></a>Атрибуты:</td></tr>
<tr><td><a id="p100376"></a>code</td><td><a id="p100377"></a>MethodResultCode</td><td><a id="p100378"></a>M</td><td><a id="p100379"></a>1</td><td><a id="p100380"></a>Код статуса выполнения метода</td></tr>
<tr><td><a id="p100381"></a>message</td><td><a id="p100382"></a>String</td><td><a id="p100383"></a>O</td><td><a id="p100384"></a>1</td><td><a id="p100385"></a>Описание возвращаемого методом результата</td></tr>
<tr><td><a id="p100386"></a>timestamp</td><td><a id="p100387"></a>DateTime</td><td><a id="p100388"></a>O</td><td><a id="p100389"></a>1</td><td><a id="p100390"></a>Метка времени формирования результата метода</td></tr>
<tr><td><a id="p100391"></a>data</td><td><a id="p100392"></a>KeyValuePair</td><td><a id="p100393"></a>O</td><td><a id="p100394"></a>N</td><td><a id="p100395"></a>Данные выполнения метода</td></tr>
</table>


<div align="center">

<a id="p100396"></a>Класс CommunicationInterface приведен в [таблице 14](#p100398).

</div>


<a id="p100397"></a>Таблица 14

<a id="p100398"></a>Класс CommunicationInterface


<table>
<colgroup><col width="17%"><col width="35%"><col width="5%"><col width="4%"><col width="39%"></colgroup>
<tr><td colspan="5"><a id="p100399"></a>Описание: Класс для коммуникационных интерфейсов робота</td></tr>
<tr><td colspan="5"><a id="p100400"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100401"></a>Атрибуты:</td></tr>
<tr><td><a id="p100402"></a>id</td><td><a id="p100403"></a>Guid</td><td><a id="p100404"></a>M</td><td><a id="p100405"></a>1</td><td><a id="p100406"></a>Активный коммуникационный интерфейс</td></tr>
<tr><td><a id="p100407"></a>name</td><td><a id="p100408"></a>String</td><td><a id="p100409"></a>O</td><td><a id="p100410"></a>1</td><td><a id="p100411"></a>Пользовательское имя интерфейса</td></tr>
<tr><td><a id="p100412"></a>type</td><td><a id="p100413"></a>CommunicationInterfaceType</td><td><a id="p100414"></a>M</td><td><a id="p100415"></a>1</td><td><a id="p100416"></a>Тип коммуникационного интерфейса</td></tr>
<tr><td><a id="p100417"></a>enabled</td><td><a id="p100418"></a>Boolean</td><td><a id="p100419"></a>M</td><td><a id="p100420"></a>1</td><td><a id="p100421"></a>Флаг активации интерфейса</td></tr>
<tr><td colspan="5"><a id="p100422"></a>Методы:</td></tr>
<tr><td><a id="p100423"></a>setEnabled()</td><td><a id="p100424"></a>MethodResult</td><td><a id="p100425"></a>M</td><td colspan="2"><a id="p100426"></a>Включение интерфейса</td></tr>
<tr><td><a id="p100427"></a>setDisabled()</td><td><a id="p100428"></a>MethodResult</td><td><a id="p100429"></a>M</td><td colspan="2"><a id="p100430"></a>Отключение интерфейса</td></tr>
<tr><td><a id="p100431"></a>setName<br>(name: String)</td><td><a id="p100432"></a>MethodResult</td><td><a id="p100433"></a>O</td><td colspan="2"><a id="p100434"></a>Задание пользовательского имени коммуникационного интерфейса</td></tr>
</table>


<a id="p100435"></a>Класс SerialPort приведен в [таблице 15](#p100437).

<a id="p100436"></a>Таблица 15

<a id="p100437"></a>Класс SerialPort


<table>
<colgroup><col width="35%"><col width="25%"><col width="5%"><col width="5%"><col width="30%"></colgroup>
<tr><td colspan="5"><a id="p100438"></a>Описание: Конфигурация подключения по последовательному порту</td></tr>
<tr><td colspan="5"><a id="p100439"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100440"></a>Атрибуты:</td></tr>
<tr><td><a id="p100441"></a>type</td><td><a id="p100442"></a>SerialPortType</td><td><a id="p100443"></a>M</td><td><a id="p100444"></a>1</td><td><a id="p100445"></a>Тип последовательного порта</td></tr>
<tr><td><a id="p100446"></a>portName</td><td><a id="p100447"></a>String</td><td><a id="p100448"></a>O</td><td><a id="p100449"></a>1</td><td><a id="p100450"></a>Имя порта в контроллере</td></tr>
<tr><td><a id="p100451"></a>portPath</td><td><a id="p100452"></a>String</td><td><a id="p100453"></a>O</td><td><a id="p100454"></a>1</td><td><a id="p100455"></a>Путь порта в контроллере</td></tr>
<tr><td><a id="p100456"></a>dataBits</td><td><a id="p100457"></a>Byte</td><td><a id="p100458"></a>M</td><td><a id="p100459"></a>1</td><td><a id="p100460"></a>Количество бит данных</td></tr>
<tr><td><a id="p100461"></a>baudRate</td><td><a id="p100462"></a>SerialPortBaudRate</td><td><a id="p100463"></a>M</td><td><a id="p100464"></a>1</td><td><a id="p100465"></a>Скорость передачи данных</td></tr>
<tr><td><a id="p100466"></a>parity</td><td><a id="p100467"></a>SerialPortParity</td><td><a id="p100468"></a>M</td><td><a id="p100469"></a>1</td><td><a id="p100470"></a>Способ контроля четности для обнаружения ошибок</td></tr>
<tr><td><a id="p100471"></a>stopBits</td><td><a id="p100472"></a>Byte</td><td><a id="p100473"></a>M</td><td><a id="p100474"></a>1</td><td><a id="p100475"></a>Количество стоповых битов</td></tr>
<tr><td><a id="p100476"></a>flowControl</td><td><a id="p100477"></a>SerialPortFlow Control</td><td><a id="p100478"></a>M</td><td><a id="p100479"></a>1</td><td><a id="p100480"></a>Способ управления потоком данных</td></tr>
<tr><td colspan="5"><a id="p100481"></a>Методы:</td></tr>
<tr><td><a id="p100482"></a>setSerialPortParameters (type: SerialPortType, portName:<br>String, portPath: String, dataBits: Byte, baudRate: UInt32, parity: SerialPortParity, stopBits: Byte, flowControl: SerialPortFlowControl)</td><td><a id="p100483"></a>MethodResult</td><td><a id="p100484"></a>M</td><td colspan="2"><a id="p100485"></a>Задание конфигурации подключения по последовательному порту</td></tr>
</table>


<a id="p100486"></a>Класс IpConfig приведен в [таблице 16](#p100488).

<div align="right">

<a id="p100487"></a>Таблица 16

<a id="p100488"></a>Класс IpConfig

</div>



<table>
<colgroup><col width="33%"><col width="31%"><col width="5%"><col width="5%"><col width="26%"></colgroup>
<tr><td colspan="5"><a id="p100489"></a>Описание: Конфигурация сетевых настроек</td></tr>
<tr><td colspan="5"><a id="p100490"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100491"></a>Атрибуты:</td></tr>
<tr><td><a id="p100492"></a>configurationMethod</td><td><a id="p100493"></a>LanConfigurationMethod</td><td><a id="p100494"></a>M</td><td><a id="p100495"></a>1</td><td><a id="p100496"></a>Способ задания сетевых настроек</td></tr>
<tr><td><a id="p100497"></a>ipAddress</td><td><a id="p100498"></a>String</td><td><a id="p100499"></a>M</td><td><a id="p100500"></a>1</td><td><a id="p100501"></a>IP-адрес</td></tr>
<tr><td><a id="p100502"></a>gateway</td><td><a id="p100503"></a>String</td><td><a id="p100504"></a>M</td><td><a id="p100505"></a>1</td><td><a id="p100506"></a>Адрес шлюза по умолчанию</td></tr>
<tr><td colspan="5"><a id="p100507"></a>Методы:</td></tr>
<tr><td><a id="p100508"></a>setConfigurationMethod<br>(configurationMethod:<br>LanConfigurationMethod)</td><td><a id="p100509"></a>MethodResult</td><td><a id="p100510"></a>O</td><td colspan="2"><a id="p100511"></a>Задание IP-конфигурации</td></tr>
<tr><td><a id="p100512"></a>setGateway (gateway: String)</td><td><a id="p100513"></a>MethodResult</td><td><a id="p100514"></a>O</td><td colspan="2"><a id="p100515"></a>Задание адреса шлюза</td></tr>
</table>


<div align="right">

<a id="p100516"></a>Класс Ipv4Config приведен в [таблице 17](#p100518).

</div>


<div align="center">

<a id="p100517"></a>Таблица 17

<a id="p100518"></a>Класс Ipv4Config

</div>



<table>
<colgroup><col width="32%"><col width="26%"><col width="5%"><col width="5%"><col width="32%"></colgroup>
<tr><td colspan="5"><a id="p100519"></a>Описание: Конфигурация сетевых настроек IPv4</td></tr>
<tr><td colspan="5"><a id="p100520"></a>Выведен из: IpConfig</td></tr>
<tr><td colspan="5"><a id="p100521"></a>Атрибуты:</td></tr>
<tr><td><a id="p100522"></a>netmask</td><td><a id="p100523"></a>String</td><td><a id="p100524"></a>M</td><td><a id="p100525"></a>1</td><td><a id="p100526"></a>Маска подсети</td></tr>
<tr><td colspan="5"><a id="p100527"></a>Методы:</td></tr>
<tr><td><a id="p100528"></a>setConfig (ipAddress: String, netmask: String, gateway: String)</td><td><a id="p100529"></a>MethodResult</td><td><a id="p100530"></a>M</td><td colspan="2"><a id="p100531"></a>Задание параметров IPv4</td></tr>
</table>


<a id="p100532"></a>Класс Ipv6Config приведен в [таблице 18](#p100534).

<a id="p100533"></a>Таблица 18

<a id="p100534"></a>Класс Ipv6Config


<table>
<colgroup><col width="32%"><col width="26%"><col width="5%"><col width="5%"><col width="32%"></colgroup>
<tr><td colspan="5"><a id="p100535"></a>Описание: Конфигурация сетевых настроек IPv6</td></tr>
<tr><td colspan="5"><a id="p100536"></a>Выведен из: IpConfig</td></tr>
<tr><td colspan="5"><a id="p100537"></a>Атрибуты:</td></tr>
<tr><td><a id="p100538"></a>prefixLength</td><td><a id="p100539"></a>Byte</td><td><a id="p100540"></a>M</td><td><a id="p100541"></a>1</td><td><a id="p100542"></a>Префикс IPv6</td></tr>
<tr><td colspan="5"><a id="p100543"></a>Методы:</td></tr>
<tr><td><a id="p100544"></a>setConfig (ipAddress: String, prefixLength:<br>Byte, gateway: String): MethodResult</td><td><a id="p100545"></a>MethodResult</td><td><a id="p100546"></a>M</td><td colspan="2"><a id="p100547"></a>Задание параметров IPv6</td></tr>
</table>


<a id="p100548"></a>Класс 8021X приведен в [таблице 19](#p100550).

<div align="center">

<a id="p100549"></a>Таблица 19

<a id="p100550"></a>Класс 8021X

</div>



<table>
<colgroup><col width="41%"><col width="18%"><col width="5%"><col width="5%"><col width="31%"></colgroup>
<tr><td colspan="5"><a id="p100551"></a>Описание: Конфигурация параметров аутентификации по 802.1X</td></tr>
<tr><td colspan="5"><a id="p100552"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100553"></a>Атрибуты:</td></tr>
<tr><td><a id="p100554"></a>enabled</td><td><a id="p100555"></a>Boolean</td><td><a id="p100556"></a>M</td><td><a id="p100557"></a>1</td><td><a id="p100558"></a>Включена ли аутентификация по 802.1X</td></tr>
<tr><td><a id="p100559"></a>eapMethod</td><td><a id="p100560"></a>EapMethod</td><td><a id="p100561"></a>M</td><td><a id="p100562"></a>1</td><td><a id="p100563"></a>Режим EAP-аутентификации</td></tr>
<tr><td><a id="p100564"></a>identity</td><td><a id="p100565"></a>String</td><td><a id="p100566"></a>O</td><td><a id="p100567"></a>1</td><td><a id="p100568"></a>Имя пользователя или идентификатор</td></tr>
<tr><td><a id="p100569"></a>password</td><td><a id="p100570"></a>String</td><td><a id="p100571"></a>O</td><td><a id="p100572"></a>1</td><td><a id="p100573"></a>Пароль для EAP-аутентификации</td></tr>
<tr><td><a id="p100574"></a>caCertificate</td><td><a id="p100575"></a>String</td><td><a id="p100576"></a>O</td><td><a id="p100577"></a>1</td><td><a id="p100578"></a>Путь к CA-сертификату</td></tr>
<tr><td><a id="p100579"></a>clientCertificate</td><td><a id="p100580"></a>String</td><td><a id="p100581"></a>M</td><td><a id="p100582"></a>1</td><td><a id="p100583"></a>Путь к клиентскому сертификату</td></tr>
<tr><td><a id="p100584"></a>privateKey</td><td><a id="p100585"></a>String</td><td><a id="p100586"></a>M</td><td><a id="p100587"></a>1</td><td><a id="p100588"></a>Путь к закрытому ключу</td></tr>
<tr><td><a id="p100589"></a>privateKeyPassword</td><td><a id="p100590"></a>String</td><td><a id="p100591"></a>M</td><td><a id="p100592"></a>1</td><td><a id="p100593"></a>Пароль от закрытого ключа</td></tr>
<tr><td><a id="p100594"></a>caCertificateCheck</td><td><a id="p100595"></a>Boolean</td><td><a id="p100596"></a>O</td><td><a id="p100597"></a>1</td><td><a id="p100598"></a>Обязательна ли проверка сертификата сервера</td></tr>
<tr><td colspan="5"><a id="p100599"></a>Методы:</td></tr>
<tr><td><a id="p100600"></a>setEnabled()</td><td><a id="p100601"></a>MethodResult</td><td><a id="p100602"></a>M</td><td colspan="2"><a id="p100603"></a>Включение аутентификации по 802.1X</td></tr>
<tr><td><a id="p100604"></a>setDisabled()</td><td><a id="p100605"></a>MethodResult</td><td><a id="p100606"></a>M</td><td colspan="2"><a id="p100607"></a>Отключение аутентификации по 802.1X</td></tr>
<tr><td><a id="p100608"></a>uploadCaCertificate (file: Byte[])</td><td><a id="p100609"></a>MethodResult</td><td><a id="p100610"></a>M</td><td colspan="2"><a id="p100611"></a>Загрузка файла серверного сертификата</td></tr>
<tr><td><a id="p100612"></a>uploadClientCertificate (file: Byte[])</td><td><a id="p100613"></a>MethodResult</td><td><a id="p100614"></a>M</td><td colspan="2"><a id="p100615"></a>Загрузка файла клиентского сертификата</td></tr>
<tr><td><a id="p100616"></a>uploadPrivateKey (file: Byte[])</td><td><a id="p100617"></a>MethodResult</td><td><a id="p100618"></a>M</td><td colspan="2"><a id="p100619"></a>Загрузка файла закрытого ключа</td></tr>
</table>


<a id="p100620"></a>Класс LAN приведен в [таблице 20](#p100622).

<a id="p100621"></a>Таблица 20

<div align="right">

<a id="p100622"></a>Класс LAN

</div>



<table>
<colgroup><col width="32%"><col width="18%"><col width="6%"><col width="5%"><col width="39%"></colgroup>
<tr><td colspan="5"><a id="p100623"></a>Описание: Класс для коммуникационных интерфейсов робота</td></tr>
<tr><td colspan="5"><a id="p100624"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100625"></a>Атрибуты:</td></tr>
<tr><td><a id="p100626"></a>macAddress</td><td><a id="p100627"></a>String</td><td><a id="p100628"></a>M</td><td><a id="p100629"></a>1</td><td><a id="p100630"></a>Способ получения настроек: DHCP или статический IP-адрес</td></tr>
<tr><td><a id="p100631"></a>ipv4Config</td><td><a id="p100632"></a>Ipv4Config</td><td><a id="p100633"></a>O</td><td><a id="p100634"></a>1</td><td><a id="p100635"></a>Конфигурация IPv4</td></tr>
<tr><td><a id="p100636"></a>lpv6Config</td><td><a id="p100637"></a>Ipv6Config</td><td><a id="p100638"></a>O</td><td><a id="p100639"></a>1</td><td><a id="p100640"></a>Конфигурация IPv6</td></tr>
<tr><td><a id="p100641"></a>dnsServer</td><td><a id="p100642"></a>String</td><td><a id="p100643"></a>O</td><td><a id="p100644"></a>N</td><td><a id="p100645"></a>Список DNS-серверов</td></tr>
<tr><td><a id="p100646"></a>8021x</td><td><a id="p100647"></a>8021x</td><td><a id="p100648"></a>O</td><td><a id="p100649"></a>1</td><td><a id="p100650"></a>Конфигурация безопасности стандарта 802.1X</td></tr>
<tr><td colspan="5"><a id="p100651"></a>Методы:</td></tr>
<tr><td><a id="p100652"></a>setDns (dnsServer: String[])</td><td><a id="p100653"></a>MethodResult</td><td><a id="p100654"></a>O</td><td colspan="2"><a id="p100655"></a>Задание списка DNS-серверов</td></tr>
</table>


<a id="p100656"></a>Класс WLAN приведен в [таблице 21](#p100658).

<a id="p100657"></a>Таблица 21

<div align="right">

<a id="p100658"></a>Класс WLAN

</div>



<table>
<colgroup><col width="33%"><col width="20%"><col width="6%"><col width="6%"><col width="35%"></colgroup>
<tr><td colspan="5"><a id="p100659"></a>Описание: Конфигурация подключения по Wi-Fi</td></tr>
<tr><td colspan="5"><a id="p100660"></a>Выведен из: LAN</td></tr>
<tr><td colspan="5"><a id="p100661"></a>Атрибуты:</td></tr>
<tr><td><a id="p100662"></a>ssid</td><td><a id="p100663"></a>String</td><td><a id="p100664"></a>M</td><td><a id="p100665"></a>1</td><td><a id="p100666"></a>Уникальное имя сети</td></tr>
<tr><td><a id="p100667"></a>bssid</td><td><a id="p100668"></a>String</td><td><a id="p100669"></a>O</td><td><a id="p100670"></a>1</td><td><a id="p100671"></a>MAC-адрес точки доступа</td></tr>
<tr><td><a id="p100672"></a>hiddenNetwork</td><td><a id="p100673"></a>Boolean</td><td><a id="p100674"></a>O</td><td><a id="p100675"></a>1</td><td><a id="p100676"></a>Скрытая ли сеть</td></tr>
<tr><td><a id="p100677"></a>security</td><td><a id="p100678"></a>WifiSecurity</td><td><a id="p100679"></a>M</td><td><a id="p100680"></a>1</td><td><a id="p100681"></a>Режим аутентификации</td></tr>
<tr><td><a id="p100682"></a>encryption</td><td><a id="p100683"></a>WifiEncryption</td><td><a id="p100684"></a>M</td><td><a id="p100685"></a>1</td><td><a id="p100686"></a>Способ шифрования пакетов</td></tr>
<tr><td><a id="p100687"></a>passphrase</td><td><a id="p100688"></a>String</td><td><a id="p100689"></a>O</td><td><a id="p100690"></a>1</td><td><a id="p100691"></a>Пароль сети</td></tr>
<tr><td colspan="5"><a id="p100692"></a>Методы:</td></tr>
<tr><td><a id="p100693"></a>setWifiParameters (ssid: String, bssid: String, security: WifiSecurity, encryption: WifiEncryption, passphrase: String)</td><td><a id="p100694"></a>MethodResult</td><td><a id="p100695"></a>M</td><td colspan="2"><a id="p100696"></a>Задание параметров интерфейса Wi-Fi</td></tr>
</table>


<a id="p100697"></a>Класс Communication приведен в [таблице 22](#p100699).

<div align="right">

<a id="p100698"></a>Таблица 22

<a id="p100699"></a>Класс Communication

</div>



<table>
<colgroup><col width="25%"><col width="26%"><col width="4%"><col width="4%"><col width="41%"></colgroup>
<tr><td colspan="5"><a id="p100700"></a>Описание: Класс для коммуникационных настроек робота</td></tr>
<tr><td colspan="5"><a id="p100701"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100702"></a>Атрибуты:</td></tr>
<tr><td><a id="p100703"></a>externalInterface</td><td><a id="p100704"></a>CommunacationInterface</td><td><a id="p100705"></a>M</td><td><a id="p100706"></a>1</td><td><a id="p100707"></a>Активный коммуникационный интерфейс</td></tr>
<tr><td><a id="p100708"></a>interface</td><td><a id="p100709"></a>CommunacationInterface</td><td><a id="p100710"></a>M</td><td><a id="p100711"></a>N</td><td><a id="p100712"></a>Последовательный порт</td></tr>
<tr><td colspan="5"><a id="p100713"></a>Методы:</td></tr>
<tr><td><a id="p100714"></a>setExternalInterface (interfaceId: Guid)</td><td><a id="p100715"></a>MethodResult</td><td><a id="p100716"></a>M</td><td colspan="2"><a id="p100717"></a>Задание коммуникационного интерфейса для внешнего взаимодействия</td></tr>
<tr><td colspan="5"><a id="p100718"></a><a id="p100719"></a><a id="p100720"></a>Примечания<br>1 Робот должен обладать не менее одним из возможных классов коммуникационного интерфейса.<br>2 Класс Communication включает в себя базовые и наиболее распространенные интерфейсы взаимодействия с роботами. Более специфичные интерфейсы могут быть описаны в ИМ для конкретных типов роботов.</td></tr>
</table>


<a id="p100721"></a>Перечисление ClockSource приведено в [таблице 23](#p100723).

<a id="p100722"></a>Таблица 23

<div align="right">

<a id="p100723"></a>Перечисление ClockSource

</div>



<table>
<colgroup><col width="38%"><col width="62%"></colgroup>
<tr><td colspan="2"><a id="p100724"></a>Описание: Типы источников данных о времени</td></tr>
<tr><td colspan="2"><a id="p100725"></a>Атрибуты:</td></tr>
<tr><td><a id="p100726"></a>MANUAL</td><td><a id="p100727"></a>Задают вручную, поддерживается RTC контроллера</td></tr>
<tr><td><a id="p100728"></a>NTP</td><td><a id="p100729"></a>Получается через NTP</td></tr>
<tr><td><a id="p100730"></a>PTP</td><td><a id="p100731"></a>Получается через PTP</td></tr>
</table>


<a id="p100732"></a>Класс DateTimeSettings приведен в [таблице 24](#p100734).

<a id="p100733"></a>Таблица 24

<div align="right">

<a id="p100734"></a>Класс DateTimeSettings

</div>



<table>
<colgroup><col width="31%"><col width="19%"><col width="5%"><col width="4%"><col width="41%"></colgroup>
<tr><td colspan="5"><a id="p100735"></a>Описание: Класс для настроек даты и времени робота</td></tr>
<tr><td colspan="5"><a id="p100736"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100737"></a>Атрибуты:</td></tr>
<tr><td><a id="p100738"></a>clockSource</td><td><a id="p100739"></a>ClockSource</td><td><a id="p100740"></a>M</td><td><a id="p100741"></a>1</td><td><a id="p100742"></a>Тип источника установки времени</td></tr>
<tr><td><a id="p100743"></a>ntpServer</td><td><a id="p100744"></a>String</td><td><a id="p100745"></a>O</td><td><a id="p100746"></a>N</td><td><a id="p100747"></a>Список NTP-серверов</td></tr>
<tr><td colspan="5"><a id="p100748"></a>Методы:</td></tr>
<tr><td><a id="p100749"></a>setClockSource (clockSource: ClockSource)</td><td><a id="p100750"></a>MethodResult</td><td><a id="p100751"></a>M</td><td colspan="2"><a id="p100752"></a>Задание источника получения времени: NTP или ручная установка</td></tr>
<tr><td><a id="p100753"></a>setTime (time: DateTime)</td><td><a id="p100754"></a>MethodResult</td><td><a id="p100755"></a>M</td><td colspan="2"><a id="p100756"></a>Установка текущего времени на роботе</td></tr>
<tr><td><a id="p100757"></a>setNtpServer (ntpServer: String[])</td><td><a id="p100758"></a>MethodResult</td><td><a id="p100759"></a>O</td><td colspan="2"><a id="p100760"></a>Задание списка NTP-серверов для синхронизации времени контроллера робота</td></tr>
</table>



##### <a id="p100761"></a>4.5.3 Класс для состояния робота

<a id="p100762"></a>Информация о состоянии, работоспособности и актуальных параметрах функционирования робота в целом и его компонентов должна быть определена в классе Diagnostic, представленном на [рисунке 5](#p100764) и в [таблице 25](#p100768).

<a id="p100763"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_7.png) 

<div align="center">

<a id="p100764"></a>Рисунок 5 - Диаграмма классов для класса Diagnostic, лист 1

</div>




<a id="p100765"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_8.png) 


<div align="center">

<a id="p100766"></a>Рисунок 5, лист 2

<a id="p100767"></a>Таблица 25

<a id="p100768"></a>Класс Diagnostic

</div>



<table>
<colgroup><col width="21%"><col width="20%"><col width="6%"><col width="6%"><col width="47%"></colgroup>
<tr><td colspan="5"><a id="p100769"></a>Описание: Класс диагностики робота</td></tr>
<tr><td colspan="5"><a id="p100770"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100771"></a>Атрибуты:</td></tr>
<tr><td><a id="p100772"></a>state</td><td><a id="p100773"></a>State</td><td><a id="p100774"></a>M</td><td><a id="p100775"></a>1</td><td><a id="p100776"></a>Текущее состояние робота и его компонентов</td></tr>
<tr><td><a id="p100777"></a>error</td><td><a id="p100778"></a>Error</td><td><a id="p100779"></a>M</td><td><a id="p100780"></a>N</td><td><a id="p100781"></a>Список текущих ошибок</td></tr>
<tr><td><a id="p100782"></a>maintenance</td><td><a id="p100783"></a>Maintenance</td><td><a id="p100784"></a>O</td><td><a id="p100785"></a>1</td><td><a id="p100786"></a>Параметры обслуживания робота</td></tr>
</table>


<div align="center">

<a id="p100787"></a>Класс Diagnostic представляет текущее состояние компонентов и робота в целом, а также актуальные данные по обслуживанию и ошибкам, которые могут возникнуть в процессе работы робота.<br>
<a id="p100788"></a>Перечисление ErrorSeverityLevel представлено в [таблице 26](#p100790).

</div>


<a id="p100789"></a>Таблица 26

<a id="p100790"></a>Перечисление ErrorSeverityLevel


<table>
<colgroup><col width="33%"><col width="67%"></colgroup>
<tr><td colspan="2"><a id="p100791"></a>Описание: Уровни ошибок</td></tr>
<tr><td colspan="2"><a id="p100792"></a>Атрибуты:</td></tr>
<tr><td><a id="p100793"></a>WARNING</td><td><a id="p100794"></a>Предупреждение</td></tr>
<tr><td><a id="p100795"></a>ERROR</td><td><a id="p100796"></a>Ошибка</td></tr>
<tr><td><a id="p100797"></a>CRITICAL</td><td><a id="p100798"></a>Аварийная ситуация</td></tr>
</table>


<div align="center">

<a id="p100799"></a>Перечисление ErrorCode представлено в [таблице 27](#p100801).

</div>


<a id="p100800"></a>Таблица 27

<a id="p100801"></a>Перечисление ErrorCode


<table>
<colgroup><col width="33%"><col width="67%"></colgroup>
<tr><td colspan="2"><a id="p100802"></a>Описание: Коды ошибок</td></tr>
<tr><td colspan="2"><a id="p100803"></a>Атрибуты:</td></tr>
<tr><td><a id="p100804"></a>NO_ERROR</td><td><a id="p100805"></a>Ошибки отсутствуют</td></tr>
<tr><td><a id="p100806"></a>UNKNOWN_ERROR</td><td><a id="p100807"></a>Неизвестная ошибка</td></tr>
<tr><td><a id="p100808"></a>POWER_ERROR</td><td><a id="p100809"></a>Ошибка питания</td></tr>
<tr><td><a id="p100810"></a>OVERHEAT_ERROR</td><td><a id="p100811"></a>Ошибка перегрева</td></tr>
<tr><td><a id="p100812"></a>COOLING_ERROR</td><td><a id="p100813"></a>Ошибка охладительной системы</td></tr>
<tr><td><a id="p100814"></a>COMPONENT_ERROR</td><td><a id="p100815"></a>Ошибка компонента робота</td></tr>
</table>


<a id="p100816"></a>Перечисление MaintenanceType представлено в [таблице 28](#p100818).

<a id="p100817"></a>Таблица 28

<a id="p100818"></a>Перечисление MaintenanceType


<table>
<colgroup><col width="38%"><col width="62%"></colgroup>
<tr><td colspan="2"><a id="p100819"></a>Описание: Тип обслуживания робота</td></tr>
<tr><td colspan="2"><a id="p100820"></a>Атрибуты:</td></tr>
<tr><td><a id="p100821"></a>PREVENTIVE</td><td><a id="p100822"></a>Плановое обслуживание</td></tr>
<tr><td><a id="p100823"></a>CORRECTIVE</td><td><a id="p100824"></a>Внеплановое (аварийное) обслуживание</td></tr>
<tr><td><a id="p100825"></a>PREDICTIVE</td><td><a id="p100826"></a>Прогнозируемое обслуживание</td></tr>
<tr><td><a id="p100827"></a>MODIFICATION</td><td><a id="p100828"></a>Плановая модификация</td></tr>
</table>


<a id="p100829"></a>Перечисление MaintenanceStatus представлено в [таблице 29](#p100831).

<a id="p100830"></a>Таблица 29

<a id="p100831"></a>Перечисление MaintenanceStatus


<table>
<colgroup><col width="38%"><col width="62%"></colgroup>
<tr><td colspan="2"><a id="p100832"></a>Описание: Статус обслуживания робота</td></tr>
<tr><td colspan="2"><a id="p100833"></a>Атрибуты:</td></tr>
<tr><td><a id="p100834"></a>PLANNED</td><td><a id="p100835"></a>Запланировано</td></tr>
<tr><td><a id="p100836"></a>IN_PROGRESS</td><td><a id="p100837"></a>В работе</td></tr>
<tr><td><a id="p100838"></a>ON_HOLD</td><td><a id="p100839"></a>На удержании/ожидание</td></tr>
<tr><td><a id="p100840"></a>CANCELLED</td><td><a id="p100841"></a>Отменено</td></tr>
<tr><td><a id="p100842"></a>COMPLETED</td><td><a id="p100843"></a>Выполнено</td></tr>
</table>


<a id="p100844"></a>Класс Error представлен в [таблице 30](#p100846).

<a id="p100845"></a>Таблица 30

<a id="p100846"></a>Класс Error


<table>
<colgroup><col width="21%"><col width="24%"><col width="6%"><col width="5%"><col width="43%"></colgroup>
<tr><td colspan="5"><a id="p100847"></a>Описание: Ошибка робота</td></tr>
<tr><td colspan="5"><a id="p100848"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100849"></a>Атрибуты:</td></tr>
<tr><td><a id="p100850"></a>errorCode</td><td><a id="p100851"></a>ErrorCode</td><td><a id="p100852"></a>M</td><td><a id="p100853"></a>1</td><td><a id="p100854"></a>Код ошибки</td></tr>
<tr><td><a id="p100855"></a>errorTimestamp</td><td><a id="p100856"></a>DateTime</td><td><a id="p100857"></a>M</td><td><a id="p100858"></a>1</td><td><a id="p100859"></a>Время возникновения ошибки</td></tr>
<tr><td><a id="p100860"></a>errorSource</td><td><a id="p100861"></a>String</td><td><a id="p100862"></a>M</td><td><a id="p100863"></a>1</td><td><a id="p100864"></a>Источник возникновения ошибки</td></tr>
<tr><td><a id="p100865"></a>errorSeverity</td><td><a id="p100866"></a>ErrorSeverityLevel</td><td><a id="p100867"></a>M</td><td><a id="p100868"></a>1</td><td><a id="p100869"></a>Уровень ошибки</td></tr>
<tr><td><a id="p100870"></a>errorData</td><td><a id="p100871"></a>KeyValuePair</td><td><a id="p100872"></a>O</td><td><a id="p100873"></a>N</td><td><a id="p100874"></a>Данные ошибки</td></tr>
</table>


<a id="p100875"></a>Класс MaintenanceRecord представлен в [таблице 31](#p100877).

<a id="p100876"></a>Таблица 31

<div align="right">

<a id="p100877"></a>Класс MaintenanceRecord

</div>



<table>
<colgroup><col width="33%"><col width="23%"><col width="5%"><col width="4%"><col width="35%"></colgroup>
<tr><td colspan="5"><a id="p100878"></a>Описание: Запись о техническом обслуживании</td></tr>
<tr><td colspan="5"><a id="p100879"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100880"></a>Атрибуты:</td></tr>
<tr><td><a id="p100881"></a>recordId</td><td><a id="p100882"></a>Guid</td><td><a id="p100883"></a>M</td><td><a id="p100884"></a>1</td><td><a id="p100885"></a>Уникальный идентификатор записи</td></tr>
<tr><td><a id="p100886"></a>type</td><td><a id="p100887"></a>MaintenanceType</td><td><a id="p100888"></a>M</td><td><a id="p100889"></a>1</td><td><a id="p100890"></a>Тип обслуживания робота</td></tr>
<tr><td><a id="p100891"></a>status</td><td><a id="p100892"></a>MaintenanceStatus</td><td><a id="p100893"></a>M</td><td><a id="p100894"></a>1</td><td><a id="p100895"></a>Текущий статус обслуживания робота (конкретной записи)</td></tr>
<tr><td><a id="p100896"></a>reason</td><td><a id="p100897"></a>KeyValuePair [0..*]</td><td><a id="p100898"></a>M</td><td><a id="p100899"></a>1</td><td><a id="p100900"></a>Причина обслуживания робота</td></tr>
<tr><td><a id="p100901"></a>description</td><td><a id="p100902"></a>String</td><td><a id="p100903"></a>M</td><td><a id="p100904"></a>1</td><td><a id="p100905"></a>Описание текущего обслуживания</td></tr>
<tr><td><a id="p100906"></a>plannedTime</td><td><a id="p100907"></a>DateTime</td><td><a id="p100908"></a>O</td><td><a id="p100909"></a>1</td><td><a id="p100910"></a>Запланированное время обслуживания робота</td></tr>
<tr><td><a id="p100911"></a>startTime</td><td><a id="p100912"></a>DateTime</td><td><a id="p100913"></a>M</td><td><a id="p100914"></a>1</td><td><a id="p100915"></a>Время начала обслуживания робота</td></tr>
<tr><td><a id="p100916"></a>endTime</td><td><a id="p100917"></a>DateTime</td><td><a id="p100918"></a>O</td><td><a id="p100919"></a>1</td><td><a id="p100920"></a>Время окончания обслуживания робота</td></tr>
<tr><td><a id="p100921"></a>maintenanceOperationTime</td><td><a id="p100922"></a>UInt32</td><td><a id="p100923"></a>O</td><td><a id="p100924"></a>1</td><td><a id="p100925"></a>Наработка робота при проведении обслуживания в секундах</td></tr>
<tr><td><a id="p100926"></a>nextMaintenanceByOpTime</td><td><a id="p100927"></a>DateTime</td><td><a id="p100928"></a>O</td><td><a id="p100929"></a>1</td><td><a id="p100930"></a>Время следующего обслуживания робота по наработке</td></tr>
<tr><td><a id="p100931"></a>nextMaintenanceByDate</td><td><a id="p100932"></a>DateTime</td><td><a id="p100933"></a>O</td><td><a id="p100934"></a>1</td><td><a id="p100935"></a>Время следующего обслуживания робота по времени</td></tr>
<tr><td><a id="p100936"></a>reportedBy</td><td><a id="p100937"></a>String</td><td><a id="p100938"></a>O</td><td><a id="p100939"></a>1</td><td><a id="p100940"></a>Ответственный за выполнение обслуживания</td></tr>
<tr><td><a id="p100941"></a>performedAction</td><td><a id="p100942"></a>KeyValuePair [0..*]</td><td><a id="p100943"></a>O</td><td><a id="p100944"></a>1</td><td><a id="p100945"></a>Выполненные действия в рамках проведения обслуживания</td></tr>
<tr><td colspan="5"><a id="p100946"></a>Методы:</td></tr>
<tr><td><a id="p100947"></a>setNextMaintenanceByDate (date: DateTime)</td><td><a id="p100948"></a>MethodResult</td><td><a id="p100949"></a>O</td><td colspan="2"><a id="p100950"></a>Задание времени проведения следующего планового обслуживания робота по времени</td></tr>
<tr><td><a id="p100951"></a>setNextMaintenanceByOpTime (operationTime: UInt32)</td><td><a id="p100952"></a>MethodResult</td><td><a id="p100953"></a>O</td><td colspan="2"><a id="p100954"></a>Задание времени проведения следующего планового обслуживания робота по наработке</td></tr>
<tr><td colspan="5"><a id="p100955"></a><a id="p100956"></a><a id="p100957"></a>Примечания<br>1 Параметр reason представляет собой набор причин выполнения технического обслуживания. Данный набор может содержать в себе указание компонента робота и кодов ошибок данного компонента.<br>2 Параметр performedAction представляет собой набор действий, который применен при обслуживании робота с указанием компонента робота действий над ним.</td></tr>
</table>


<div align="center">

<a id="p100958"></a>Класс Maintenance представлен в [таблице 32](#p100960).

<a id="p100959"></a>Таблица 32

<a id="p100960"></a>Класс Maintenance

</div>



<table>
<colgroup><col width="35%"><col width="24%"><col width="5%"><col width="5%"><col width="31%"></colgroup>
<tr><td colspan="5"><a id="p100961"></a>Описание: Класс параметров обслуживания робота</td></tr>
<tr><td colspan="5"><a id="p100962"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p100963"></a>Атрибуты:</td></tr>
<tr><td><a id="p100964"></a>lastMaintenanceByDate</td><td><a id="p100965"></a>DateTime</td><td><a id="p100966"></a>O</td><td><a id="p100967"></a>1</td><td><a id="p100968"></a>Время последнего обслуживания робота</td></tr>
<tr><td><a id="p100969"></a>lastMaintenanceByOpTime</td><td><a id="p100970"></a>UInt32</td><td><a id="p100971"></a>O</td><td><a id="p100972"></a>1</td><td><a id="p100973"></a>Наработка робота при проведении последнего обслуживания</td></tr>
<tr><td><a id="p100974"></a>nextMaintenanceByDate</td><td><a id="p100975"></a>DateTime</td><td><a id="p100976"></a>O</td><td><a id="p100977"></a>1</td><td><a id="p100978"></a>Плановое время следующего обслуживания робота</td></tr>
<tr><td><a id="p100979"></a>nextMaintenanceByOpTime</td><td><a id="p100980"></a>UInt32</td><td><a id="p100981"></a>O</td><td><a id="p100982"></a>1</td><td><a id="p100983"></a>Плановая наработка робота для проведения следующего обслуживания</td></tr>
<tr><td><a id="p100984"></a>operationTime</td><td><a id="p100985"></a>UInt32</td><td><a id="p100986"></a>O</td><td><a id="p100987"></a>1</td><td><a id="p100988"></a>Наработка робота, с</td></tr>
<tr><td><a id="p100989"></a>maintenanceRecord</td><td><a id="p100990"></a>MaintenanceRecord</td><td><a id="p100991"></a>O</td><td><a id="p100992"></a>N</td><td><a id="p100993"></a>Журнал технического обслуживания</td></tr>
<tr><td colspan="5"><a id="p100994"></a>Методы:</td></tr>
<tr><td><a id="p100995"></a>resetOperationTime()</td><td><a id="p100996"></a>MethodResult</td><td><a id="p100997"></a>O</td><td colspan="2"><a id="p100998"></a>Установка текущей наработки робота в 0 с</td></tr>
<tr><td><a id="p100999"></a>createMaintenanceRecord (type: MaintenanceType, status: MaintenanceStatus, description: String, plannedTime: DateTime, startTime: DateTime, endTime: DateTime, maintenanceOperationTime: UInt32, nextMaintenanceByOpTime: UInt32, nextMaintenanceByDate: DateTime, reportedBy: String, performedAction: KeyValuePair [0..*])</td><td><a id="p101000"></a>MethodResult</td><td><a id="p101001"></a>O</td><td colspan="2"><a id="p101002"></a>Создание записи о техническом обслуживании в журнале</td></tr>
<tr><td><a id="p101003"></a>updateMaintenanceRecord (record Id: Guid, type: MaintenanceType, status: MaintenanceStatus, description: String, plannedTime: DateTime, startTime: DateTime, endTime: DateTime, maintenanceOperationTime: UInt32, nextMaintenanceByOpTime: UInt32, nextMaintenanceByDate: DateTime, reportedBy: String, performedAction: KeyValuePair [0..*])</td><td><a id="p101004"></a>MethodResult</td><td><a id="p101005"></a>O</td><td colspan="2"><a id="p101006"></a>Редактирование записи о техническом обслуживании в журнале</td></tr>
<tr><td><a id="p101007"></a>deleteMaintenanceRecord (recordId: Guid)</td><td><a id="p101008"></a>MethodResult</td><td><a id="p101009"></a>O</td><td colspan="2"><a id="p101010"></a>Удаление записи о техническом обслуживании в журнале</td></tr>
<tr><td><a id="p101011"></a>getMaintenanceRecords (offset: UInt32, limit: UInt16)</td><td><a id="p101012"></a>MethodResult</td><td><a id="p101013"></a>O</td><td colspan="2"><a id="p101014"></a>Получение последних записей о техническом обслуживании</td></tr>
<tr><td><a id="p101015"></a>getHistoricalMaintenanceRecords (start: DateTime, end: DateTime)</td><td><a id="p101016"></a>MethodResult</td><td><a id="p101017"></a>O</td><td colspan="2"><a id="p101018"></a>Получение записей о техническом обслуживании за определенный промежуток времени</td></tr>
<tr><td><a id="p101019"></a>clearMaintenanceRecords (older: Duration)</td><td><a id="p101020"></a>MethodResult</td><td><a id="p101021"></a>O</td><td colspan="2"><a id="p101022"></a>Очистка журнала технического обслуживания</td></tr>
</table>


<a id="p101023"></a>Для хранения актуальной информации о текущем состоянии компонентов и робота в целом используют объект класса State, представленный в [таблице 33](#p101025).

<div align="center">

<a id="p101024"></a>Таблица 33

<a id="p101025"></a>Класс State

</div>



<table>
<colgroup><col width="21%"><col width="20%"><col width="7%"><col width="7%"><col width="45%"></colgroup>
<tr><td colspan="5"><a id="p101026"></a>Описание: Класс текущего состояния робота и его компонентов</td></tr>
<tr><td colspan="5"><a id="p101027"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p101028"></a>Атрибуты:</td></tr>
<tr><td><a id="p101029"></a>state</td><td><a id="p101030"></a>RobotState</td><td><a id="p101031"></a>M</td><td><a id="p101032"></a>1</td><td><a id="p101033"></a>Текущее состояние робота</td></tr>
</table>



##### <a id="p101034"></a>4.5.4 Класс для системы безопасности

<a id="p101035"></a>Класс SafetyState является фундаментальным компонентом системы безопасности робота. Данный класс предназначен для хранения и обработки информации о текущем состоянии безопасности робота. Информация о текущем состоянии системы безопасности робота определена в классе SafetyState, представленном на [рисунке 6](#p101037) и в [таблице 34](#p101039).

<a id="p101036"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_9.png) 

<div align="center">

<a id="p101037"></a>Рисунок 6 - Диаграмма классов для класса SafetyState

<a id="p101038"></a>Таблица 34

</div>


<a id="p101039"></a>Класс SafetyState


<table>
<colgroup><col width="24%"><col width="17%"><col width="7%"><col width="6%"><col width="45%"></colgroup>
<tr><td colspan="5"><a id="p101040"></a>Описание: Класс системы безопасности робота</td></tr>
<tr><td colspan="5"><a id="p101041"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p101042"></a>Атрибуты:</td></tr>
<tr><td><a id="p101043"></a>safetyStateEnable</td><td><a id="p101044"></a>Boolean</td><td><a id="p101045"></a>M</td><td><a id="p101046"></a>1</td><td><a id="p101047"></a>Текущее состояние робота</td></tr>
</table>


<a id="p101048"></a>Основные характеристики класса:
- <a id="p101049"></a>является базовым классом для всех типов роботов;
- <a id="p101050"></a>содержит информацию о состоянии безопасности;

<div align="center">

- <a id="p101051"></a>реализует единый интерфейс для работы с параметрами безопасности.<br>
<a id="p101052"></a>ОИМ не предъявляет требования к содержанию класса SafetyState в силу наличия большого количества типов роботов со своей спецификой работы. ОИМ обозначает требование к наличию такого объекта в рамках класса Robot для всех типов роботов, но конкретное содержание класса определяется спецификой каждого типа робота путем расширения данного класса через механизм наследования.

</div>


##### <a id="p101053"></a>4.5.5 Класс для событий робота

<div align="center">

<a id="p101054"></a>Информация о текущих событиях работы робота определена в классе MessageEvent, представленном на [рисунке 7](#p101056) и в [таблице 35](#p101058). Класс MessageEvent представляет последнее событие, сгенерированное роботом, и историю событий, хранящихся непосредственно на роботе. Структура класса включает в себя атрибуты для хранения данных о событиях, методы для работы с событиями, механизмы записи и чтения истории событий.

</div>


<a id="p101055"></a> ![4 Общая информационная модель роботов](https://i.bukva.ai/Sbr5gnad/img_10.png) 

<div align="right">

<a id="p101056"></a>Рисунок 7 - Диаграмма классов для класса MessageEvent

<a id="p101057"></a>Таблица 35

</div>


<div align="center">

<a id="p101058"></a>Класс MessageEvent

</div>



<table>
<colgroup><col width="31%"><col width="23%"><col width="4%"><col width="4%"><col width="38%"></colgroup>
<tr><td colspan="5"><a id="p101059"></a>Описание: Класс для работы с событиями и логами робота</td></tr>
<tr><td colspan="5"><a id="p101060"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p101061"></a>Атрибуты:</td></tr>
<tr><td><a id="p101062"></a>lastEvent</td><td><a id="p101063"></a>Event</td><td><a id="p101064"></a>M</td><td><a id="p101065"></a>1</td><td><a id="p101066"></a>Последнее событие робота</td></tr>
<tr><td><a id="p101067"></a>loggerEnable</td><td><a id="p101068"></a>Boolean</td><td><a id="p101069"></a>O</td><td><a id="p101070"></a>1</td><td><a id="p101071"></a>Флаг, указывающий активность записи данных на диск</td></tr>
<tr><td><a id="p101072"></a>loggerLevel</td><td><a id="p101073"></a>EventSeverityLevel</td><td><a id="p101074"></a>O</td><td><a id="p101075"></a>1</td><td><a id="p101076"></a>Минимальный уровень события, которые записывают</td></tr>
<tr><td><a id="p101077"></a>loggerRetentionPeriod</td><td><a id="p101078"></a>Duration</td><td><a id="p101079"></a>O</td><td><a id="p101080"></a>1</td><td><a id="p101081"></a>Срок хранения исторических данных (см. <a href="https://bukva.ai/docs/standart-gost-r-7-0-64-2018">ГОСТ Р 7.0.64</a>)</td></tr>
<tr><td><a id="p101082"></a>loggerMaxSize</td><td><a id="p101083"></a>UInt32</td><td><a id="p101084"></a>O</td><td><a id="p101085"></a>1</td><td><a id="p101086"></a>Максимальный размер данных на диске в КБайт</td></tr>
<tr><td colspan="5"><a id="p101087"></a>Методы:</td></tr>
<tr><td><a id="p101088"></a>getEvents (offset: UInt32, limit: UInt16)</td><td><a id="p101089"></a>MethodResult</td><td><a id="p101090"></a>O</td><td colspan="2"><a id="p101091"></a>Получение последних событий из памяти</td></tr>
<tr><td><a id="p101092"></a>getHistoricalEvents (start: DateTime, end:<br>DateTime, eventType:<br>String, eventSource:<br>String, eventSeverity: EventSeverityLevel)</td><td><a id="p101093"></a>MethodResult</td><td><a id="p101094"></a>O</td><td colspan="2"><a id="p101095"></a>Получение исторических событий с указанием диапазона временем и фильтрацией по типу, источнику и уровню события</td></tr>
<tr><td><a id="p101096"></a>exportLogs (offset: UInt32, limit: UInt16, format:<br>LogFormat)</td><td><a id="p101097"></a>MethodResult</td><td><a id="p101098"></a>O</td><td colspan="2"><a id="p101099"></a>Экспорт хранящихся логов в заданный формат в заданном диапазоне номеров записей</td></tr>
<tr><td><a id="p101100"></a>clearLogs (older: Duration)</td><td><a id="p101101"></a>MethodResult</td><td><a id="p101102"></a>O</td><td colspan="2"><a id="p101103"></a>Очистка старых записей. Аргумент older указывает на длительность, данные старше указанной длительности от момента вызова метода должны быть удалены</td></tr>
<tr><td><a id="p101104"></a>enableLogging()</td><td><a id="p101105"></a>MethodResult</td><td><a id="p101106"></a>O</td><td colspan="2"><a id="p101107"></a>Активация системы логирования</td></tr>
<tr><td><a id="p101108"></a>disableLogging()</td><td><a id="p101109"></a>MethodResult</td><td><a id="p101110"></a>O</td><td colspan="2"><a id="p101111"></a>Деактивация системы логирования</td></tr>
<tr><td><a id="p101112"></a>setLoggerConfig (loggerLevel:<br>EventSeverityLevel,<br>loggerRetentionPeriod:<br>Duration, loggerMaxSize:<br>UInt32)</td><td><a id="p101113"></a>MethodResult</td><td><a id="p101114"></a>O</td><td colspan="2"><a id="p101115"></a>Изменение параметров логирования. logger MaxSize указывается в КБайт</td></tr>
</table>


<a id="p101116"></a>Практическое применение: отслеживание действий робота в реальном времени, анализ истории работы для выявления нештатных ситуаций, формирование отчетов о работе робота, диагностика неисправностей на основе анализа событий.
<a id="p101117"></a>Класс MessageEvent представлен в [таблице 35](#p101058).
<a id="p101118"></a>Перечисление EventSeverityLevel представлено в [таблице 36](#p101120).

<div align="right">

<a id="p101119"></a>Таблица 36

<a id="p101120"></a>Перечисление EventSeverityLevel

</div>



<table>
<colgroup><col width="39%"><col width="61%"></colgroup>
<tr><td colspan="2"><a id="p101121"></a>Описание: Уровни событий</td></tr>
<tr><td colspan="2"><a id="p101122"></a>Атрибуты:</td></tr>
<tr><td><a id="p101123"></a>DEBUG</td><td><a id="p101124"></a>Техническая информация</td></tr>
<tr><td><a id="p101125"></a>INFO</td><td><a id="p101126"></a>Информационные сообщения</td></tr>
<tr><td><a id="p101127"></a>WARNING</td><td><a id="p101128"></a>Предупреждения</td></tr>
<tr><td><a id="p101129"></a>ERROR</td><td><a id="p101130"></a>События, требующие вмешательства</td></tr>
<tr><td><a id="p101131"></a>CRITICAL</td><td><a id="p101132"></a>Аварийные ситуации</td></tr>
</table>


<div align="right">

<a id="p101133"></a>Перечисление LogFormat представлено в [таблице 37](#p101135).

<a id="p101134"></a>Таблица 37

</div>


<div align="center">

<a id="p101135"></a>Перечисление LogFormat

</div>



<table>
<colgroup><col width="39%"><col width="61%"></colgroup>
<tr><td colspan="2"><a id="p101136"></a>Описание: Формат данных выгрузки логов</td></tr>
<tr><td colspan="2"><a id="p101137"></a>Атрибуты:</td></tr>
<tr><td><a id="p101138"></a>JSON</td><td><a id="p101139"></a>Данные представлены в формате JSON</td></tr>
<tr><td><a id="p101140"></a>CSV</td><td><a id="p101141"></a>Данные представлены в формате CSV</td></tr>
</table>


<div align="center">

<a id="p101142"></a>Класс Event представлен в [таблице 38](#p101144).

<a id="p101143"></a>Таблица 38

<a id="p101144"></a>Класс Event

</div>



<table>
<colgroup><col width="21%"><col width="24%"><col width="5%"><col width="6%"><col width="44%"></colgroup>
<tr><td colspan="5"><a id="p101145"></a>Описание: Формат события робота</td></tr>
<tr><td colspan="5"><a id="p101146"></a>Выведен из: Неприменимо</td></tr>
<tr><td colspan="5"><a id="p101147"></a>Атрибуты:</td></tr>
<tr><td><a id="p101148"></a>eventId</td><td><a id="p101149"></a>Guid</td><td><a id="p101150"></a>M</td><td><a id="p101151"></a>1</td><td><a id="p101152"></a>Уникальный идентификатор события</td></tr>
<tr><td><a id="p101153"></a>eventTimestamp</td><td><a id="p101154"></a>DateTime</td><td><a id="p101155"></a>M</td><td><a id="p101156"></a>1</td><td><a id="p101157"></a>Время возникновения события</td></tr>
<tr><td><a id="p101158"></a>eventSource</td><td><a id="p101159"></a>String</td><td><a id="p101160"></a>M</td><td><a id="p101161"></a>1</td><td><a id="p101162"></a>Источник возникновения события</td></tr>
<tr><td><a id="p101163"></a>eventType</td><td><a id="p101164"></a>String</td><td><a id="p101165"></a>M</td><td><a id="p101166"></a>1</td><td><a id="p101167"></a>Тип события</td></tr>
<tr><td><a id="p101168"></a>eventSeverity</td><td><a id="p101169"></a>EventSeverityLevel</td><td><a id="p101170"></a>M</td><td><a id="p101171"></a>1</td><td><a id="p101172"></a>Уровень события</td></tr>
<tr><td><a id="p101173"></a>eventData</td><td><a id="p101174"></a>KeyValuePair</td><td><a id="p101175"></a>O</td><td><a id="p101176"></a>N</td><td><a id="p101177"></a>Данные события</td></tr>
</table>






<a id="p101178"></a>Приложение А
(обязательное)

<a id="p101179"></a>ПРАВИЛА ПРИСВОЕНИЯ ИМЕН

<a id="p101180"></a>А.1 Общие положения

<a id="p101181"></a>Правила присвоения имен выведены на основе руководств и принципов, описанных в [ГОСТ Р ИСО/МЭК 11179-5](https://bukva.ai/docs/standart-gost-r-isomek-11179-5-2012). Данные правила были приспособлены для конкретного применения в информационной модели. Они разработаны для обеспечения единообразного и адекватного именования как базовых, так и агрегированных информационных объектов.
<a id="p101182"></a>Базовый информационный объект используют для представления информации и построения информационных моделей, а его примерами являются класс объекта, атрибут класса объекта, метод объекта.

<a id="p101183"></a>А.2 Правила присвоения имен

<a id="p101184"></a>Применяют следующие правила присвоения имен:
- <a id="p101185"></a>правило 1. Имя элемента должно быть уникальным в логической группировке данных, к которой принадлежит данный элемент;
- <a id="p101186"></a>правило 2. Имя класса допускается начинать с прописной буквы. Имя члена класса рекомендуется начинать со строчной буквы;
- <a id="p101187"></a>правило 3. Имя класса не должно содержать последовательных дублирующих слов;
- <a id="p101188"></a>правило 4. Рекомендуется, чтобы имя элемента содержало менее 10 символов при максимальной длине 256 символов. При необходимости сокращение имени элемента может быть определено и использовано;
- <a id="p101189"></a>правило 5. В имени элемента допускается использовать буквенно-цифровые символы, если они не определены особо;
- <a id="p101190"></a>правило 6. Имя элемента должно быть представлено в единственном числе, если его смысл не предполагает множественного числа (например, goods).





<div align="right">

<a id="p101191"></a>Приложение Б

</div>

(справочное)

<div align="center">

<a id="p101192"></a>**ФОРМАТ ПРЕДСТАВЛЕНИЯ КЛАССА**

</div>


<a id="p101193"></a>Классы определены в настоящем стандарте с использованием табличного формата, представленного в [таблице Б.1](#p101195). В [таблице Б.1](#p101195) буквы "M" и "O" обозначают "обязательный (mandatory)" и "факультативный (optional)" соответственно.

<div align="right">

<a id="p101194"></a>Таблица Б.1

</div>


<div align="center">

<a id="p101195"></a>Табличный формат для представления класса

</div>



<table>
<colgroup><col width="24%"><col width="23%"><col width="23%"><col width="14%"><col width="16%"></colgroup>
<tr><td colspan="5"><a id="p101196"></a>Описание: &lt;Описание класса&gt;</td></tr>
<tr><td colspan="5"><a id="p101197"></a>Выведен из: &lt;Имя порождающего класса&gt; или &lt;неприменимо&gt;</td></tr>
<tr><td colspan="5"><a id="p101198"></a>Атрибуты</td></tr>
<tr><td><a id="p101199"></a>&lt;Имя атрибута&gt;</td><td><a id="p101200"></a>&lt;Тип атрибута&gt;</td><td><a id="p101201"></a>Обязательный (M) или факультативный (O)</td><td><a id="p101202"></a>Число объектов</td><td><a id="p101203"></a>Описание</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td colspan="5"><a id="p101204"></a>Методы</td></tr>
<tr><td><a id="p101205"></a>&lt;Имя метода с типами и именами параметров&gt;</td><td><a id="p101206"></a>&lt;Тип возвращаемого значения&gt;</td><td><a id="p101207"></a>Обязательный или факультативный</td><td colspan="2"><a id="p101208"></a>Описание</td></tr>
<tr><td></td><td></td><td></td><td colspan="2"></td></tr>
</table>


<a id="p101209"></a>Атрибутами перечисляемого типа данных являются перечисляемые значения или константы. Пример представления класса MyClass приведен в [таблице Б.2](#p101211).

<div align="right">

<a id="p101210"></a>Таблица Б.2

</div>


<div align="center">

<a id="p101211"></a>*Пример* представления класса MyClass

</div>



<table>
<colgroup><col width="27%"><col width="18%"><col width="18%"><col width="10%"><col width="27%"></colgroup>
<tr><td colspan="5"><a id="p101212"></a>Описание: Это пример.</td></tr>
<tr><td colspan="5"><a id="p101213"></a>Выведен из: ОИМ</td></tr>
<tr><td colspan="5"><a id="p101214"></a>Атрибуты</td></tr>
<tr><td><a id="p101215"></a>&lt;Имя атрибута&gt;</td><td><a id="p101216"></a>&lt;Тип атрибута&gt;</td><td><a id="p101217"></a>Обязательный или факультативный</td><td><a id="p101218"></a>Число объектов</td><td><a id="p101219"></a>Описание</td></tr>
<tr><td><a id="p101220"></a>attribute1</td><td><a id="p101221"></a>String</td><td><a id="p101222"></a>M</td><td><a id="p101223"></a>1</td><td><a id="p101224"></a>Данный атрибут использован для примера</td></tr>
<tr><td><a id="p101225"></a>attribute2</td><td><a id="p101226"></a>Double</td><td><a id="p101227"></a>M</td><td><a id="p101228"></a>1</td><td><a id="p101229"></a>Данный атрибут использован для примера</td></tr>
<tr><td><a id="p101230"></a>attribute3</td><td><a id="p101231"></a>UInt16</td><td><a id="p101232"></a>O</td><td><a id="p101233"></a>N</td><td><a id="p101234"></a>Данный атрибут имеет тип списка из N объектов</td></tr>
<tr><td colspan="5"><a id="p101235"></a>Методы</td></tr>
<tr><td><a id="p101236"></a>&lt;Имя метода с типами и именами параметров&gt;</td><td><a id="p101237"></a>&lt;Тип возвращаемого значения&gt;</td><td><a id="p101238"></a>Обязательный или факультативный</td><td colspan="2"><a id="p101239"></a>Описание</td></tr>
<tr><td><a id="p101240"></a>method1()</td><td><a id="p101241"></a>MethodResult</td><td><a id="p101242"></a>M</td><td colspan="2"><a id="p101243"></a>Описание метода method1</td></tr>
<tr><td><a id="p101244"></a>method2 (paraName1:<br>UInt16, paraName2: String)</td><td><a id="p101245"></a>MethodResult</td><td><a id="p101246"></a>M</td><td colspan="2"><a id="p101247"></a>Описание метода method2 с параметрами</td></tr>
<tr><td colspan="5"><a id="p101248"></a>Примечание - Типы параметров методов отделены двоеточием ":".</td></tr>
</table>


<a id="p101249"></a>Формат представления перечисления

<a id="p101250"></a>Перечисления определены в настоящем стандарте с использованием табличного формата, представленного в [таблице Б.3](#p101252).

<a id="p101251"></a>Таблица Б.3

<div align="right">

<a id="p101252"></a>Табличный формат для представления класса

</div>



<table>
<colgroup><col width="39%"><col width="61%"></colgroup>
<tr><td colspan="2"><a id="p101253"></a>Описание: Это пример.</td></tr>
<tr><td colspan="2"><a id="p101254"></a>Атрибуты:</td></tr>
<tr><td><a id="p101255"></a>&lt;Имя атрибута&gt;</td><td><a id="p101256"></a>Описание</td></tr>
<tr><td></td><td></td></tr>
</table>


<a id="p101257"></a>Пример представления перечисления MyEnumeration приведен в [таблице Б.4](#p101259).

<a id="p101258"></a>Таблица Б.4

<a id="p101259"></a>*Пример* представления перечисления MyEnumeration


<table>
<colgroup><col width="39%"><col width="61%"></colgroup>
<tr><td colspan="2"><a id="p101260"></a>Описание: &lt;Описание перечисления&gt;</td></tr>
<tr><td colspan="2"><a id="p101261"></a>Атрибуты:</td></tr>
<tr><td><a id="p101262"></a>ATTRIBUTE1</td><td><a id="p101263"></a>Данный атрибут использован для примера</td></tr>
<tr><td></td><td></td></tr>
</table>






<a id="p101264"></a>Приложение В
(справочное)

<div align="center">

<a id="p101265"></a>**РЕКОМЕНДАЦИИ**<br>
**ПО ПРИМЕНЕНИЮ ОБЩЕЙ ИНФОРМАЦИОННОЙ МОДЕЛИ**

</div>


<a id="p101266"></a>ОИМ роботов, установленная в настоящем стандарте, является единым понятийным и структурным основанием для конкретных ИМ, разрабатываемых для различных типов и классов роботов. ОИМ является абстрактной моделью, не предназначенной для непосредственной реализации. Пользователям необходимо использовать конкретные ИМ для определенных типов роботов.
<a id="p101267"></a>ОИМ - это родительская структура для всех последующих ИМ роботов (промышленного, сервисного и т.д.). Все конкретные ИМ должны непосредственно наследовать классы, атрибуты, методы и логику ОИМ, добавляя свои специализированные атрибуты, методы и связи - без изменения единого основного ядра и парадигмы построения модели.
<a id="p101268"></a>ОИМ применяют для:
- <a id="p101269"></a>формирования требований и разработки ИМ конкретных типов роботов;
- <a id="p101270"></a>стандартизации обмена данными между роботами различных изготовителей;
- <a id="p101271"></a>стандартизации обмена данными между роботами и смежными ИС и АСУ;
- <a id="p101272"></a>обеспечения восходящей совместимости при эволюции стандартов.
<a id="p101273"></a>ОИМ неприменима для прямой реализации и подлежит конкретизации на уровне дочерних моделей, ОИМ не описывает специфику обмена сообщениями, форматов данных, API и сетевых протоколов, а также не содержит требований к реализации бизнес-логики и безопасности.
<a id="p101274"></a>Поскольку ОИМ - формальная основа для дочерних расширенных моделей, информацию в ней применяют на этапах, указанных в [таблице В.1](#p101276).

<div align="right">

<a id="p101275"></a>Таблица В.1

</div>


<div align="center">

<a id="p101276"></a>Этапы применения ОИМ

</div>



| <a id="p101277"></a>Этап/класс ОИМ | <a id="p101278"></a>Проектирование | <a id="p101279"></a>Разработка | <a id="p101280"></a>Эксплуатация | <a id="p101281"></a>Техобслуживание |
| --- | --- | --- | --- | --- |
| <a id="p101282"></a>Feature | <a id="p101283"></a>M | <a id="p101284"></a>M | <a id="p101285"></a>- | <a id="p101286"></a>- |
| <a id="p101287"></a>Diagnostic | <a id="p101288"></a>M | <a id="p101289"></a>M | <a id="p101290"></a>- | <a id="p101291"></a>- |
| <a id="p101292"></a>SafetyState | <a id="p101293"></a>M | <a id="p101294"></a>M | <a id="p101295"></a>- | <a id="p101296"></a>- |
| <a id="p101297"></a>MessageEvent | <a id="p101298"></a>M | <a id="p101299"></a>M | <a id="p101300"></a>- | <a id="p101301"></a>- |


<a id="p101302"></a>На этапе "Проектирование" осуществляется применение ОИМ как перечня обязательных и опциональных классов для построения модели любого типа робота, разработка архитектуры будущих ИМ.
<a id="p101303"></a>На этапе "Разработка" осуществляется пошаговая конкретизация (наследование, расширение, детализация) классов и атрибутов в соответствии с требованиями целевого применения, формирование дочерних информационных моделей.
<a id="p101304"></a>На этапах "Эксплуатация" и "Техобслуживание" конечный пользователь взаимодействует с дочерней ИМ (при условии непосредственной эксплуатации и техобслуживания), описывающей конкретный тип роботов.






<table>
<colgroup><col width="61%"><col width="39%"></colgroup>
<tr><td><a id="p101305"></a>УДК 621.865.8:007.52:006.354</td><td><a id="p101306"></a>ОКС 25.040.30</td></tr>
<tr><td colspan="2"><a id="p101307"></a>Ключевые слова: роботы, робототехнические устройства, общая информационная модель</td></tr>
</table>




<a id="p101308"></a>

---
