ПРИЛОЖЕНИЕ 1 - ПРИМЕР ПРИМЕНЕНИЯ ПАРАМЕТРИЧЕСКОЙ ПОДПРОГРАММЫ
Создание пользовательской подпрограммы для сверления отверстий.
Требуется разработать параметрическую подпрограмму сверления 4
отверстий в детали, расположенных в углах прямоугольника. Это подпрограмма может быть сохранена на диске и использована в дальнейшем для сверления подобных деталей.
![]() |
Входные параметры:
X,Y - Абсолютная позиция центра прямоугольника; H,W - Значения высоты и ширины между отверстиями;
A - Угол поворота, относительно которого сверлятся отверстия;
R - Координата, с которой начинается выполнение сверления (начальный уровень);
Z - Глубина сверления, заданная в приращении относительно R
Примечание:
Четыре отверстия сверлятся относительно центра прямоугольника.
Предположим, что сверлится резьбовое отверстие M20 и для цикла необходимо, чтобы сверло было первым инструментом, а метчик вторым.
Можно в дальнейшем в подпрограмму добавить возможность сверления центрового отверстия или добавить передачу значения подачи при обработке разных материалов.
; Пользовательский цикл сверления и резьбонарезания по углам
; прямоугольника
; Файл с именем P9600.nc
; X= абсолютная координата по X центра прямоугольника
; Y= абсолютная координата по Y центра прямоугольника
; H= расстояние по Y между отверстиями при 0 градусе поворота
; W= расстояние по X между отверстиями при 0 градусе поворота
; A= угол поворота прямоугольника в градусах
; R =опорный уровень сверления (R-уровень), Z начальный уровень
; Z = глубина сверления в приращениях
; Сверлятся 4 резьбовых отверстия M20.
; Если X и Y не переданы, текущая координата является центром
; Если A не передан, нет вращения
; Если R не передан, R имеет значение текущей координаты Z
IF (#11 = #0) GOTO9610 ;не передан H IF (#23 = #0) GOTO9620 ;не передан W IF (#26 = #0) GOTO9630 ; не передан Z
;Инициализация R, X, и Y, если они не переданы
IF (#24 = #0) #24=#5041 ;текущая позиция по X
IF (#25 = #0) #25=#5042 ;текущая позиция по Y
IF (#18 = #0) #18=#5043 ;текущая позиция по Z
; вычислить величины смещений от центра по X и Y, используя H и W
#31=#11/2
#32=#23/2
;переместиться в точку смены инструмента и сменить инструмент - сверло T1 T1 M06
S1000 M3 ;включить шпиндель
M8 ; включить СОЖ
G0 X#24 Y#25 ; переместиться в координаты XY Z#18 ;подойти на R-уровень
; Выполнить вращение, если необходимо
IF (#1 = #0) GOTO9602 G68 R#1
N9602
; Выполнить сверление четырех отверстий относительно центра
G81 X(#24+#31) Y(#25+#32) Z#26 F100 ; Правый верхний
X(#24 - #31) Y(#25 +#32) ; Левый верхний
X(#24 - #31) Y(#25 - #32) ; Левый нижний
X(#24 + #31) Y(#25 - #32) ; Правый нижний
G80
G69 ;отмена поворота
M5 ;выключить шпиндель
M9 ;выключить СОЖ
;переместиться в точку смены инструмента и сменить инструмент – метчик ;M20 T2 T2 M06
S100 M3 ;включить шпиндель
M8 ;включить СОЖ
G0 X#24 Y#25 ; переместиться в координаты XY Z#18 ;подойти на R-уровень
; Выполнить вращение, если необходимо
IF (#1 = #0) GOTO9604 G68 R#1
N9604
; Выполнить сверление четырех отверстий относительно центра
G84 X(#24+#31) Y(#25+#32) Z(#26-.2) F2 ; Правый верхний
X(#24 - #31) Y(#25 +#32) ; Левый верхний
X(#24 - #31) Y(#25 - #32) ; Левый нижний
X(#24 + #31) Y(#25 - #32) ; Правый нижний
G80
G69 ;отмена поворота
M5 ;выключить вращение
M9 ;выключить СОЖ
GOTO 9699 ; Нормальное завершение
; Аварийный останов
N9610 #3000=961 ; Нет параметра H N9620 #3000=962 ; Нет параметра W N9630 #3000=963 ; Нет параметра Z N9699 M17
;Основная программа, из которой вызывается
;пользовательский цикл сверления
LP9600 X100 Y100 H125 W175 Z50 ; Первая заготовка LP9600 X200 Y300 H125 W175 Z50 A-135 ; Вторая заготовка M30
ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ (М - КОДЫ)
СИСТЕМЫ КООРДИНАТ И РЕФЕРЕНТНАЯ ТОЧКА
КОРРЕКЦИЯ НА РАДИУС ИНСТРУМЕНТА
КОРРЕКЦИЯ НА ПОЛОЖЕНИЕ ИНСТРУМЕНТА