diff --git a/algorithm_51/body.puml b/algorithm_51/body.puml new file mode 100644 index 0000000..3f753ad --- /dev/null +++ b/algorithm_51/body.puml @@ -0,0 +1,134 @@ +@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 \ No newline at end of file diff --git a/algorithm_51/input.puml b/algorithm_51/input.puml new file mode 100644 index 0000000..5972f80 --- /dev/null +++ b/algorithm_51/input.puml @@ -0,0 +1,3 @@ +@startuml + +@enduml \ No newline at end of file diff --git a/algorithm_51/main.puml b/algorithm_51/main.puml new file mode 100644 index 0000000..ba961ad --- /dev/null +++ b/algorithm_51/main.puml @@ -0,0 +1,12 @@ +@startuml + +title + Алгоритм 51 + Проводит диагностику сенсорной системы + (дальномеры, камера). +end title + +!include input.puml +!include body.puml + +@enduml