Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2022, 05:45   #11
СамоучкаРобот
Бывалый
 
Регистрация: 23.04.2022
Сообщения: 28
Сказал Спасибо: 4
Сказали Спасибо 1 раз(а) в 1 сообщении
По умолчанию

скрин не могу прилепить, тут только по ссылке. у мня скорее всего версия 4. и в меню и на роботе наклейка.
возможно я дураком кажусь, и вопросы с объяснениями глуповато звучат, но я посчитал, на роботе в пятницу будет все 12 дней ровно как работаю. до этого с ними дел не имел вообще. понять. простить.
СамоучкаРобот вне форума   Ответить с цитированием
Старый 26.04.2022, 07:05   #12
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

пульт управления роботом у тебя сенсорный или только кнопки?
Роботёр вне форума   Ответить с цитированием
Старый 26.04.2022, 08:29   #13
СамоучкаРобот
Бывалый
 
Регистрация: 23.04.2022
Сообщения: 28
Сказал Спасибо: 4
Сказали Спасибо 1 раз(а) в 1 сообщении
По умолчанию

сенсорный. слева 8 кнопок. справа 6 сдвоенных для осей
СамоучкаРобот вне форума   Ответить с цитированием
Старый 26.04.2022, 08:42   #14
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

ок. вечером постараюсь накидать что-нибудь
Роботёр вне форума   Ответить с цитированием
Старый 27.04.2022, 10:43   #15
СамоучкаРобот
Бывалый
 
Регистрация: 23.04.2022
Сообщения: 28
Сказал Спасибо: 4
Сказали Спасибо 1 раз(а) в 1 сообщении
По умолчанию

ещё вопрос. есть стандартный формуляр. при его раскрытии он выглядит так
LIN P2 Vel=2m/s CPDAT2 Tool[1]: (название) Base[0]: (название)

$BWDSTART=FALSE (хз куда это нужно)
LDAT_ACT=LCPDAT2(тоже хз, но и не нужно, это Я так понял служебное)
FDAT_ACT=FP2(вроде тоже описывается что то связанное с точкой Р2)
BAS(#CP_PARAMS,2)(по идее сюда и надо прописать команду, которая сменит базу для данного формуляра.
LIN XP2
и вот как раз базу мне и нужно изменить программно, что бы автоматом база нужная прописывалась, в зависимости от того, что будет во входящем параметре, сейчас чтоб изменить номер базы, нужно выделить формуляр, нажать изменить, кликнуть на иконку левее названия точки (Р1) выбрать номер базы, например 21.
тогда формуляр будет выглядеть вот так
LIN P2 Vel=2m/s CPDAT2 Tool[1]: (название) Base[21]: (название)

для чего и как это будет работать.
есть некая глобальная программа, в которой надо обварить отверстия на пласти детали, с определённым размерами и зашитой под неё базой. у меня для теста это 21. далее в определённом точке на этой базе будет вызываться функция(она работает, уже написал), которая выполняет замер центра отверстия, но работает в координатах базы 21, относительно точки e6pos, которую Я передаю в эту функцию, а затем результат измерений записывает в базу 22( у меня).

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


схематично так
decl int numberOfBase
numberOfBase=14

(считаем что Р1 это точка, в виде e6pos)
ptp p1 (номер инструмента и тд) base[14]: (название)

centerHole(xp1, numberOfBase)
или
centerHole(ХР1, 14 или 20 или любой номер)

и вот именно это и нужно прописать как базу для операций внутри этой функции CenterHole

баз будет много, а Я хочу чтоб моя функция была одна на все базы.

Последний раз редактировалось СамоучкаРобот, 27.04.2022 в 10:47 Причина: двоеточие и откр скобки слитно = смайлик. пришлось переделать
СамоучкаРобот вне форума   Ответить с цитированием
Старый 27.04.2022, 11:11   #16
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

все запутано. но я себе вижу это так.
Допустим все твои формуляры имеют одну базу, 21 например. Так?
Ок. Твоя задача менять координаты этой базы, правильно?
Что мешает сделать так, что когда будет вызываться твоя функция ты меняешь координаты базы 21 на другие командой
base_data[21]=base_data[25] - данную строчку прописываешь перед всеми формуляроми точек
Все твои точки поедут в 21 базе, но с координатами 25-ой базы.
Только не забудь перед этим оригинальные координаты 21 базы записать на другую какую-нибудь базу командой
base_data[1]=base_data[21]
Роботёр вне форума   Ответить с цитированием
Старый 27.04.2022, 11:24   #17
Роботёр
Гуру
 
Регистрация: 20.12.2017
Сообщения: 691
Сказал Спасибо: 18
Сказали Спасибо 139 раз(а) в 132 сообщении
По умолчанию

Касаемо входящего параметра можно прописать условие
IF numberOfBase=14 then
base_data[21]=base_data[25]
Роботёр вне форума   Ответить с цитированием
Старый 28.04.2022, 07:40   #18
СамоучкаРобот
Бывалый
 
Регистрация: 23.04.2022
Сообщения: 28
Сказал Спасибо: 4
Сказали Спасибо 1 раз(а) в 1 сообщении
По умолчанию

всплыла новая проблема.
до этого касаниями пользовался в пределах [0] (базы).
чтоб найти центр отверстия, нужно либо прямоугольный, либо равнобедренный треугольник. Я выбрал второй.
схематично так
..............cd3
................|
...............Vy
................|
................о
................|
cd1_Vx- _O_Vx+_cd2
1,2 и 3 это точки которые замеряются (например: x1=vcd1.meas_w.x и тд)
О это центр, а с буквой "V" это вектор замеров.

алгоритм такой. приезжаю примерно в центр отверстия ->корректирую формуляр -> относительно этой точки делаю смещение для старта по иксам -> затем (vcd2-vcd1)/2+vcd1 (то есть центр по иксам для игрика третьего замера в точке о малое) -> замеряю третью точку ((x3/y3)=vcd3.meas_w.(x/y) -> пересчитываю по формуле (геометрия) центр, и два значения (у меня CX,CY) использую для центра базы
base_data[21].x=CX
base_data[21].y=CY


и теперь проблема
как только Я это же делаю, но находясь в базе[21], первая математика для поиска о малого для игрика, ломается.
Я так понял, что замеры касаний указываются в мировых координатах,
например
base[0]
vcd1=500
vcd2 = 600
(600-500)/2+500 = 550
НО!
для базы[21] уже есть смещение относительно мировой, и получается если [21] относительно [0] по иксу = 700мм, то, например для
xp1 = 0 в [21] базе + половина от замеров = 700+550мм. и соответственно инструмент едет неадекватно далеко.
как то так.
меня смущает в этой строке
x1.x=vcd1.meas_w.x
именно "w'. как будто "world",
Я попробовал написать так
x1.x=vcd1.meas_21.x (для моей 21), но закидало ошибками.
почему это важно? если точка икса для третьего замера по оси Игрик от балды, а не по центру между 1 и 2 замерами, средняя точка в итоге уплывает.
а мне нужно половину от замеров приплюсовать к первому, чтоб поймать середину. в общем как только мне кажется что Я понимаю как он работает, мне робот подкидывает новую головную боль.

Последний раз редактировалось СамоучкаРобот, 28.04.2022 в 08:12 Причина: схема не учитывает пробелов. пришлось для выравнивания ставить точки
СамоучкаРобот вне форума   Ответить с цитированием
Старый 03.05.2022, 08:09   #19
СамоучкаРобот
Бывалый
 
Регистрация: 23.04.2022
Сообщения: 28
Сказал Спасибо: 4
Сказали Спасибо 1 раз(а) в 1 сообщении
По умолчанию

а чем отличается
decl frame xxx
decl e6pos yyy

ini


xxx={x 0,y 0,z 0,a 0,b 0,c 0}
yyy={x 0,y 0,z 0,a 0,b 0,c 0}
то есть чем вообще фрейм отличается от е6поз?
СамоучкаРобот вне форума   Ответить с цитированием
Старый 03.05.2022, 09:49   #20
СамоучкаРобот
Бывалый
 
Регистрация: 23.04.2022
Сообщения: 28
Сказал Спасибо: 4
Сказали Спасибо 1 раз(а) в 1 сообщении
По умолчанию

и ещё вопрос. как принудительно назначить базу из кода?
Я пробую так
home_base=21
не работает. смысл в чём.
когда в функцию передаю в качестве аргумента точку, то внутри функции инструмент едет в назначенную координату, но в базе[0]. пока формуляр не создам с базой 21, все точки работают в нулевой.
СамоучкаРобот вне форума   Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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


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

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