134 lines
4.3 KiB
Plaintext
134 lines
4.3 KiB
Plaintext
@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 |