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
|