G-коды: циклы: различия между версиями
Вopoн226 (обсуждение | вклад) |
Вopoн226 (обсуждение | вклад) |
||
Строка 23: | Строка 23: | ||
#<y>=#<y-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 выходим из цикла) | ||
== НАЧАЛО. ОПИСАНИЕ EMC2 или EMC2 Integrators Manual == | == НАЧАЛО. ОПИСАНИЕ EMC2 или EMC2 Integrators Manual == |
Версия 23:27, 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 выходим из цикла)
НАЧАЛО. ОПИСАНИЕ EMC2 или EMC2 Integrators Manual
Вместо предисловия.
И почему электронщики не понимают программистов? А ведь учились в соседних группах...
Обычно "чайники" начинают изучать LinuxCNC по мануалу: http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=150
Начнём разборку тоже с этого описания.