From 5038e3ccddc717f4f24c150d59af8a13464f8653 Mon Sep 17 00:00:00 2001 From: Titov Leonid Date: Wed, 28 Aug 2024 17:35:57 +0300 Subject: [PATCH] =?UTF-8?q?feat(SF-429):=20=D0=94=D0=BE=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=20=D0=B2=D1=81=D0=BC=D0=BE=D0=BF=D0=BE?= =?UTF-8?q?=D0=BC=D0=BE=D0=B3=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20=D0=B0=D0=BB=D0=B3=D0=BE=D1=80=D0=B8=D1=82=D0=BC=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- algorithm_51/body.puml | 163 ++--- algorithm_56/test.puml | 59 ++ alogrithm_stop/.$algorithm_stop.drawio.bkp | 223 ++++++ alogrithm_stop/algorithm_stop.drawio | 161 +++++ alogrithm_stop/Алгоритм 55.drawio | 771 +++++++++++++++++++++ 5 files changed, 1299 insertions(+), 78 deletions(-) create mode 100644 algorithm_56/test.puml create mode 100644 alogrithm_stop/.$algorithm_stop.drawio.bkp create mode 100644 alogrithm_stop/algorithm_stop.drawio create mode 100644 alogrithm_stop/Алгоритм 55.drawio diff --git a/algorithm_51/body.puml b/algorithm_51/body.puml index 3f753ad..e83d5cd 100644 --- a/algorithm_51/body.puml +++ b/algorithm_51/body.puml @@ -1,96 +1,87 @@ @startuml -|#428743|МОСТ| -:Выполняет опрос дальномеров -по внутренним протоколам +header +ИТ-020-21 +end header + +title Алгоритм 51. Проводит диагностику сенсорной системы + +legend left + + ПЧ: UFC_Application + Контроллер ТСК: аваы + +endlegend + +start +floating note left: + +split + +group МОСТ ПЭ #LightGrey +:Выполняет опрос дальномеров по внутренним протоколам взаимодействия; -split -if (Есть связь с дальномером 1?) then (yes) - if (Данные валидны?) then (yes) +:Подготовить данные для отправки: +* для каждого дальномера в качестве данных установить 0; + +repeat + if (Данные валидны?) then (да) :Поместить номер дальномера и данные с него в посылку для отправки в ПО ПЧ, согласно протоколу взаимодействия; - else (no) + else (нет) :Поместить номер дальномера в посылку для отправки в ПО ПЧ, в качестве данных отправить 0xffffff; endif -else (no) - :Поместить номер дальномера - в посылку для отправки в ПО ПЧ, - в качестве данных отправить 0; -endif -split again -if (Есть связь с дальномером 2?) then (yes) - if (Данные валидны?) then (yes) - :Поместить номер дальномера - и данные с него в посылку - для отправки в ПО ПЧ, - согласно протоколу - взаимодействия; - else (no) - :Поместить номер дальномера - в посылку для отправки - в ПО ПЧ, в качестве данных - отправить 0xffffff; - endif -else (no) - :Поместить номер дальномера - в посылку для отправки в ПО ПЧ, - в качестве данных отправить 0; -endif +repeat while(Обработаны данные всех дальномеров?) -split again -if (Есть связь с дальномером 3?) then (yes) - if (Данные валидны?) then (yes) - :Поместить номер дальномера - и данные с него в посылку - для отправки в ПО ПЧ, - согласно протоколу - взаимодействия; - else (no) - :Поместить номер дальномера - в посылку для отправки - в ПО ПЧ, в качестве данных - отправить 0xffffff; - endif -else (no) - :Поместить номер дальномера - в посылку для отправки в ПО ПЧ, - в качестве данных отправить 0; -endif -end split +:Отправить данные по протоколу **DS14.80029-01 95 01**; -:Отправить данные; +end group -|#f56767|ПЧ| -:Принять данные с платы МОСТ; -:Сформировать датаграмму для отправки в Sitara; -:Отправить данные в Sitara; +group ПЧ ПЭ #LightGrey +:Принять данные по протоколу **DS14.80029-01 95 01**; -|#458ff7|Контроллер ТСК| -:Распаковать датаграмму; - -split -:Определить наличие связи -с дальномером, корректность -данных; - -if (Данные дальномера корректны?) then (да) - :Сенсорная система - исправна; - stop +if (Таймаут обновления счётчика) then (да) + :Сформировать **отказ** приема данных платы МОСТ; +elseif (Интегральный признак отказа) then (да) + :Сформировать общий **отказ** платы МОСТ; else (нет) - :Записать в журнал, что - произошла ошибка; endif +:Обновить данные дальномеров в датаграмме протокола **EtherCat**; + +end group + +group Контроллер ТСК: ядро реального времени #LightGrey + +:Обновить данные от ПЧ через **EtherCat**; + +:Осуществить преобразование данных дальномеров в физические величины; + +if (Данные дальномера в заданном диапазоне?) then (да) + +elseif (Дальномер показывает "0"?) then (да) + :Сформировать **отказ** дальномера; + +else + :Сформировать **признак** данные вне диапазона; + +endif + +end group + + split again + +group Контроллер ТСК: верхний уровень #LightGrey + :Отправить Ping по IP адресу камеры компьютерного зрения для определения @@ -103,32 +94,48 @@ if (Есть ответ от камеры?) then (да) областям поиска; if (Координаты получены?) then (да) - :Сенсорная система - исправна; - stop + else (нет) - |#458ff7|Контроллер ТСК| :Записать в журнал, что произошла ошибка; endif else (нет) - |#458ff7|Контроллер ТСК| :Записать в журнал, что произошла ошибка; endif + +end group + end split -|#fc9738|Контроллер робота| +group Контроллер ТСК: верхний уровень #LightGrey + +if (Есть сообщения о ошибках?) then (да) + :Сформировать признак + "Сенсорная система **не исправна**"; + +else (нет) + :Сформировать признак + "Сенсорная система **исправна**"; + +endif + +end group + +group Пульт ТСК #LightGrey + +:Отображать статус сенсорной системы; + :Сигнализировать в ЧМИ о наличии проблем с сенсорной системой с указанием кода ошибки и понятного описания проблемы; -:Сенсорная система -не исправна; +end group + end @enduml \ No newline at end of file diff --git a/algorithm_56/test.puml b/algorithm_56/test.puml new file mode 100644 index 0000000..8eab894 --- /dev/null +++ b/algorithm_56/test.puml @@ -0,0 +1,59 @@ +@startuml + +header +ИТ-020-31? +end header + +title Алгоритм 56. Проводит диагностику платы МОСТ + +legend left + + Индекс 0: Ток и напряжение + Индекс 1: Температура платы МОСТ и статус + Индекс 2: Дальность по дальномеру 1 + Индекс 3: Дальность по дальномеру 2 + Индекс 4: Дальность по дальномеру 3 + +endlegend + +start + +repeat + +:Принять данные по протоколу **DS14.80029-01 95 01**; + +if (Контрольная сумма совпадает с расчетной?) then (да) + + :Обновить данные об усилии; + :Обновить данные по индексу протокола; + :Обновить данные значение счётчика данных; + + if (Отказ линии сброса) then (да) + :Сформировать отказ + линии сброса + платы МОСТ; + elseif (Интегральный признак отказа) then (да) + :Сформировать общий отказ + платы МОСТ; + + elseif (Таймаут обновления счётчика) then (да) + :Сформировать отказ + приема данных + платы МОСТ; + elseif (Скорость ЭМП более порогового значения) then (да) + + if (Усилие равно "0") then (да) + :Сформировать отказ + обрыва датчика усилия; + endif + endif + +else (нет) + + :Отбросить данные, данные не обновились; + +endif + +repeat while(Таймаут на линии данных?) + +@enduml \ No newline at end of file diff --git a/alogrithm_stop/.$algorithm_stop.drawio.bkp b/alogrithm_stop/.$algorithm_stop.drawio.bkp new file mode 100644 index 0000000..6c2a8fb --- /dev/null +++ b/alogrithm_stop/.$algorithm_stop.drawio.bkp @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/alogrithm_stop/algorithm_stop.drawio b/alogrithm_stop/algorithm_stop.drawio new file mode 100644 index 0000000..f762637 --- /dev/null +++ b/alogrithm_stop/algorithm_stop.drawio @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/alogrithm_stop/Алгоритм 55.drawio b/alogrithm_stop/Алгоритм 55.drawio new file mode 100644 index 0000000..9b3a618 --- /dev/null +++ b/alogrithm_stop/Алгоритм 55.drawio @@ -0,0 +1,771 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +