http://linuxcnc.org/docs/html/gcode/o-c ... ec:loopingLexxa писал(а):Подскажите, как запустить цикл типа "for" внутри g кода?
Т.е. хочу выполнять кусок g кода n раз.
FAQ по Gcode, примеры
- verser
 - Мастер
 - Сообщения: 1903
 - Зарегистрирован: 21 июл 2013, 22:28
 - Репутация: 1282
 - Настоящее имя: Сергей
 - Откуда: Тбилиси
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Если только для повоторения n раз то проще всего repeat:verser писал(а):Т.е. хочу выполнять кусок g кода n раз.
(там по ссылке от verser все есть)
Код: Выделить всё
(Mill 5 diagonal shapes)
G91 (Incremental mode)
o103 repeat [5]
... (insert milling code here)
G0 X1 Y1 (diagonal move to next position)
o103 endrepeat
G90 (Absolute mode)
- 
				alexandr1988
 - Кандидат
 - Сообщения: 77
 - Зарегистрирован: 07 окт 2014, 11:54
 - Репутация: 5
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Добрый день! нужен совет по коду G33. Wiki по g-кодам и Integrators manual читал.
Есть энкодер на шпинделе, подключены фаза A и ноль метка как индекс шпинделя.
Необходимо, чтобы движение по осям было таким, например, за четверть оборота шпинделя перемещение по координатам на 3 мм, остальные 3/4 оборота перемещения нет.
Пробую код
Такой вариант не работает, остановки перемещения не происходит. В чем здесь ошибка? Или может я неправильно понимаю саму суть кода G33?
Чуть позже выложу hal, в котором подключен энкодер, если необходимо.
			
			
									
									
						Есть энкодер на шпинделе, подключены фаза A и ноль метка как индекс шпинделя.
Необходимо, чтобы движение по осям было таким, например, за четверть оборота шпинделя перемещение по координатам на 3 мм, остальные 3/4 оборота перемещения нет.
Пробую код
Код: Выделить всё
G33 X0 Z3 K12
G33 X0 Z6 K12
G33 X0 Z9 K12
..
Чуть позже выложу hal, в котором подключен энкодер, если необходимо.
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
В том то и смысл синхронизованного перемещения, что перемещение должно быть.alexandr1988 писал(а):Необходимо, чтобы движение по осям было таким, например, за четверть оборота шпинделя перемещение по координатам на 3 мм, остальные 3/4 оборота перемещения нет.
Можно его сделать маленьким.
Например,
Код: Выделить всё
G33 X0 Z3 K12
G33 X0 Z3.01 K0.0075
Код: Выделить всё
G33 X0 Z3 K12
G33 X0 Y9 K12
- 
				alexandr1988
 - Кандидат
 - Сообщения: 77
 - Зарегистрирован: 07 окт 2014, 11:54
 - Репутация: 5
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Довожу до ума машину, что обсуждали в теме http://www.cnc-club.ru/forum/viewtopic. ... 5&start=40.
Просто ищу другие способы сделать остановку перемещения, кроме как c помощью команды M66 и высоких значений ускорений.
В этом варианте:
Первая строка дает перемещение, которое мне необходимо, а вторая перемещает на 0.01 мм за оставишиеся 3/4 оборота?
Если это так, то буду пробовать, спасибо!
Попробовал, работает! Оказывается все гениальное и вправду просто.
			
			
									
									
						Просто ищу другие способы сделать остановку перемещения, кроме как c помощью команды M66 и высоких значений ускорений.
В этом варианте:
Код: Выделить всё
G33 X0 Z3 K12
G33 X0 Z3.01 K0.0075 Если это так, то буду пробовать, спасибо!
Попробовал, работает! Оказывается все гениальное и вправду просто.
- 
				alexandr1988
 - Кандидат
 - Сообщения: 77
 - Зарегистрирован: 07 окт 2014, 11:54
 - Репутация: 5
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
пробую использовать в gcode переменные из hal, как на 9 странице темы, но не получется, ошибка, что переменная не объявлена.
linuxcnc 2.6.1, все остальное на скриншоте.
			
							
			
									
									
						linuxcnc 2.6.1, все остальное на скриншоте.
- verser
 - Мастер
 - Сообщения: 1903
 - Зарегистрирован: 21 июл 2013, 22:28
 - Репутация: 1282
 - Настоящее имя: Сергей
 - Откуда: Тбилиси
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Убедитесь, что такая возможность у Вас включенаalexandr1988 писал(а):пробую использовать в gcode переменные из hal, как на 9 странице темы, но не получется...
Код: Выделить всё
  [RS274NGC]
  FEATURES = 12- verser
 - Мастер
 - Сообщения: 1903
 - Зарегистрирован: 21 июл 2013, 22:28
 - Репутация: 1282
 - Настоящее имя: Сергей
 - Откуда: Тбилиси
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Разобрался для себя как работают циклы сверления G83 - сверление с периодическим выводом сверла из отверстия для сброса стружки и для смазки сож, поделюсь здесь примером на три отверстия с пояснениями
			
			
									
									
						Код: Выделить всё
S12000  M03 
G00 X0 Y0
Z16 (начальная позиция)
G98 G83 X10 Y10 Z0 R+12 Q4. F50 (быстро опустились до Z12, медленно сверлим  на глубину до Z0 при этом быстро вынимаем сверло на Z12 через каждые 4мм (Q4.))
X20 Y10 R+10 (быстро переехали на высоте Z16 в новую точку, быстро опустились до Z10, медленно сверлим  на глубину до Z0 при этом быстро вынимаем сверло на Z10 через каждые 4мм)
X30 Y10 R+8 L2(быстро переехали на высоте Z16 в новую точку, быстро опустились до Z8, медленно сверлим  на глубину до Z0 при этом быстро вынимаем сверло на Z8 через каждые 4мм, добравшись до Z0 поднялись на Z16, повторили эту строчку еще раз целиком(L2))
G80 (отключили циклы сверления)
M05 
- verser
 - Мастер
 - Сообщения: 1903
 - Зарегистрирован: 21 июл 2013, 22:28
 - Репутация: 1282
 - Настоящее имя: Сергей
 - Откуда: Тбилиси
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Столкнулся с такой засадой,
если во время такой вот обработки по спирали  нажать "стоп программа", то вместо стопа станок еще проезжает немного в деталь, причем не по траектории обработки, а в произвольном направлении. Это только у меня такое или , может, кто-то еще с таким сталкивался? Непорядок. Замечено именно при спиральной (одновременной по трем координатам) обработке G02, G03.
			
			
									
									
						Код: Выделить всё
G02 X-3.132 Y0. Z4. I3.132 J0. F1080 
    X-3.132 Y0. Z3. I3.132 J0. 
    X-3.132 Y0. Z2. I3.132 J0. 
    X-3.132 Y0. Z1. I3.132 J0. 
    X-3.132 Y0. Z0. I3.132 J0. 
    X-3.132 Y0. I3.132 J0. 
- Serg
 - Мастер
 - Сообщения: 21923
 - Зарегистрирован: 17 апр 2012, 14:58
 - Репутация: 5183
 - Заслуга: c781c134843e0c1a3de9
 - Настоящее имя: Сергей
 - Откуда: Москва
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
А на симуляторе тоже? А траекторию при этом рисует?
P.S. Недавно растачивал отверстие ровно таким-же кодом и несколько раз проверял "в воздухе" и останавливал прогу, чтоб до конца не ждать - на замечал, чтоб куда-то уезжало...
			
			
									
									P.S. Недавно растачивал отверстие ровно таким-же кодом и несколько раз проверял "в воздухе" и останавливал прогу, чтоб до конца не ждать - на замечал, чтоб куда-то уезжало...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
						- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Этот код можно записать 1 строчкой: 
хотя нет - двумя: 
			
			
									
									
						Код: Выделить всё
G02 X-3.132 Y0. Z4. I3.132 J0. P7 F1080 Код: Выделить всё
G02 X-3.132 Y0. Z0. I3.132 J0. P6 F1080
G02 X-3.132 Y0. I3.132 J0. 
 - Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
И немного это сколько?
Стоп это естоп или просто стоп?
			
			
									
									
						Стоп это естоп или просто стоп?
- verser
 - Мастер
 - Сообщения: 1903
 - Зарегистрирован: 21 июл 2013, 22:28
 - Репутация: 1282
 - Настоящее имя: Сергей
 - Откуда: Тбилиси
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
5-15ммNick писал(а):И немного это сколько?
Стоп это естоп или просто стоп?
просто стоп
- verser
 - Мастер
 - Сообщения: 1903
 - Зарегистрирован: 21 июл 2013, 22:28
 - Репутация: 1282
 - Настоящее имя: Сергей
 - Откуда: Тбилиси
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
не обратил внимания, гляну..UAVpilot писал(а):А на симуляторе тоже? А траекторию при этом рисует?
- verser
 - Мастер
 - Сообщения: 1903
 - Зарегистрирован: 21 июл 2013, 22:28
 - Репутация: 1282
 - Настоящее имя: Сергей
 - Откуда: Тбилиси
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Рисует несанкционированную траекторию:UAVpilot писал(а):А на симуляторе тоже? А траекторию при этом рисует?
- Nick
 - Мастер
 - Сообщения: 22776
 - Зарегистрирован: 23 ноя 2009, 16:45
 - Репутация: 1735
 - Заслуга: Developer
 - Откуда: Gatchina, Saint-Petersburg distr., Russia
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Скинь ngc посмотреть... 
Там у тебя каких-нибудь хитрых оффсетов нету?
			
			
									
									
						Там у тебя каких-нибудь хитрых оффсетов нету?
- verser
 - Мастер
 - Сообщения: 1903
 - Зарегистрирован: 21 июл 2013, 22:28
 - Репутация: 1282
 - Настоящее имя: Сергей
 - Откуда: Тбилиси
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
Там, вроде, все просто, но многоNick писал(а):Скинь ngc посмотреть...
Там у тебя каких-нибудь хитрых оффсетов нету?
- verser
 - Мастер
 - Сообщения: 1903
 - Зарегистрирован: 21 июл 2013, 22:28
 - Репутация: 1282
 - Настоящее имя: Сергей
 - Откуда: Тбилиси
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
О, только что обратил внимание, что "незапланированный" переезд прошел в ту точку на которой стоИт указатель в окне gcode программы. Т. е. вывод - это не какая-то случайная позиция! а та, что подгружена вперед паровоза! Я нажал стоп, когда выполнялась где-то 45854 строчка, после чего, программа не остановилась, а перескочила на 48983 строчку и там остановилась.  Это, может, gmoccapy так косячит? В axis не пробовал, не настроен толком.
			
			
									
									
						- vovafed
 - Мастер
 - Сообщения: 1822
 - Зарегистрирован: 08 фев 2013, 16:19
 - Репутация: 325
 - Настоящее имя: Владимир
 - Откуда: башкортостан
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
гдето на форуме попадался G для обработки круглого отверстия по спирали 
не могу найти очень нужен
http://www.cnc-club.ru/forum/viewtopic. ... 58#p185558 нашел
			
			
									
									
						не могу найти очень нужен
http://www.cnc-club.ru/forum/viewtopic. ... 58#p185558 нашел
- raddd
 - Почётный участник

 - Сообщения: 1564
 - Зарегистрирован: 10 фев 2015, 08:50
 - Репутация: 540
 - Настоящее имя: Alexey Rodionov
 - Откуда: Беларусь Минский р-н
 - Контактная информация:
 
Re: FAQ по Gcode, примеры
вопрос знатокам!
как масштабировать G код?
исходное:
есть точечная гравировка с переменной глубиной (растр наверное называется)
программа умеет создавать код с максимальным шагом 1мм. а надо скажем 2мм
что надо получить:
мне надо размер изображния 600х600 с шагом 2мм
я делаю 300х300 с шагом 1мм
есть G51 но в емс2 он неработает(((
			
			
									
									как масштабировать G код?
исходное:
есть точечная гравировка с переменной глубиной (растр наверное называется)
программа умеет создавать код с максимальным шагом 1мм. а надо скажем 2мм
что надо получить:
мне надо размер изображния 600х600 с шагом 2мм
я делаю 300х300 с шагом 1мм
есть G51 но в емс2 он неработает(((
||||||||||||
||||||||||||
						||||||||||||
