AlgorithmsSmartForce/algorithm_51/body.puml

134 lines
4.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@startuml
|#428743|МОСТ|
:Выполняет опрос дальномеров
по внутренним протоколам
взаимодействия;
split
if (Есть связь с дальномером 1?) then (yes)
if (Данные валидны?) then (yes)
:Поместить номер дальномера
и данные с него в посылку
для отправки в ПО ПЧ,
согласно протоколу
взаимодействия;
else (no)
:Поместить номер дальномера
в посылку для отправки
в ПО ПЧ, в качестве данных
отправить 0xffffff;
endif
else (no)
:Поместить номер дальномера
в посылку для отправки в ПО ПЧ,
в качестве данных отправить 0;
endif
split again
if (Есть связь с дальномером 2?) then (yes)
if (Данные валидны?) then (yes)
:Поместить номер дальномера
и данные с него в посылку
для отправки в ПО ПЧ,
согласно протоколу
взаимодействия;
else (no)
:Поместить номер дальномера
в посылку для отправки
в ПО ПЧ, в качестве данных
отправить 0xffffff;
endif
else (no)
:Поместить номер дальномера
в посылку для отправки в ПО ПЧ,
в качестве данных отправить 0;
endif
split again
if (Есть связь с дальномером 3?) then (yes)
if (Данные валидны?) then (yes)
:Поместить номер дальномера
и данные с него в посылку
для отправки в ПО ПЧ,
согласно протоколу
взаимодействия;
else (no)
:Поместить номер дальномера
в посылку для отправки
в ПО ПЧ, в качестве данных
отправить 0xffffff;
endif
else (no)
:Поместить номер дальномера
в посылку для отправки в ПО ПЧ,
в качестве данных отправить 0;
endif
end split
:Отправить данные;
|#f56767|ПЧ|
:Принять данные с платы МОСТ;
:Сформировать датаграмму для отправки в Sitara;
:Отправить данные в Sitara;
|#458ff7|Контроллер ТСК|
:Распаковать датаграмму;
split
:Определить наличие связи
с дальномером, корректность
данных;
if (Данные дальномера корректны?) then (да)
:Сенсорная система
исправна;
stop
else (нет)
:Записать в журнал, что
произошла ошибка;
endif
split again
:Отправить Ping по IP
адресу камеры компьютерного
зрения для определения
наличия связи;
if (Есть ответ от камеры?) then (да)
:Отправить запрос в камеру
для получения координат
кромки детали по настроенным
областям поиска;
if (Координаты получены?) then (да)
:Сенсорная система
исправна;
stop
else (нет)
|#458ff7|Контроллер ТСК|
:Записать в журнал, что
произошла ошибка;
endif
else (нет)
|#458ff7|Контроллер ТСК|
:Записать в журнал, что
произошла ошибка;
endif
end split
|#fc9738|Контроллер робота|
:Сигнализировать в ЧМИ
о наличии проблем с сенсорной
системой с указанием кода
ошибки и понятного описания
проблемы;
:Сенсорная система
не исправна;
end
@enduml