PDA

Просмотр полной версии : помогите новичку в прописании шага на определеенном расстоянии и кол.


Fr@nc
30.09.2015, 20:48
Всем привет.
У же год сам пробую и изучаю робота kuka. Очень меня затянул )))
Не совсем владею программированием и прочими знаниями, но из-за желания с ним работать все подхватываю :)

стоит KRC4
Вопросик: Есть деталь, на ней требуется обварить элементы. в крац.( элементы находятся в одной плоскости, на одном расстоянии и в одном уровне) требуется прописать команду для определенного кол-ва элементов, так как на деталях их разное количество. Просто чтоб в команде указать сколько элементов тебе требуется обварить 1....78 или 1...45. Если так возможно. Так же прописать какое расстояние между переходом от 1 до 2 элемента (расстояние так же разное 1 мм или 3.5 мм)
Я предполагаю, что можно это реализовать прописью программы но так как я самоучка мне трудно это сделать.

Детально если представить, то "листик в клеточку"
Где требуется через 1 клетку зарисовать квадратик (или поменять лист с крупным квадратиком) Сори за столь такой "пафос", очень хочется, чтоб профи в своем роботе более детально представили суть работы робота.

РОБОТ-Н
03.10.2015, 18:07
Всё просто.
1.Делаете СК так чтобы плоскость XY проходила ч/з ваши элементы а ось X была параллельна им.
2. Делаем программу обвара. пусть это будет obvar.src

Ну и собственно пишем

def robotn() ;
decl int i;счётчик
decl int imax=20;
decl real stepX=1;шаг по x лучше записать в DAT файл
decl real ofstX=2;смещение по X для корректировки лучше записать в DAT файл
decl real ofstY=-1;смещение по Y для корректировки лучше записать в DAT файл
decl frame p; вспомогательная переменная
decl frame pfree; вспомогательная переменная для переходов (смещение)

pfree=$NULLFRAME;
pfree.z=100 ;записали что переход будет просто подъёмом

ini //стандарт
ptp home////стандарт
ptp start point //вспомогательная точка

$BASE=BASE_DATA[2] ; наша база

FOR i=0 to imax STEP=1
p=$NULLFRAME ;обнуляем переменную
p.x=i*stepX+ofstX ;записываем значение по X
p.y=ofstY ;записываем значение по Y
BAS(#CP_VEL,1) ; Устанавливаем скорость
LIN p: pfree c_dis ; подходим по высоте z=100
LIN p ; опускаемся
obvar() ; варим
BAS(#CP_VEL,1) ; Устанавливаем скорость
LIN p: pfree c_dis ;отходим
ENDFOR

LIN pfree c_dis ; идём к 1-й точке подхода

ptp start point //вспомогательная точка
ptp home////стандарт

END

вроде так...

Fr@nc
04.10.2015, 13:19
огромнейшее спасибо, буду пробовать.

Fr@nc
03.11.2015, 16:24
еще раз спасибо, но как новичок не совсем понял.
все создал, прописал... но как только зашел в Dat файл, меня оборвало.
все дни читал и см примеры, немного разобрался в файлике, но не до конца. чувствую что без спец. человека не обойтись, который смог объяснить.
робот-н, я подготовил копию того, что я прописал, может в лс его можно скинуть, чтоб направить на ошибку меня.