feat: Добавлен алгоритм 53
This commit is contained in:
parent
f3f4d00e37
commit
46d658f3f9
113
algorithm_53/body.puml
Normal file
113
algorithm_53/body.puml
Normal file
@ -0,0 +1,113 @@
|
||||
@startuml
|
||||
|
||||
|#696969|Оператор-наладчик|
|
||||
:Выполнить программу для проверки калибровки.
|
||||
По этой подпрограмме робот подводит сварочные клещи
|
||||
к эталонной пластине и в предназначенном для выполнения
|
||||
проверки калибровки месте сжимает клещи;
|
||||
|
||||
|#fc9738|Робот|
|
||||
:Сигнал об успешном завершении работы
|
||||
подпрограммы и выходе в точку для проверки;
|
||||
|
||||
:Запросить актуальные значения дальномеров и
|
||||
координат точек на грани детали с камеры;
|
||||
|
||||
|#458ff7|ТСК|
|
||||
:Обработать запрос на отправку в контроллер
|
||||
робота значений датчиков сенсорной системы;
|
||||
|
||||
:Выполняет диагностику сенсорной системы;
|
||||
note right: Алгоритм 51
|
||||
|
||||
if (Система исправна?) then (нет)
|
||||
:Отправить код и описание ошибки;
|
||||
|#fc9738|Робот|
|
||||
:Отобразить принятые коды и описание ошибки
|
||||
работы сенсорной системы;
|
||||
end
|
||||
else (да)
|
||||
|#458ff7|ТСК|
|
||||
:Применить калибровку для перевода значений
|
||||
смещений из пикселей в миллиметры и
|
||||
расчета угла наклона (для камеры), значения
|
||||
с дальномеров получить как есть, без
|
||||
применения калибровок;
|
||||
|
||||
:Отправить в контроллер робота значения
|
||||
датчиков сенсорной системы, а также
|
||||
значения порогов для последующего сравнения;
|
||||
|
||||
|#fc9738|Робот|
|
||||
:Вывести в ЧМИ полученные значения;
|
||||
|
||||
if (Значения с дальномеров и камеры в диапазоне?) then (да)
|
||||
end
|
||||
else (нет)
|
||||
:Сделать кнопку "Откалибровать" доступной
|
||||
для нажатия оператором;
|
||||
|
||||
if (Кнопка нажата?) then (нет)
|
||||
end
|
||||
else (да)
|
||||
|#458ff7|ТСК|
|
||||
:Разжать клещи;
|
||||
|
||||
|#fc9738|Робот|
|
||||
:Вывести робот в домашнее положение;
|
||||
|
||||
:Выдать сообщение "Установить оснастку
|
||||
для калибровки камеры и дальномеров";
|
||||
|
||||
|#696969|Оператор-наладчик|
|
||||
:Установить оснастку и подтвердить продолжение
|
||||
калибровки;
|
||||
|
||||
|#fc9738|Робот|
|
||||
if (Подтверждение получено?) then (нет)
|
||||
end
|
||||
else (да)
|
||||
:Отправить сигнал "откалибровать дальномеры", если
|
||||
было превышение порога по дальномерам,
|
||||
"откалибровать камеру", если было превышение
|
||||
по камере;
|
||||
|
||||
|#458ff7|ТСК|
|
||||
:Получение сигнала;
|
||||
|
||||
split
|
||||
:Обработать сигнал на калибровку дальномеров
|
||||
из состава сенсорной системы;
|
||||
|
||||
:По каждому дальномеру принять текущее
|
||||
значение как эталонное для перевода в
|
||||
систему координат электрода;
|
||||
|
||||
split again
|
||||
:Обработать сигнал на калибровку камеры
|
||||
из состава сенсорной системы;
|
||||
|
||||
:Переключить профиль в ПО камеры (профиль
|
||||
создается на заводе изготовителе);
|
||||
|
||||
:Получить данные с камеры;
|
||||
|
||||
:Выполнить расчет данных согласно
|
||||
описанию алгоритма "Вычисление координат
|
||||
ценра электрода";
|
||||
end split
|
||||
|
||||
:Сохранить калибровку (Значения с дальномеров
|
||||
и центр электрода);
|
||||
|
||||
:Отправить сигнал о завершении калибровки;
|
||||
|
||||
|#fc9738|Робот|
|
||||
:Вывести в ЧМИ сообщение об успешном
|
||||
завершении калибровки;
|
||||
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@enduml
|
3
algorithm_53/input.puml
Normal file
3
algorithm_53/input.puml
Normal file
@ -0,0 +1,3 @@
|
||||
@startuml
|
||||
|
||||
@enduml
|
13
algorithm_53/main.puml
Normal file
13
algorithm_53/main.puml
Normal file
@ -0,0 +1,13 @@
|
||||
@startuml
|
||||
|
||||
title
|
||||
Алгоритм 53
|
||||
Калибровка датчиков из состава сенсорной системы
|
||||
end title
|
||||
|
||||
!include input.puml
|
||||
!include body.puml
|
||||
|
||||
stop
|
||||
|
||||
@enduml
|
@ -1,7 +1,8 @@
|
||||
import argparse
|
||||
from os import path, mkdir
|
||||
|
||||
TEXT = "@startuml\n\nstart\n\n!include input.puml\n!include body.puml\n\nstop\n\n@enduml\n"
|
||||
TEXT_MAIN = "@startuml\n\nstart\n\n!include input.puml\n!include body.puml\n\nstop\n\n@enduml\n"
|
||||
TEXT_COMMON = "@startuml\n\n@enduml\n"
|
||||
|
||||
|
||||
def create_directory(directory_name: str) -> bool:
|
||||
@ -17,8 +18,7 @@ def create_files(directory_name: str) -> None:
|
||||
|
||||
for file in files:
|
||||
f = open(path.join(directory_name, file), 'w')
|
||||
if "main" in file:
|
||||
f.write(TEXT)
|
||||
f.write(TEXT_MAIN) if "main" in file else f.write(TEXT_COMMON)
|
||||
f.close()
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user