порвем тило на тряпки :)))
Нужно собрать код, который банально будет "ехать вперед" при $meas_pulse<1 или "ехать назад" при =>.
Интересует не сам алгоритм, естественно, а просто текстовик, который можно будет кликнуть и активировать как кука-программу. С заголовками и прочими плясками. То есть .src, который можно будет править. Робот полностью хакнут, восстановлено все, быстрые_измерения работают. Кабель в токсичную зону прокинут и работает, можно закинуть и второй. Задача добить робота - пусть я смогу программировать на обычном ноутпаде прямо на лету. Ну или на самом роботе, то есть открыать нормальный текстоый файл и куролесить, сохранять и тут же подгружать уже из KSS. Нужен классический KRL-код для while или хорошая описанка условных операндов. --- В ответ делюсь, как хакнул спасательную флешку и как добрался до быстрых входов, хотя и так уже все рассказал ;) |
как хакнул флешку - не рассказал, хотя с самого начала обещал даже инструкцию написать. где? вот и помогай после этого...(((
|
Цитата:
Что-то вроде этого просишь? P.S. Заодно свой вопрос спрошу - можно ли какие-то либо пользовательские действия программы привязать к кнопкам на смартпаде и как? мне надо что-то вроде примитивного интерфейса оператора - жамкнул одну кнопочку - робот выполнил ряд одних действий, жамкнул другую - другой алгоритм выполнился... |
ща все расскажу.
про флешку выложу. не жалко - 8гб. но придется 15 минут убить на скачивание %) а про крл как раз разбираюсь. профессорша калькуттского универа пообещала. там все весело. изучаю :) |
Во, примерчик запилил.
Как работает. Робот выходит на начальную позицию и начинает ездить влево, вправо на 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 |
ага. я просто без инета тут куковал :) сам допетрил :))) но спасибо - парочка моментов понравились.
|
Часовой пояс GMT +2, время: 23:09. |
vBulletin v3.6.2, Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co