Fanuc SOi mate-md
.pdfB-64144RU/01 |
ПРОГРАММИРОВАНИE |
15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ |
|
|
|
15.5
ПЕРЕХОД И ПОВТОР
В программе можно изменить процесс управления с помощью оператора перехода GOTO и условного оператора IF. Используются три типа операций перехода и повтора:
Переход |
|
|
Оператор GOTO (безусловный переход) |
и повтор |
|
Оператор IF (условный переход: если..., то...) |
|
|
|
|
|
|
|
|
|
|
|
|
Оператор циклаWHILE (повтор во время...) |
|
|
|
|
|
|
|
|
15.5.1 |
Происходитпереходкномерупоследовательностиn. Еслизадан |
|
Безусловный переход |
номер последовательности, не входящий в диапазон от 1 до |
|
(оператор GOTO) |
99999, то возникает сигнал тревоги P/S ном. 128. Для ввода |
|
номера последовательности также можно использовать |
||
|
||
|
выражение. |
|
|
|
|
|
GOTO n ; n: Номер последовательности (от 1 до 99999) |
|
|
|
|
|
Пример: |
|
|
GOTO1; |
|
|
GOTO#10; |
297
15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ |
ПРОГРАММИРОВАНИE |
B-64144RU/01 |
|
|
|
15.5.2
Условный переход (оператор IF)
IF[<условное выражение>]GOTOn
IF[<условное выражение>]THEN
После IF задайте условное выражение.
Если указанное условное выражение удовлетворено, проис- ходит переход к номеру секвенции n. Если заданное условие не удовлетворяется, то выполняется следующий блок.
Если значение переменной #1 больше 10, то происходит переход к номеру последовательности N2.
Если |
|
|
IF [#1 GT 10] GOTO 2 ; |
||||
|
|
||||||
условие не |
|
|
|
|
|
|
|
|
|
|
Обработка |
|
|
||
удовлетворя |
|
|
|
|
Если условие удовлетворяется |
||
|
|
||||||
ется |
|
|
|
данных |
|
|
|
|
N2 G00 G91 X10.0 ; |
|
|
|
|||
|
|
|
|
||||
|
: |
|
|
|
Если заданное условное выражение удовлетворяется, то выполняетсяпредварительноустановленныйоператормакроп- рограммы. Выполняется только единичный оператор макропрограммы.
Если значения #1 и #2 одинаковые, то #3 присваивается 0.
IF [#1 EQ #2] THEN #3=0;
Пояснения
D Условное выражение |
Условное выражение должно включать оператор, помещенный |
|
между двумя переменными или между переменной и постоян- |
|
ной, и должно заключаться в скобки ([, ]). Вместо переменной |
|
может быть использовано выражение. |
D Операторы |
Операторы, каждый состоит из двух букв, используются для |
|
сравнения двух значений и определения, являются ли эти |
|
значения равными, или одно значение больше или меньше |
|
другого значения. Обратите внимание на невозможность ис- |
|
пользования знака неравенства. |
Таблица 15.5.2 Операторы
Оператор |
Значение |
|
|
EQ |
Равен(=) |
|
|
NE |
Не равно(≠) |
|
|
GT |
Больше(>) |
|
|
GE |
Больше или равно( ) |
|
|
LT |
Меньше(<) |
|
|
LE |
Меньше или равно( ) |
|
|
298
B-64144RU/01 ПРОГРАММИРОВАНИE 15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ
Образец программы |
В образце программы ниже вычисляется сумма цифр от 1 до 10. |
|
|
O9500; |
|
|
#1=0; . . . . . . . . . . . . . . . . . . . . |
Начальное значение переменной, в |
|
|
которой хранится сумма |
|
#2=1; . . . . . . . . . . . . . . . . . . . . |
Начальное значение переменной |
|
|
как слагаемого |
|
N1 IF[#2 GT 10] GOTO 2; . . . . |
Переход к N2 если второе |
|
|
слагаемое больше чем 10 |
|
#1=#1+#2; . . . . . . . . . . . . . . . |
Вычисление суммы |
|
#2=#2+1; . . . . . . . . . . . . . . . . . |
Следующее слагаемое |
|
GOTO 1; . . . . . . . . . . . . . . . . . . |
Переход к N1 |
|
N2 M30; . . . . . . . . . . . . . . . . . . |
Конец программы |
|
|
|
15.5.3
Повтор (оператор цикла)
Пояснения
После WHILE задайте условное выражение. Если заданное условие удовлетворяется, то выполняется программа от DO до END. Если заданное условие не удовлетворяется, то выпол- нение программы переходит к блоку после END.
WHILE [условное выражение] DO m ; (m=1,2,3)
Если |
Если условие |
|
|
Обработка |
|
условие не |
удовлетворяется |
|
|
данных |
|
удовлет- |
|
|
|
|
|
|
|
|
|
|
|
воряется |
|
|
END m ; |
||
|
|
|
|||
|
|
|
: |
|
|
|
|
|
Если заданное условие удовлетворяется, то после WHILE выполняется программа от DO до END. Если заданное условие не удовлетворяется, то выполнение программы переходит к блоку после END. Применяется такой же формат, что и для оператора IF. Номер после DO и номер после END являются идентификационными номерами для ввода диапазона выпол- нения. Можно использовать номера 1, 2 и3. Еслииспользуется номер, кроме1, 2 и 3, то возникаетсигнал тревоги P/S ном. 126.
299
15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ |
ПРОГРАММИРОВАНИE |
B-64144RU/01 |
|
|
|
||
D Вложение |
Идентификационные номера (1 - 3) в цикле DO-END могут |
||
|
использоваться неограниченное количество раз. Тем не менее, |
обратите внимание на то, что если программа включает пересекающиеся циклыповтора (перекрывающиесядиапазоны DO), то возникает сигнал тревоги P/S ном. 124.
1.Идентификационные номера (1 - 3) могут использоваться неограниченное количество раз.
WHILE [ … ] DO 1 ;
Обработка данных
END 1 ;
:
WHILE [ … ] DO 1 ;
Обработка данных
END 1 ;
2.Диапазоны DO не могут перекрещиваться.
WHILE [ … ] DO 1 ;
Обработка данных
WHILE [ … ] DO 2 ;
:
END 1 ;
Обработка данных
END 2 ;
3.Циклы DO могут быть вложены до трех уровней.
WHILE [ … ] DO 1 ;
:
WHILE [ … ] DO 2 ;
:
WHILE [ … ] DO 3 ;
Обработка данных
END 3 ;
:
END 2 ;
:
END 1 ;
4.Управление может переносится за пределы цикла.
WHILE [ … ] DO 1 ;
IF [ … ] GOTO n ;
END 1 ;
Nn
5.Нельзя выполнить переходы к позиции внутри цикла.
IF [ … ] GOTO n ;
:
WHILE [ … ] DO 1 ;
Nn … ;
END 1 ;
Ограничения
D Бесконечные циклы |
ЕслизаданDO m инезаданоператорциклаWHILE, тосоздается |
|
бесконечный цикл от DO до END. |
D Время обработки |
Если выполняется переход к номеру последовательности, |
данных |
заданныйоператоромпереходаGOTO, тоосуществляетсяпоиск |
|
номера последовательности. По этой причине обработка |
|
данныхвобратномнаправлениизанимаетбольшевремени, чем |
|
обработка данных в прямом направлении. Использование |
|
оператора цикла WHILE для выполнения повторов сокращает |
|
время на обработку данных. |
D Неопределенная |
В условном выражении, в котором используется EQ или NE, |
переменная |
<пустое значение> и нуль имеют разное действие. В других |
|
типах условных выражений пустое значение рассматривается в |
|
качестве нуля. |
300
B-64144RU/01 ПРОГРАММИРОВАНИE 15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ
Образец программы |
В образце программы ниже вычисляется сумма цифр от 1 до 10. |
|
|
|
O0001 ; |
|
#1=0 ; |
|
#2=1 ; |
|
WHILE[#2 LE 10]DO 1 ; |
|
#1=#1+#2 ; |
|
#2=#2+1 ; |
|
END 1 ; |
|
M30 ; |
|
|
301
15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ |
ПРОГРАММИРОВАНИE |
B-64144RU/01 |
|
|
|
15.6
ВЫЗОВ МАКРОПРОГРАММЫ
Можно вызвать макропрограммы с помощью следующих методов:
Вызов |
|
|
Простой вызов (G65) |
макропро- |
|
Модальный вызов (G66, G67) |
|
|
|||
граммы |
|
Вызов макропрограммы с помощью G-кода |
|
|
|||
|
|
|
Вызов макропрограммы с помощью М-кода |
|
|
|
|
|
|
|
Вызов подпрограммы с помощью М-кода |
|
|
|
|
|
|
|
Вызов подпрограммы с помощью Т-кода |
|
|
|
|
|
|
|
|
Ограничения
D Различия между |
Вызов макропрограммы (G65) отличается от вызова |
|
вызовами |
подпрограммы (М98), как описано ниже. |
|
макропрограммы и |
S С помощью G65 можно задать аргумент (данныепередаются |
|
вызовами |
||
в макропрограмму). M98 не имеет такой возможности. |
||
подпрограммы |
||
S ЕсливблокеM98 содержитсядругая команда ЧУ (например, |
||
|
||
|
G01 X100.0 M98Pp), то вызовподпрограммыосуществляется |
|
|
после выполнения этой команды. С другой стороны, G65 |
|
|
вызывает макропрограмму без условий. |
|
|
S ЕсливблокеM98 содержитсядругая команда ЧУ (например, |
|
|
G01 X100.0 M98Pp), то станок останавливается в режиме |
|
|
единичного блока. С другой стороны, G65 не приводит к |
|
|
остановке станка. |
|
|
S ПриG65 уровеньлокальныхпеременныхменяется. ПриM98 |
|
|
уровень локальных переменных не меняется. |
302
B-64144RU/01 |
ПРОГРАММИРОВАНИE |
15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ |
|
15.6.1 |
Если задан G65, то вызывается макропрограмма пользователя, |
||
Простой вызов (G65) |
заданная в адресе Р. Данные (аргумент) могут передаваться в |
||
макропрограмму пользователя. |
|
||
|
|
||
|
G65 P p L ℓ <аргумент-определение> ; |
||
|
Р : Номер вызываемой программы |
||
|
ℓ : Количество повторов (по умолчанию 1) |
||
|
Аргумент : Данные, переданные в макропрограмму |
||
|
O0001 ; |
|
O9010 ; |
|
: |
|
#3=#1+#2 ; |
|
G65 P9010 L2 A1.0 B2.0 ; |
IF [#3 GT 360] GOTO 9 ; |
|
|
: |
|
G00 G91 X#3 ; |
|
M30 ; |
|
N9 M99 ; |
Пояснения
D Вызов |
S Задайте в адресе Р после G65 номер макропрограммы |
|
пользователя для вызова. |
SЕсли требуется ввести количество повторов, после адреса L задайте число от 1 до 9999. Если L пропущено, подразумевается 1.
S При определении аргумента значения присваиваются соответствующим локальным переменным.
D Указание аргумента Имеются два типа указания аргумента. В типе I указания аргумента используются буквы, кроме G, L, O, N и P, каждая одинраз. ВтипеII указанияаргументаиспользуютсябуквыА, B иC, каждаяодинраз, атакжеиспользуютсяI, J иK додесятираз. Тип указания аргумента определяется автоматически согласно используемым буквам.
Указание аргумента I
Адрес |
Номер |
|
Адрес |
Номер |
|
Адрес |
Номер |
|
переменной |
|
|
переменной |
|
|
переменной |
|
|
|
|
|
|
|
|
A |
#1 |
|
I |
#4 |
|
T |
#20 |
B |
#2 |
|
J |
#5 |
|
U |
#21 |
C |
#3 |
|
K |
#6 |
|
V |
#22 |
D |
#7 |
|
M |
#13 |
|
W |
#23 |
E |
#8 |
|
Q |
#17 |
|
X |
#24 |
F |
#9 |
|
R |
#18 |
|
Y |
#25 |
H |
#11 |
|
S |
#19 |
|
Z |
#26 |
S Нельзя использовать в аргументах адреса G, L, N, O и P.
SМожно пропуститьадреса, указаниекоторыхнеобязательно. Локальные переменные, соответствующие пропущенным адресам, устанавливаются на нуль.
SНет необходимости указывать адреса буквами. Они соот- ветствуют формату адреса слова.
Однако, I, J и K необходимо задавать буквами.
Пример
B_A_D_ … J_K_ Верно B_A_D_ … J_I_ Неверно
303
15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ |
ПРОГРАММИРОВАНИE |
|
|
|
B-64144RU/01 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Указание аргумента II |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
В типе II указания аргумента используются буквы А, B и C, |
|||||||||||||||||
|
каждая один раз, а I, J и K используются до десяти раз. Тип II |
|||||||||||||||||
|
указания аргумента используется для передачи в качестве |
|||||||||||||||||
|
аргументов таких значений, как трехмерные координаты. |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Адрес |
Номер |
|
Адрес |
|
Номер |
|
|
Адрес |
Номер |
|
||||||
|
|
|
переменной |
|
|
|
|
|
переменной |
|
|
|
переменной |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A |
#1 |
|
|
|
K3 |
|
#12 |
|
|
J7 |
#23 |
|
||||
|
|
B |
#2 |
|
|
|
I4 |
|
#13 |
|
|
K7 |
#24 |
|
||||
|
|
C |
#3 |
|
|
|
J4 |
|
#14 |
|
|
I8 |
#25 |
|
||||
|
|
I1 |
#4 |
|
|
|
K4 |
|
#15 |
|
|
J8 |
#26 |
|
||||
|
|
J1 |
#5 |
|
|
|
I5 |
|
#16 |
|
|
K8 |
#27 |
|
||||
|
|
K1 |
#6 |
|
|
|
J5 |
|
#17 |
|
|
I9 |
#28 |
|
||||
|
|
I2 |
#7 |
|
|
|
K5 |
|
#18 |
|
|
J9 |
#29 |
|
||||
|
|
J2 |
#8 |
|
|
|
I6 |
|
#19 |
|
|
K9 |
#30 |
|
||||
|
|
K2 |
#9 |
|
|
|
J6 |
|
#20 |
|
|
I10 |
#31 |
|
||||
|
|
I3 |
#10 |
|
|
|
K6 |
|
#21 |
|
|
J10 |
#32 |
|
||||
|
|
J3 |
#11 |
|
|
|
I7 |
|
#22 |
|
|
K10 |
#33 |
|
||||
|
S Нижние индексы I, J и K для обозначения порядка указания |
|||||||||||||||||
|
|
аргумента не записываются в фактической программе. |
||||||||||||||||
Ограничения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D Формат |
Перед аргументом необходимо задать G65. |
|
|
|||||||||||||||
D Комбинация типа I и II |
ЧПУ внутренне идентифицирует тип I |
или тип II указания |
||||||||||||||||
указания аргумента |
аргумента. Если задана комбинация типа I и типа II указания |
|||||||||||||||||
|
аргумента, то применяется тип указания аргумента, заданный |
|||||||||||||||||
|
последним. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
G65 A1.0 B2.0 |
|
I-3.0 |
I4.0 D5.0 P1000; |
|
|
|||||||||||
|
|
<Переменные> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
#1:1.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
#2:2.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
#3: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
#4:-3.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
#5: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
#6: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
5.0 |
|
|
|
|
|
|
|
|||||
|
#7: |
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
В этом примере для переменной #7 запрограммированы оба |
||||||||||||||||
|
|
аргумента - I4.0 и D5.0, действующим является последний D5.0. |
||||||||||||||||
D Положение |
|
|
|
|
|
|
|
|
||||||||||
Единицы, используемые для данных аргумента, передаваемых |
||||||||||||||||||
десятичной точки |
без десятичной точки, соответствуют наименьшему вводимому |
|||||||||||||||||
|
приращению в каждом адресе. Значение аргумента, переда- |
|||||||||||||||||
|
ваемого без десятичной точки, может варьироваться в зависи- |
|||||||||||||||||
|
мости от системной конфигурации станка. Рекомендуется |
|||||||||||||||||
|
использовать десятичные точки в аргументах вызовов макро- |
|||||||||||||||||
|
программ в целях поддержания программной совместимости. |
|||||||||||||||||
D Вложение вызова |
Можно |
представить |
вызовы в виде вложений до четырех |
|||||||||||||||
|
уровней, включая простые вызовы (G65) и модальные вызовы |
|||||||||||||||||
|
(G66). Вызовы подпрограмм (M98) не включаются. |
304
B-64144RU/01 |
ПРОГРАММИРОВАНИE |
15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ |
|
|
|
DУровни локальных переменных
Примерная программа (цикл болтового отверстия )
S Предусмотрено вложение переменных 0 - 4 уровня. S Уровень основной программы - 0.
SКаждый раз при вызове макропрограммы (с помощью G65 или G66) уровень локальной переменной увеличивается на
единицу. В ЧПУ хранятся значения локальных переменных предыдущих уровней.
SЕсли М99 выполняется в макропрограмме, то управление возвращается в вызывающую программу. В этот момент уровень локальной переменной уменьшается на единицу; а значения локальных переменных, сохраненные при вызове макропрограммы, восстанавливаются.
Основная |
Макро- |
Макро- |
Макро- |
|
Макро- |
|
|||
программа |
программа |
программа |
программа |
программа |
|||||
(уровень 0) |
(уровень 1) |
(уровень 2) |
(уровень 3) |
(уровень 4) |
|||||
O0001 ; |
O0002 ; |
O0003 ; |
O0004 ; |
O0005 ; |
|||||
: |
|
|
: |
: |
|
: |
|
: |
|
#1=1 ; |
#1=2 ; |
#1=3 ; |
#1=4 ; |
#1=5 ; |
|||||
G65 P2 A2 ; |
G65 P3 A3 ; |
G65 P4 A4 ; |
G65 P5 A5 ; |
: |
|
||||
: |
|
|
: |
: |
|
: |
|
: |
|
: |
|
|
: |
: |
|
: |
|
: |
|
M30 ; |
|
M99 ; |
M99 ; |
M99 ; |
|
M99 ; |
|||
Локальные |
|
|
|
|
|
|
|
|
|
переменные |
(Уровень 1) |
(Уровень 2) |
(Уровень 3) |
(Уровень 4) |
|||||
(уровень 0) |
|
|
|
|
|
|
|
|
|
#1 |
1 |
#1 |
2 |
#1 |
3 |
#1 |
4 |
#1 |
5 |
: |
: |
: |
: |
: |
: |
: |
: |
: |
: |
#33 |
|
#33 |
|
#33 |
|
#33 |
|
#33 |
|
Общие переменные |
|
|
|
|
|
|
|||
#100-, #500- |
Переменные, |
которые |
могут |
считываться |
и |
||||
|
|
|
записываться в макропрограммах на различных |
||||||
|
|
|
уровнях |
|
|
|
|
|
|
Создается макропрограмма, которая сверлит H отверстия с интервалами, равными B градусам, после угла запуска, равного A градусам вдоль окружности круга с радиусом I. Центр круга (X,Y). Командымогутбытьуказанылибовабсолютномрежиме, либоврежимеприращения. Чтобысверлитьпочасовойстрелке, укажите отрицательное значение для B.
H=3 |
H=2 |
|
H=1 |
||
|
||
В |
В |
|
H=4 |
А |
|
|
||
Центр (X,Y) |
Радиус I
305
15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ ПРОГРАММИРОВАНИE B-64144RU/01
D Формат вызова
|
G65 P9100 X x Y y Z z R r F f I i A a B b H h ; |
|
|
|
|
|
X: X координата центра круга |
|
|
(абсолютное определение или |
|
|
определение приращения) . . . . . . . . . . . . . . . . . . . . . . . |
(#24) |
|
Y: Y координата центра круга |
|
|
(абсолютное значение или значение приращения) . . |
(#25) |
|
Z: Глубина отверстия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
(#26) |
|
R: Координаты точки приближения . . . . . . . . . . . . . . . . . |
(#18) |
|
F: Скорость рабочей подачи . . . . . . . . . . . . . . . . . . . . . . . . . |
(#9) |
|
I : Радиус окружности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
(#4) |
|
A: Угол запуска сверления . . . . . . . . . . . . . . . . . . . . . . . . . . |
(#1) |
|
B: Угол приращения (по часовой стрелке, |
|
|
когда задано отрицательное значение) . . . . . . . . . . . . . |
(#2) |
|
H: Число отверстий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
(#11) |
D Программа, |
O0002 ; |
|
вызывающая |
G90 G92 X0 Y0 Z100.0; |
|
макропрограмму |
G65 P9100 X100.0 Y50.0 R30.0 Z-50.0 F500 I100.0 A0 B45.0 H5; |
|
|
M30; |
|
D Макропрограмма |
O9100 ; |
|
(вызванная |
#3=#4003 ; . . . . . . . . |
. . . . . . . . . . . . . . . |
Хранит G код группы 3. |
|
программа) |
|
G81 Z#26 R#18 F#9 K0; (Примечание) |
. . . . . . . Циклсверления. |
|
|
|
. . . . . . . . . . . . . . Примечание: L0 также можетиспользоваться. |
||
|
|
IF[#3 EQ 90]GOTO 1; . |
. . . . . . . . Переходит к N1 в режиме G90. |
|
|
#24=#5001+#24; . . . . . |
. . . Рассчитывает координату X центра. |
||
|
#25=#5002+#25; . . . . . |
. . . Рассчитывает координату Y центра. |
||
|
N1 WHILE[#11 GT 0]DO 1; |
|
||
|
|
. . До тех пор, пока число оставшихся отверстийне достигнет 0 |
||
|
|
#5=#24+#4*COS[#1]; |
|
|
|
|
. . . . . . . . . . . . . . . Рассчитывает позицию сверления на оси X. |
||
|
|
#6=#25+#4*SIN[#1]; |
|
|
|
|
. . . . . . . . . . . . . . . Рассчитывает позицию сверления на оси Y. |
||
|
|
G90 X#5 Y#6; |
|
|
|
. |
. . . . . . . . . . . . . . . . . Выполняетсверелениепослеперемещенияв |
||
|
|
|
|
заданное положение. |
|
#1=#1+#2 ; . . . . . . . . . . |
. . . . . . . . . . . . . . . . |
. . . . . . . Обновляет угол |
|
|
#11=#11-1 ; . . . . . . . . . |
. . . . . Уменьшает количество отверстий. |
||
|
|
END 1 ; |
|
|
|
|
G#3 G80 ; . . . . . . . . . |
Возвращает G код в исходное состояние. |
|
|
|
M99 ; |
|
|
|
|
|
|
|
|
|
Значение переменных: |
|
|
|
|
#3 : Хранит G код группы 3. |
|
|
|
|
#5 : X координата следующего просверливаемого отверстия |
||
|
|
#6 : Y координата следующего просверливаемого отверстия |
||
|
|
|
|
|
306