Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2020, 09:18   #1
sheppard
Гуру
 
Регистрация: 19.04.2020
Сообщения: 215
Сказал Спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении
По умолчанию порвем тило на тряпки :)))

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

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

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

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

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

---

В ответ делюсь, как хакнул спасательную флешку и как добрался до быстрых входов, хотя и так уже все рассказал
sheppard вне форума   Ответить с цитированием
Старый 07.07.2020, 21:29   #2
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

как хакнул флешку - не рассказал, хотя с самого начала обещал даже инструкцию написать. где? вот и помогай после этого...(((
Роботёр на форуме   Ответить с цитированием
Старый 08.07.2020, 00:44   #3
guest13
Бывалый
 
Регистрация: 11.06.2020
Сообщения: 16
Сказал Спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении
По умолчанию

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

Нужен классический KRL-код для while или хорошая описанка условных операндов.
посмотри тему -> http://robotforum.ru/forum/showthread.php?t=4569
Что-то вроде этого просишь?

P.S. Заодно свой вопрос спрошу - можно ли какие-то либо пользовательские действия программы привязать к кнопкам на смартпаде и как? мне надо что-то вроде примитивного интерфейса оператора - жамкнул одну кнопочку - робот выполнил ряд одних действий, жамкнул другую - другой алгоритм выполнился...
guest13 вне форума   Ответить с цитированием
Старый 08.07.2020, 10:38   #4
sheppard
Гуру
 
Регистрация: 19.04.2020
Сообщения: 215
Сказал Спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении
По умолчанию

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

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

а про крл как раз разбираюсь. профессорша калькуттского универа пообещала. там все весело. изучаю
sheppard вне форума   Ответить с цитированием
Старый 09.07.2020, 11:38   #5
Pavel_T
Гуру
 
Регистрация: 04.08.2016
Сообщения: 81
Сказал Спасибо: 0
Сказали Спасибо 29 раз(а) в 19 сообщении
По умолчанию

Во, примерчик запилил.
Как работает.
Робот выходит на начальную позицию и начинает ездить влево, вправо на 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
Pavel_T вне форума   Ответить с цитированием
Старый 21.07.2020, 13:13   #6
sheppard
Гуру
 
Регистрация: 19.04.2020
Сообщения: 215
Сказал Спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении
По умолчанию

ага. я просто без инета тут куковал сам допетрил )) но спасибо - парочка моментов понравились.
sheppard вне форума   Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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

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