Форум

Форум (http://robotforum.ru/forum/index.php)
-   Роботы KUKA (http://robotforum.ru/forum/forumdisplay.php?f=65)
-   -   порвем тило на тряпки :))) (http://robotforum.ru/forum/showthread.php?t=5041)

sheppard 07.07.2020 09:18

порвем тило на тряпки :)))
 
Нужно собрать код, который банально будет "ехать вперед" при $meas_pulse<1 или "ехать назад" при =>.

Интересует не сам алгоритм, естественно, а просто текстовик, который можно будет кликнуть и активировать как кука-программу. С заголовками и прочими плясками. То есть .src, который можно будет править.

Робот полностью хакнут, восстановлено все, быстрые_измерения работают. Кабель в токсичную зону прокинут и работает, можно закинуть и второй.

Задача добить робота - пусть я смогу программировать на обычном ноутпаде прямо на лету. Ну или на самом роботе, то есть открыать нормальный текстоый файл и куролесить, сохранять и тут же подгружать уже из KSS.

Нужен классический KRL-код для while или хорошая описанка условных операндов.

---

В ответ делюсь, как хакнул спасательную флешку и как добрался до быстрых входов, хотя и так уже все рассказал ;)

Роботёр 07.07.2020 21:29

как хакнул флешку - не рассказал, хотя с самого начала обещал даже инструкцию написать. где? вот и помогай после этого...(((

guest13 08.07.2020 00:44

Цитата:

Сообщение от sheppard (Сообщение 13282)
Интересует не сам алгоритм, естественно, а просто текстовик, который можно будет кликнуть и активировать как кука-программу. С заголовками и прочими плясками. То есть .src, который можно будет править.
<...>

Нужен классический KRL-код для while или хорошая описанка условных операндов.

посмотри тему -> http://robotforum.ru/forum/showthread.php?t=4569
Что-то вроде этого просишь?

P.S. Заодно свой вопрос спрошу - можно ли какие-то либо пользовательские действия программы привязать к кнопкам на смартпаде и как? мне надо что-то вроде примитивного интерфейса оператора - жамкнул одну кнопочку - робот выполнил ряд одних действий, жамкнул другую - другой алгоритм выполнился...

sheppard 08.07.2020 10:38

ща все расскажу.

про флешку выложу. не жалко - 8гб. но придется 15 минут убить на скачивание %)

а про крл как раз разбираюсь. профессорша калькуттского универа пообещала. там все весело. изучаю :)

Pavel_T 09.07.2020 11:38

Во, примерчик запилил.
Как работает.
Робот выходит на начальную позицию и начинает ездить влево, вправо на 25 см.
по оси Y.
В начале программы объявляется прерывание, по которому робот останавливает
первоначальное движение и меняет его на противоположное. Прерывание в примере
опрашивает просто свободный $OUT[100] выход. Так сделано для того, чтобы можно было
проверить работу программы в режиме робота Т1. Если все нормально, то можно
закоментировать объявление прерывания проверки выхода $OUT[100] и разкоментировать
объявление прерывания проверки для $meas_pulse[1]. Опять проверить в режиме Т1.
Если все работает Ок, запустить в автомате. Программа стартует со скоростью 30%.

!!! ALARM !!!
Надеюсь, что перед запуском будет проверена рабочая зона, положение робота и
гриппера, напоминать не надо.
Общий вид можно посмотреть здесь:
https://yadi.sk/i/jmqyrad5RPYL0g

DEF CheckFastMeas ( )
DECL AXIS HOME
E6POS TempPos
FRAME LeftPos, RightPos

;FOLD INI;%{PE}
;FOLD BASISTECH INI
GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
INTERRUPT ON 3
BAS (#INITMOV,0 )
;ENDFOLD (BASISTECH INI)
;FOLD USER INI
;Make your modifications here

;ENDFOLD (USER INI)
;ENDFOLD (INI)

;INTERRUPT DECL 89 WHEN $meas_pulse[1] == TRUE DO ReplaceDirectionByOn()
INTERRUPT DECL 89 WHEN $OUT[100] == TRUE DO ReplaceDirectionByOn()

$OUT[100] = FALSE
LeftPos = $NULLFRAME
RightPos = $NULLFRAME

$TOOL = TOOL_DATA[1]
$BASE = BASE_DATA[1]

$OV_PRO = 30
HOME = {AXIS: A1 0,A2 -90,A3 90,A4 0,A5 90,A6 -134}
PTP HOME ;BCO run

TempPos = $POS_ACT

LeftPos = TempPos
LeftPos.Y = LeftPos.Y - 250

RightPos = TempPos
RightPos.Y = RightPos.Y + 250

LOOP
MoveRobotLeft(LeftPos)
MoveRobotRight(RightPos)
ENDLOOP
END

DEF ReplaceDirectionByOn()
INTERRUPT OFF 89

MsgNotify("Signal is ON !")

BRAKE ; halt motion
RESUME ; terminate motion, jump program pointer back to Main
END

DEF MoveRobotLeft(point : IN)
FRAME point
INTERRUPT ON 89
LIN point
WAIT FOR TRUE
END

DEF MoveRobotRight(point : IN)
FRAME point
INTERRUPT ON 89
LIN point
WAIT FOR TRUE
END

sheppard 21.07.2020 13:13

ага. я просто без инета тут куковал :) сам допетрил :))) но спасибо - парочка моментов понравились.


Часовой пояс GMT +2, время: 23:09.

vBulletin v3.6.2, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co