FAQ по Gcode, примеры

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

ну незнаю как у вас, а я уже более 10 лет на пром стойках работаю. на работе пишу g28x0.y0. станки едут как положенно в хоум.
а тут баг какой-то
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Serg »

G28 - Return to home position (machine zero, aka machine reference point) - Takes X Y Z addresses which define the intermediate point that the tool tip will pass through on its way home to machine zero. They are in terms of part zero (aka program zero), NOT machine zero.
Источник: http://en.wikipedia.org/wiki/G-code
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

в вики какие то противоречия или я не так перевожу


Return to home position (machine zero, aka machine reference point) а потом -----NOT machine zero.

вот что пишет Фанук и Хаас

G28 Machine Home (Rapid traverse)
http://cnced.info/Info/CNCMacineCenterGCodeList.aspx

при том что я уже год пишу программы на токарный хаас и мазак. и g28u0W0 для меня как руки помыть до еды. а про фрезерные и не говорю

я думаю просто баг в линух снс
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Serg »

hudoi писал(а):в вики какие то противоречия или я не так перевожу
Return to home position (machine zero, aka machine reference point) а потом -----NOT machine zero.
Всё правильно, только и пояснения про X Y Z тоже переводи. :)

Вот по русски:
G28 X_Y_Z_
Где X,Y,Z координаты промежуточной точки B в текущей рабочей системе
координат.
Со скоростью быстрого перемещения G0 инструмент из текущей точки A (см.
рис. 12) перемещается в заданную промежуточную точку B, а затем на высокой
скорости позиционирует в референтную точку R.
g28.png (4833 просмотра) <a class='original' href='./download/file.php?id=9664&mode=view' target=_blank>Загрузить оригинал (22.19 КБ)</a>
Источник: http://www.chipmaker.ru/files/file/240/
NOT machine zero.
Тоже правильно. Например у меня машинный ноль в левом ближнем углу, а позиция G28 в левом дальнем, чтоб шпиндель не мешался при установкке/снятии заготовки.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

из этой же книги

5.5 Референтная точка
Кроме нуля станка возникает необходимость иметь определенные фиксированные позиции, связанные с особенностями оборудования, например сменой инструмента или сменой паллетов. Эти позиции называются референтными точками и, в частности, могут совпадать с нулем станка.

у меня на всех станках совпадает с нулём станка и за свою практику его двигали 1 раз !!!!!! :thinking:




Короче Как мне в ЕМС сделать чтоб при команде G28z0x0y0 всё бежало в нули а не ныряло в стол ???? :hehehe:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Serg »

Так я ж сразу написал:
обычно Z0 - это верх, а в низ отрицательные значения
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

опять не поняли.

у меня проблемма такого плана : допустим Z(X/Y) стоит 10 мм выше нуля детали даю ему команду G28z0. Ось сначала ломится в детальв + , а потом как положенно едет в хоум.
или уже стоит в хоум и я пишу g28 z0. по догике он ни куда ехать не должет так как он уже в нулях , но он едет до детали и возвращается обратно.

вот
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

hudoi писал(а):и я пишу g28 z0
может просто писать g28
так наверно задумано
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

я хочу от Емс чтоб команды работали как на пром стойке.

на работе на хасе в конце пишу
g28z0.
g28x0.y0.
m30

всё едет нормально домой
программы я делаю в Солид кам. а он по умочанию в посте так пишет
вот и хочу чтоб всё было одинаково а не скакать в пост процессоре и не заехать в деталь

я очень часто ноль заготовки по зет даю ниже на 0.2- 1 мм от верха.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Serg »

hudoi писал(а):g28z0.
g28x0.y0.
Так этот код в linuxcnc именно так и работает- сначала по Z едет в 0, а потом в X0Y0.
Ну а если у тебя Z0 это внутри заготовки, то ССЗБ.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

я и спрашиваю : как совместить команду G28 и физический ноль станка ?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Serg »

G28 - makes a rapid traverse move from the current position to the absolute position of the values in parameters 5161-5166.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

сильно не пинать : а какой там параметр нужен ?

ставил 1.0000

нет изменений
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

Вот это смотрел?
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

nkp писал(а):Вот это смотрел?
не помогло :thinking:
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

крыша едет от линукса. уже глаза болят.


если пишу G28 просто то оси едут как надо , но все, а если хочу только одну G28z0. то едет через деталь

подскажите куда копать, я не родился с диском линукса в зубах
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение nkp »

в порядке рассуждений:
в принципе (исходя из твоих же сообщений) g28 в емс отрабатывает согласно описанию
но ты хочешь чтоб g28 отрабатывал как на других системах(более правильно,как привыкли,или еще как нибудь...)
для этого нужно наверно переписать интерпретатор емс в части как раз этого g28
тут знаний в линуксе мало - надо знать наверно си
(может все прозаичней- прийдет Ник ,скажет пропиши три слова там то - и все :) )
где то я понимаю задачу:
хочеться чтоб программы были универсальны для всех имеющихся станков
но имхо не так уж трудно держать 2 папочки
в одной код с g28 для емс
а в другой - для всех остальных
делов то на 10минут
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Serg »

Причём тут линукс? Я ж уже озвучил аж два варианта решения. Осталось только сделать над собой усилие и попробовать их применить. :hehehe:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
hudoi
Кандидат
Сообщения: 55
Зарегистрирован: 21 янв 2012, 23:22
Репутация: 2
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение hudoi »

nkp писал(а): делов то на 10минут
проблем нет переделать пост в солидкаме под ЕМС и иметь 2 папки.

проблема в том , что имея опыт работы с Нормальным железом бесят "закидоны" программеров в других станках

Пример : был у нас недавно станок Milltronics CNC: VM20 http://www.youtube.com/watch?v=M7ZehHYj ... =endscreen по железу и точности- супер, а вот по стойке пипец полный. например чтоб подвинуть дом на нормальном станке , я пишу 0.1 или -0.1

а на Milltronics нужно было .+0.1 или .-0.1 и только забудь точку он стирал координаты полностью, а если деталь была в приспособе и одна ?
в чпу должен быть стандарт

или я перегибаю палку ?

UAVpilot писал(а):Причём тут линукс? Я ж уже озвучил аж два варианта решения. Осталось только сделать над собой усилие и попробовать их применить. :hehehe:
не судите строго, я емс как 2 недели назад поставил :hottabych:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: FAQ по Gcode, примеры

Сообщение Nick »

hudoi писал(а):как совместить команду G28 и физический ноль станка ?
А может то, что надо это просто:
G0 G53 X0Y0Z0 ???
Как должна работать G28Z0? сначала едем в G28, а потом в Z0?

ЗЫ есть возможность использовать Gcode remapping
http://www.linuxcnc.org/docs/devel/html ... e_cycles_a
Насколько я понимаю, нам нужен в ini в раздел [RS274NGC] дописать:

REMAP=G<somecode> argspec=xyzabcuvwqplr prolog=cycle_prolog ngc=<ngc procedure> epilog=cycle_epilog modalgroup=1

В нашем случае будет

REMAP=G28 argspec=xyzabcuvwqplr prolog=cycle_prolog ngc=G28 epilog=cycle_epilog modalgroup=1
Плюс к этому нужен файл G28.ngc, в котором будет что-то вроде:

Код: Выделить всё

O<G28> SUB
  G28
  G0 X[#1] Y[#2] Z[#3]  (A[#4]...)
O<G28> ENDSUB
Только главное, чтобы его не зациклило :freak: (в крайнем случае, можно туда вместо G28, G53X0Y0Z0 прописать.)
Ответить

Вернуться в «LinuxCNC»