Зеленый роботНа главнуюВсе книги ↗
АСУП.466459.100-01 33 01 · 2.0

Данные и программные интерфейсы

Документ
D08 · АСУП.466459.100-01 33 01
Редакция
2.0 · Проектная редакция
Применимость
Функциональный профиль GR-FP-1.0
Продукт
Модульное интегрированное ПО «Зеленый робот»

Обозначения и сокращения раскрыты в словаре этой книги.

1. Назначение справочника интерфейсов

Книга определяет данные и взаимодействия X01–X14 функционального профиля GR-FP-1.0. Участник обмена проверяет схему, идентичность, полномочия, исходную редакцию и срок до применения изменения. Машиночитаемая схема поставки и её digest указываются в D13.

Имена существующих API воспроизводятся в разделах соответствующих компонентов. X13/X14 задают проектные программные контракты обслуживания и испытаний GR-FP-1.0. Привязка операции к каналу и адресу входит в профиль интерфейса поставки; смысл данных сохраняется для графического и командного клиента.

Данные и квитанции одной операции

Рисунок D08.1 — Идентификаторы связывают запрос, решение, доставку, исполнение и наблюдение.

2. Общие правила данных

СвойствоПредставлениеПроверка получателя
СхемаИмя и версияПоддерживаемая редакция
ИдентификаторНепустая строка из пространства владельцаУникальность в установленной области
ВремяRFC 3339, UTC в обменеСинтаксис, порядок и допустимый возраст
ДлительностьЦелое с единицей в имени поляДиапазон и конечный срок
ИзмерениеЗначение, единица, время, качествоТип, масштаб и применимость
РедакцияИдентификатор и digestСовпадение исходной базы
SHA-25664 шестнадцатеричных символаСверка с определёнными bytes
Ссылка на секретИдентификатор защищённого материалаДоступ в целевой области
ОшибкаКод, причина, путь поля/шаг и correlation IDПредусмотренное восстановление

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

3. X01 — Идентичность объекта и узла

X01 · Идентичность и роль

D08-X01. X01 · Идентичность и роль — последовательность и наблюдаемый результат.

Области идентичности: площадка, технологический объект, программный узел, endpoint, роль и экземпляр компонента. Регистрация endpoint связывает техническую идентичность с разрешённой ролью. Прикладная готовность подтверждается отдельной проверкой обмена и readback.

ДанныеВладелецЖизненный цикл
Площадка и объектПрикладной владелец L2Создание, изменение реквизитов, архивирование
Endpoint и довериеПроцесс присоединенияПодготовка, подтверждение, выдача, отзыв
Роль устройстваКонфигурация объектаНазначение, замена, восстановление
Программный экземплярИсполнитель компонентаЗапуск, наблюдение, завершение

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

4. X02 — Сигналы и CANopen

X02 · Сигнал и CANopen

D08-X02. X02 · Сигнал и CANopen — последовательность и наблюдаемый результат.

Карта сигнала связывает физическую величину с программным объектом: ID, index/subindex, тип, единица, масштаб, доступ, период и качество. Словарь объектов поставляется с версией и связью с образом M02. Изменение словаря сопровождается проверкой потребителей и миграцией конфигурации.

МеханизмПредметПодтверждение
SDO read/writeСервисное значение словаряОтвет с типом/длиной либо abort code
PDOЦиклические значенияПолучение по согласованному mapping и периоду
HeartbeatПрисутствие и состояние NMTАктуальная временная отметка
NMTСостояние узлаНаблюдаемое состояние после команды
EMCYАварийный фактКод и данные события

Перед записью проверьте состояние узла, тип, диапазон и полномочия. После успешной записи прочитайте применённое значение и наблюдаемый сигнал. При ошибке сопоставьте index/subindex и abort code. Узел сохраняет определённое локальным профилем поведение при потере heartbeat или верхнего уровня.

4.1. Версии компонентов платы

AT32 и ESP32 получают отдельные записи: тип компонента, выполняемая версия, источник чтения, время, присутствие и доступность. Метаданные устанавливаемого пакета хранятся отдельно. USB предоставляет отдельные типизированные чтения каждого MCU; WEB/MQTT сохраняют ту же семантику. Аппаратная ревизия и программная версия имеют собственные поля. Пример применения — D05, проверка — D16.

5. X03 — Телеметрия и журнал

X03 · Телеметрия и история

D08-X03. X03 · Телеметрия и история — последовательность и наблюдаемый результат.

Конверт события содержит версию схемы, event ID, источник, эпоху/последовательность, время источника и приёма, объект, тип, качество и payload. Прикладной владелец определяет порядок своего потока. Потребитель сохраняет курсор последней принятой позиции.

После разрыва получатель запрашивает диапазон от курсора. Источник выдаёт ограниченные части с идентификаторами, границами и подтверждением целостности. Получатель проверяет части, сохраняет факты и подтверждает принятый диапазон. Повтор части сопоставляется с исходными ID.

СитуацияПравило
Позднее событиеСохраняется время источника и время получения
Повтор IDПрименяется установленная идемпотентность
Разрыв последовательностиЗапрашивается доступный диапазон или новый снимок
Истечение храненияВозвращаются границы доступной истории и причина
Заполнение очередиПрименяется явная политика приоритета/сохранения профиля
Устаревшее измерениеКачество меняется по допустимому возрасту

Экранная пагинация использует устойчивые ID и курсоры. Бюджет DOM, кеша и live-буфера конечен. Ручное чтение сохраняет строку и смещение; переход к текущему потоку выполняется отдельным действием.

6. X04 — Команды и квитанции

X04 · Команда и квитанции

D08-X04. X04 · Команда и квитанции — последовательность и наблюдаемый результат.

Запрос содержит command ID, объект, действие, параметры, исходную редакцию, срок и контекст полномочий. Владелец проверяет его до отправки исполнителю. Содержимое запроса с одним ID имеет определённый digest; повтор с другим содержимым возвращает конфликт.

КвитанцияПроизводительЗначение
Регистрация запросаПрикладной владелецЗапрос принят в устойчивый процесс
ДопускВладелец действия с проверкой AuthВыполнены полномочия и условия
ДоставкаТранспортВыполнен транспортный этап
ИсполнениеЦелевой компонентДействие выполнено либо получен прикладной отказ
НаблюдениеИсточник readbackЗафиксировано состояние после действия

Каждая запись содержит ID операции, этап, результат, время и код причины. Истечение срока завершается установленным результатом; поздняя квитанция сохраняет фактическое время и связывается с исходной командой. После restart владелец восстанавливает устойчивое состояние и проверяет фактический результат перед повторным воздействием.

7. X05 — Конфигурация и паспорт

X05 · Конфигурация и паспорт

D08-X05. X05 · Конфигурация и паспорт — последовательность и наблюдаемый результат.

Владелец конфигурации хранит активную редакцию, её digest и историю переходов. Предложение содержит base_revision; применение проходит validate → stage → apply → readback → commit. Конфликт базы возвращает фактическую редакцию для подготовки нового предложения.

СтруктураСодержимоеПример
ПаспортПостоянные параметры и сведения вводаГеометрия и расход машины
Оперативный сценарийЗадание пользователяСектор и норма полива
НаблюдениеФактические измеренияУгол, давление, качество
Результат расчётаВычисленные значения и происхождениеТаймер, время и глубина

Расчётный результат Pivot связывает passportHash, profileRevision, profileHash, vectorSetHash, scenarioRevision и resultHash. Участники используют согласованные целочисленные единицы и правила округления. Для расчётно-зависимого действия проверяется совпадение digest предусмотренных профилем участников.

8. X06 — MQTT и межсервисный обмен

X06 · Обмен площадки

D08-X06. X06 · Обмен площадки — последовательность и наблюдаемый результат.

Профиль транспорта определяет principal, пространство тем, направление, QoS, retained, срок сообщения и сессии. Клиент и сервис проверяют взаимное доверие, время и доступ площадки. Служебный участник использует отдельную идентичность.

Категория сообщенияНаправлениеПравило применения
НаблюдениеИсточник → прикладной владелецВремя, качество, последовательность
КомандаВладелец → исполнительID, срок, область и параметры
КвитанцияУчастник этапа → владелецЭтап, результат и correlation ID
КонфигурацияВладелец → роль объектаРедакция, digest и исходная база
ПрисоединениеEndpoint ↔ enrollment serviceОграниченная операция идентичности

Точная таблица topic задаётся транспортной схемой выпуска. Производитель проверяет допустимый размер и срок; потребитель обрабатывает повторы и ограничивает очередь. При backpressure профиль определяет замедление, накопление и результат превышения лимита. Смена сети или брокера сохраняет отдельный доступ обслуживания на время проверки нового канала.

9. X07 — Приложение и хост

X07 · Приложение и хост

D08-X07. X07 · Приложение и хост — последовательность и наблюдаемый результат.

Манифест ioot.l1-app-manifest/1.0 связывает app ID, версию, source, frontend digest, маршруты, API-префиксы, регистрацию, health, совместимость и capabilities. Композиция ioot.l1-app-composition/1.0 задаёт проверенный набор манифестов и артефактов. Регистрация 2.0 описывает страницы, настройки, события, уведомления, действия и схемы данных.

При открытии хост определяет контекст, проверяет доступ, выдаёт frontend и API-сессию. Приложение получает snapshot и подписывается на события. После смены объекта выполняется согласованная смена контекста и новое чтение. После reload подписка восстанавливается от актуального snapshot.

9.1. Прикладные API

КомпонентЧтениеИзменение/события
Runtime/api/v1/platform/apps, /api/v1/hmi, /livez, /readyzКомпозиция, operator-access и предусмотренный rollback
Visio/api/v1/apps/app-visio в пространстве API владельцаSSE /api/v1/apps/app-visio/events
Весовая/weight/api/v1/runtime/state/runtime/events?after_seq=N, /runtime/actions в том же префиксе
ScaleProxy/api/weight, /api/state, /api/status, /readyОграниченный /api/events с cursor

Для весовой действие содержит expected_seq; при конфликте клиент получает актуальный snapshot. Для Visio схема snapshot v2 различает IMAGE_SURVEY и TEXT_RESPONSE, состояния обработки и происхождение результата. Для ScaleProxy масса возвращается в тоннах с признаком свежести.

10. X08 — Пользователь и разрешение

X08 · Разрешение операции

D08-X08. X08 · Разрешение операции — последовательность и наблюдаемый результат.

Процесс входа связывает identity, фактор, challenge и сессию. Принимающий сервис проверяет действие в области объекта по действующей политике. Решение содержит ID, субъект, область, функцию, результат и время. Профиль определяет приоритет правил и срок применимости решения.

Отзыв сессии влияет на последующие обращения согласно политике. При ошибке сессии API возвращает 401; конфликт редакции — 409; временная недоступность зависимости — предусмотренный 503. Клиент сохраняет контекст исходной операции и выполняет повтор после восстановления доступа.

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

11. X09 — Уведомления

X09 · Событие и уведомление

D08-X09. X09 · Событие и уведомление — последовательность и наблюдаемый результат.

Запрос доставки связывает event ID, объект, получателя, тип, приоритет, срок, текст и допустимые вложения. Ключ повторения определяется исходным событием и назначением доставки. Канал возвращает квитанцию с попыткой, временем и результатом.

При временной ошибке применяется политика повторов в пределах TTL. При окончательном отказе сохраняется причина и маршрут. Интерактивный ответ пользователя проходит самостоятельную проверку полномочий и допуска действия. Исходный факт, доставка, ознакомление и технологическое воздействие имеют собственные подтверждения.

12. X10 — Производные данные и аналитика

X10 · Производные данные

D08-X10. X10 · Производные данные — последовательность и наблюдаемый результат.

Запрос выборки содержит область объекта, период, тип записи, фильтры и ограничение объёма. Ответ содержит элементы, курсор, время обновления и происхождение. Производная запись связывает source ID, digest и версию преобразования. При перестроении индекса фиксируются исходный диапазон и результат проверки.

Аналитическое задание содержит профиль, входную схему, разрешённые источники, исполнителя, лимиты и выходную схему. Результат связывает каждый вывод с исходными записями и их hash. Исполнитель возвращает фактически использованные артефакты модели/алгоритма и конечное состояние.

Права выборки распространяются на результат и экспорт. При нарушении входной схемы или ресурса возвращается типизированная ошибка. Повторяемое испытание использует фиксированный набор, профиль и критерии результата; стохастический профиль дополнительно фиксирует seed и правила оценки.

13. X11 — Артефакты и обновление

X11 · Программное обновление

D08-X11. X11 · Программное обновление — последовательность и наблюдаемый результат.

Поле manifestТипНазначение
Artifact ID/typeСтрокиКомпонент и программная форма
Версия/исходная ревизияВерсия и commitИдентичность выпуска
TargetПрофиль ОС/архитектуры или MCUСовместимость исполнения
Size/SHA-256Целое байт / digestЦелостность
Signature referenceСсылка и алгоритм профиляПроверка происхождения
DependenciesВерсии, схемы и артефактыГраф совместимости
Migration/recoveryПроцедуры и исходные версииДопустимый переход
License/SBOMСсылки и digestУсловия и состав зависимостей

Переход: доставка → проверка → staging → применение → restart → readback → фиксация результата. Загрузчик, ядро, PLC-программа, ESP32 firmware и конфигурация имеют отдельные идентичности. Образ применяется к совпадающей цели. При повреждении или несовместимости план завершается адресной ошибкой до активации.

14. X12 — Хранение и восстановление

X12 · Хранение и возврат

D08-X12. X12 · Хранение и возврат — последовательность и наблюдаемый результат.

ДанныеВладелецЕдиница копии/экспорта
Конфигурация/паспортВладелец объектаРедакция, schema, digest
Оперативный журнал/командыM11 и локальный владелецСогласованный диапазон и курсор
ВзвешиваниеM19Запись, происхождение и связанная история
Производный индексM15Версия преобразования и исходный диапазон
Идентичности/политикиM12Совместимый защищённый снимок
Пакеты/моделиВладелец артефактаНеизменяемые bytes и manifest
Задания/прогоныM17/M18Устойчивое состояние и доказательства

Профиль задаёт место, срок, объём, RPO/RTO и доступ. Восстановление проверяет совместимость схем, полноту копии и контрольные записи. Экспорт содержит период, единицы и происхождение. Завершение использования включает передачу нужных данных и установленное действие над каждым типом по D14.

15. X13 — Сервисные задания

X13 · Сервисное задание

D08-X13. X13 · Сервисное задание — последовательность и наблюдаемый результат.

Контракт green-robot.service-job/1.0 определяет операции plan.create, plan.validate, job.start, job.get, job.events, job.cancel, job.resume, job.rollback. Клиент передаёт типизированный запрос; профиль сервиса публикует его транспортную привязку и схему ответа.

15.1. Основные поля

ПолеТипПравило
schemaСтрокаgreen-robot.service-job/1.0
requestIdСтрокаКлюч повторения обращения
operationПеречислениеОдна из операций X13
scopeIdСтрокаПлощадка/объект в области доступа
profileId, profileRevisionСтрокиВыбранный программный профиль
baseRevisionСтрокаИсходная конфигурация цели
planId, planHashСтрока и SHA-256Проверенный план при запуске
jobIdСтрокаСуществующее задание при чтении/продолжении
deadlineAtRFC 3339Срок запроса
targetsОграниченный массивУзлы и желаемые artifacts
parametersТипизированный объект профиляПроверяемые входные значения

План возвращает planId, planHash, исходную базу, проверки, упорядоченные шаги, требуемые права и восстановление. Изменение параметра или исходной базы создаёт новую редакцию плана. job.start принимает hash успешно проверенного плана и фиксирует субъект подтверждения.

15.2. Состояния и ошибки

СостояниеЗначениеДопустимое продолжение
preparedКандидат сформированПроверка
validatedПроверки плана завершеныПодтверждение применения
runningВыполняются шагиНаблюдение, допустимая отмена
waitingОжидается цель или условиеReadback и возобновление
succeededОбязательные шаги подтвержденыЗавершение ввода
failedПолучено отклонениеДиагностика и допустимое восстановление
cancelledРабота завершена по отменеНовый план по фактической базе
rolled_backПредыдущий состав подтверждёнНовый план

Коды: VALIDATION_ERROR, ACCESS_DENIED, BASE_CONFLICT, TARGET_BUSY, ARTIFACT_MISMATCH, TARGET_UNAVAILABLE, STEP_TIMEOUT, READBACK_MISMATCH, RECOVERY_FAILED. Ответ содержит путь поля/шаг, причину, фактическую редакцию при конфликте и допустимое действие. Конкурирующее изменение одной цели разрешается владельцем задания через блокировку и проверку исходной базы.

После restart координатор читает устойчивое состояние и проверяет фактическую цель. Возобновление сохраняет job ID, plan hash и завершённые шаги. Частичное применение возвращает результаты каждого шага; восстановление подтверждается readback предыдущего состава.

16. X14 — Испытательный прогон

X14 · Испытательный прогон

D08-X14. X14 · Испытательный прогон — последовательность и наблюдаемый результат.

Контракт green-robot.test-run/1.0 определяет операции environment.create, environment.get, run.start, run.get, run.events, run.stop, environment.reset, run.export и environment.remove.

ПолеТип/содержаниеПравило
schema, requestId, operationВерсия, ID, операцияПроверка и повтор запроса
environmentIdСтрокаВыбранная виртуальная среда
profileId, profileRevisionСтрокиE-профиль и версия
runIdСтрокаПрогон при чтении/остановке/экспорте
scenarioId, scenarioRevisionСтрокиКонтрольная последовательность
participantsМассив manifestАртефакт, метод исполнения и периферия
initialStateHashSHA-256Определённое исходное состояние
clockОбъект режима времениШаг и начальный момент
seedЦелое при использованииПовтор случайного входа
methodsСписок T-методовПредмет прогона
limitsВремя, память, журналРесурсная граница

Прогон проходит подготовку, готовность, выполнение, завершение или остановку. Каждый метод возвращает PASS/FAIL/NOT_RUN, причину, ожидаемое и фактическое значение, допуск, временные отметки и ссылки на доказательства. В доказательстве указаны путь, размер, SHA-256, тип и происхождение.

Экспорт содержит manifest среды, participants, сценарий, результаты и инструкцию повторения. Сброс восстанавливает исходный hash и проверяет готовность участников. Удаление среды завершает её ресурсы после сохранения предусмотренных результатов. Ошибка подготовки отличается от функционального FAIL проверяемого метода.

17. Проверка интеграции

Для каждого X-интерфейса интегратор фиксирует производителя, потребителя, schema/digest, профиль транспорта, права, положительный пример, ошибочный пример и способ восстановления. Два участника проверяются на одной редакции контракта. Несовместимый переход оформляется новой версией, миграцией и обновлением D13.

Контрольный набор D16 включает повтор, устаревшую базу, истечение срока, отказ доступа, нарушение типа/размера, прерывание процесса и повторное соединение. Результат связывает каждый пример с точными артефактами и наблюдаемой квитанцией.

Термины и сокращения

ОбозначениеЗначение
APIПрограммный интерфейс взаимодействия компонентов.
HMIОператорский человеко-машинный интерфейс.
PLCПрограммируемая логика контроллера и её прикладной цикл.
CANopenПрофиль обмена по CAN со словарём объектов, состояниями и сервисами.
MQTTПротокол обмена сообщениями через брокер; в данном профиле используется версия 5.
SHA-256Алгоритм контрольной суммы. Значение в манифесте связывает точные байты артефакта.
digestКонтрольная сумма данных или артефакта по указанному алгоритму.
readbackОбратное чтение фактического состояния или выполняемой версии у её источника.
healthПроверка состояния процесса или компонента.
endpointКонечная точка обмена или присоединяемый участник, определённый контекстом интерфейса.
principalИдентичность участника, которой назначается область доступа.
TTLСрок действия сообщения, команды или временного разрешения.
SSEПоток серверных событий по HTTP для обновления клиентского представления.
SBOMВедомость программного состава с версиями и лицензиями зависимостей.
RPOЦелевой допустимый интервал потери данных при восстановлении.
RTOЦелевое время восстановления функции.
seedНачальное значение генератора случайной последовательности для повторения сценария.
stagingПодготовленная область пакета или конфигурации перед активацией.
rollbackВозврат к определённому предыдущему согласованному состоянию.
snapshotСогласованный снимок состояния на определённый момент.
manifestМанифест: описание состава, версий, контрольных сумм и зависимостей.
frontendКлиентская часть приложения, формирующая пользовательский интерфейс.
RuntimeСреда исполнения и общие программные службы приложения.
PASSМетод выполнен, его критерии подтверждены.
FAILПолучено отклонение от заданного критерия.
NOT_RUNПропуск метода в данном прогоне с указанием причины и применимости.
QoSУровень качества транспортной доставки, определённый протоколом.

Сведения о редакции

РедакцияПрименимость и содержание
2.0 · 13.09.2026Проектная редакция. Профиль GR-FP-1.0. Данные и программные интерфейсы: функции, параметры, процедуры и проверяемые результаты.