AlgorithmsSmartForce/algorithm_9/body.puml

82 lines
3.2 KiB
Plaintext
Raw Normal View History

2024-08-05 18:00:41 +03:00
@startuml
: __Контроллер ТСК__
Вычисляет начальную скорость и ускорения
перемещения нижнего и верхнего электрода;
:__Контроллер ТСК__
Передает скорости перемещения,
ускорения и целевые координаты
раскрытия, в которые нужно выйти.
Передает импульс запуска.;
split
:__ПЧ верхнего электрода__
Принимает скорость и ускорение перемещения
и целевые координаты раскрытия.;
:__ПЧ верхнего электрода__
Переводит ПЧ в контур управления по скорости
(в режим удержания) с нулевой скоростью;
'for understanding
detach
split again
:__ПЧ нижнего электрода__
Принимает скорость и ускорение перемещения
и целевые координаты раскрытия.;
:__ПЧ нижнего электрода__
ПЧ осуществляет втягивание электрода
до координат раскрытия с заданной скоростью и
ускорением, при этом измеряя уровень усилия;
repeat: Проверка усилия
if (Усилие меньше порога?) then (да)
:__Контроллер ТСК__
Передает импульс запуска
для ПЧ верхнего электрода;
break
else (нет)
if (Таймаут на снятие усилия сработал?) then (да)
:Аварийный останов с выводом
описания ошибки и ее кода на ПДУ;
end
else (нет)
endif
endif
repeat while (Усилие меньше порога?) not (да)
end split
:__ПЧ верхнего электрода__
ПЧ осуществляет втягивание электрода
до координат раскрытия с заданной скоростью и
ускорением, при этом измеряя уровень усилия;
if (Усилие отрицательное и меньше порога?) then (да)
if (Усилие превысило порог максимального усилия?) then (да)
:Аварийный останов с выводом
описания ошибки и ее кода на ПДУ;
end
else (нет)
:__Контроллер ТСК__
Формирует сигнал о превышении отрицательного
порога усилия при раскрытии;
:__Контроллер ТСК__
Принимает решение о необходимости
заточки колпачков;
endif
else (нет)
endif
'синхронное перемещение упразднено.
:__Контроллер ТСК__
После достижения координаты
минимального раскрытия включает
режим синхронного перемещения
электродов;
@enduml