G-коды: циклы: различия между версиями
Вopoн226 (обсуждение | вклад)  | 
				Вopoн226 (обсуждение | вклад)   | 
				||
| Строка 79: | Строка 79: | ||
    #<y>=[#<y>+#<y-step>]  |     #<y>=[#<y>+#<y-step>]  | ||
  о100 ENDREPEAT  |   о100 ENDREPEAT  | ||
| + | |||
| + |  M5   | ||
| + |  G0 X0 Y0  | ||
| + |  M2   | ||
| + | Всего 23 строки и сверление 10 000 отверстий!!!  | ||
Версия 20:40, 29 мая 2014
Содержание
Постановка задачи
Вместо предисловия.
Часто возникает необходимость на станке ЧПУ выполнять большое количество простых и РЕГУЛЯРНЫХ операций. Например, нужно просверлить 10 000 отверстий в заготовке. Расписывать ВСЕ КООРДИНАТЫ отверстий вручную или начертить их в графическом редакторе, а затем преобразовать в G-код раймет весьма много времени. Что же делать в таких случаях?
Использовать возможность с помощью G-кодов организовать в программе ЦИКЛЫ.
1. Исходные данные
Для начала определимся с исходными данными нашей задачи. Допустим, что нам нужно просверлить в заготовке 10 000 отверстий: 100 отверстий по X в 100 рядах по Y. Шаг отверстий по X - 10мм. Шаг отверстий по Y - 25мм. Глубина сверления - 7мм. Координаты начального отверстия: X15.5 Y0.5
Пропишем эти начальные условия в G-кодах:
#<x-num>=100 (количество отверстий в ряду) #<y-num>=100 (количество рядов) #<x-0>=15.5 (начальная координата по X) #<y-0>=0.5 (начальная координата по Y) #<x-step>=10 (шаг по X) #<y-step>=25 (шаг по Y)
Далее присваиваем переменной x и y их начальные значения:
#<x>=#<x-0> #<y>=#<y-0>
2. Организация цикла
Цикл прописывается, используя О-коды: о<номер цикла> REPEAT и o<номер цикла> ENDREPEAT
Циклы можно вкладывать.
Вернемся к нашей задаче: необходимо просверлить 10 000 отверстий (100 х 100). Допустим, что нам нужно, чтобы отверстия сверлились рядами вдоль X. Значит, мы должны сначала встать на первую координату по Y и "пробежать" отверстия по координате X. Затем встать на следующую координату по Y и опять пробежать все отверстия по X.
В G-кодах это будет выглядеть так:
o100 REPEAT [#<y-num>]
   o101 REPEAT [#<x-num>]
       G0 X#<x> Y#<y>        (переместились в координату с текущими значениями X и Y)
       G1 Z-7.0 F400         (опустились по Z до координаты -7,0 со скоростью 400 - сверление)
       G0 Z5.0               (быстро поднялись по Z на безопасную высоту для перемещения)
       #<x>=[#<x>+#<x-step>] (изменили текущее значение X на шаг
   o101 ENDREPEAT            (вернулись на начало цикла о101 пока количество итераций не станет равным #<x-num>
  #<y>=[#<y>+#<y-step>]      (после выполнения 100 шагов по X переходим в эту строку и делаем приращение по Y на шаг)
о100 ENDREPEAT               (после выполнения 100 шагов по Y выходим из цикла)
Окончательный вид программы
Что не хватает нашей программе? Только начальных и заключительных команд:
G21 (Все размеры в мм) G0 Z5.0 (Выйти на безопасную высоту перемещения над заготовкой) S2000 M3 (Включить шпиндель по часовой стрелки с частотой S)
далее наши циклы сверления и в заключении:
M5 (Выключить вращение шпинделя) G0 X0 Y0 (Вернуться в начальную точку) M2 (Окончание программы)
В целом программа будет выглядеть так:
G21 
G0 Z5.0
S2000 M3
#<x-num>=100
#<y-num>=100
#<x-0>=15.5
#<y-0>=0.5
#<x-step>=10
#<y-step>=25
#<x>=#<x-0>
#<y>=#<y-0>
o100 REPEAT [#<y-num>]
   o101 REPEAT [#<x-num>]
       G0 X#<x> Y#<y> 
       G1 Z-7.0 F400
       G0 Z5.0
       #<x>=[#<x>+#<x-step>]
   o101 ENDREPEAT
  #<y>=[#<y>+#<y-step>]
о100 ENDREPEAT
M5 
G0 X0 Y0
M2 
Всего 23 строки и сверление 10 000 отверстий!!!