Gibkoe Programmirovanie
Gibkoe Programmirovanie
ГРОМОВ
г. Александров
2014
Громов Г.С.
Гибкое программирование для станков с ЧПУ в среде Sinumerik-840D
Aлександровский промышленно-гуманитарный колледж,
факультет «Технология машиностроения», Владимирская область
2
Моему первому станку
с системой ЧПУ «Контур-2ПТ»
посвящается
От автора:
Успехов Вам!
Г. Громов
3
Содержание
1. Фреймы ……………………………………………………………………..8
2. Подпрограммы …………………………………………………………………...31
Заключение ……………………………………………………………………………..98
Приложения …………………………………………………………………………….99
Литература …………………………………………………………………………….108
5
Начальные установки и соглашения
Рис.1
6
Размеры по осям X200, Y100, Z100 до точки W – это смещения нуля детали
от нуля станка. Они должны быть записаны в функцию G54 (раздел
<ПАРАМЕТРЫ><СНТ>).
Рис 1.1
5. Фрезы, описанные в системе, имеют режущую часть в 45 мм. Поэтому при отработке
программ на станке, если нет инструмента с такими параметрами, провести предваритель-
ную обработку.
8. При движении фрезы в заготовку вдоль оси Z предполагается наличие в этом месте
технологического отверстия соответствующего диаметра.
7
1. ФРЕЙМЫ
1.1. ПАРАМЕТРЫ
Если какой либо участок программы нужно повторить некоторое количество раз,
применяется цикл FOR.
Рис. 2
9
; ОБРАБОТКА МАТРИЦЫ ОТВЕРСТИЙ
; заготовка 0 - X - 230, 0 - Y- 140 , Z1=20,Z2=15
; T1 - фреза D=10 MM
T1 D1 M6
M3 S1000 F100
G54 G0 X30 Y30
Z1
G1 Z0
FOR R3=1 TO 5 ; горизонтальный ряд 5 отверстий
FOR R1=1 TO 3 ; вертикальный ряд 3 отверстия
FOR R2=1 TO 4 ; растачивание отверстия за 4 прохода
G91 Z-5.1 ; глубина 1 прохода
G41 Y-14
G3 J14
G40 G1 Y14
ENDFOR
G90 Z1
G91 Y40
G90 Z0
ENDFOR
G90 Z1
N1 G91 X40 Y-120
G90 Z0
ENDFOR
G90 G0 Z50 M5
M30
Результат отработки программы представлен на рис. 3.
Рис. 3
10
1.3. Сдвиг системы координат: TRANS, ATRANS
Пример.
Рис. 4
; относительный сдвиг
ATRANS X100 Y20
X0 Y40
Z-3
G3 X-40 Y0 CR=40
G1 Z1
X0 Y-40
Z-3
G3 X40 Y0 CR=40
G1 Z1
G0 Z50 M5
M30
12
Результат выполнения УП представлен на рисунке 5.
Рис. 5
13
1.4. Программируемое зеркальное отображение: MIRROR, AMIRROR
Синтаксис: MIRROR/AMIRROR X… Y… Z…
Рис. 6
14
; программирование зеркальной отработки
; заготовка 0-X-120, 0-Y-100, Z1=1, Z2=10
T1 D1 M6 ; шпоночная фреза 10 мм
M3 S1000 F100
G0 G54 X0 Y0
Z1
TRANS X60 Y40 ;смена координат начальной точки
X0 Y0
FOR R1=1 TO 2 ;1 проход - правая сторона
G1 Z-1
G2 X50 Y50 CR=50
G3 X25 Y10 CR=70
G2 X15 Y0 CR=10
G1 X0
Y-15
G3 X15 Y0 CR=-15
G1 X0
AMIRROR X0 ; зеркально относительно новой оси Y
; текущие значения фреймов сохраняются
; второй проход в зеркальном отображении
ENDFOR
MIRROR ; сброс всех фреймов, возврат в исходное состояние
G0 Z50 M5
X150 Y100
M30
Рис. 7
15
Пример 2. На детали, представленной на рис. 8, необходимо прорезать 8 элементов,
четыре из которых зеркальны четырем другим.
Рис. 8
T6 D1 M6 ; шаровая фреза 2 мм
M3 S1000 F100
G0 G54 X0 Y0
Z1
TRANS X100 Y0 ; сдвиг нуля
FOR R2=1 TO 4
FOR R1=1 TO 2 ; внутренний цикл
X45.5 Y30 ; обработка правого элемента
G1 Z-5
G2 Y50 CR=-15
G1 X70
Y47
X90
Y33
X70
Y30
X45.5
Z1
16
AMIRROR X0 ; относительное зеркальное отражение
ENDFOR
ATRANS X0 Y32 ; относительный сдвиг нуля
ENDFOR
G0 Z50 M5
M30
Рис. 9
17
1.5. Программируемый поворот ROT, AROT
Синтаксис: ROT/AROT Z…
ROT/AROT RPL=<± значение угла>
RPL=< ± градус > - поворот на заданный градус в рабочей плоскости. Градусы даются
в десятичном представлении. Например, 10º30΄ соответствует 10.5º.
Например, ROT Z28 ; абсолютный поворот осей системы координат XOY на 28º
….
ROT RPL=30 ; абсолютный поворот на 30º
AROT RPL=-5 ; относительный поворот на -5º
; результирующий угол поворота составляет 25º
….
18
Примеры программирования с конструкцией ROT/AROT.
Рис. 10
T2 D1 M6 ; сверло 6 мм
M3 S1000 F100
G0 G54 X0 Y0 Z1
19
TRANS X100 Y100 ; перенос нуля в центр заготовки
ROT RPL=5 ; абсолютный поворот осей на 5 градусов
FOR R1=1 TO 16 ; сверление 16-ти отверстий в цикле
X50 Y0
G1 Z-5
Z1
AROT RPL=22.5 ; с относительным поворотом на 22,5 градуса
ENDFOR
G0 Z50 M5
X200
M30
Рис. 11
20
Рис. 12
Текст УП.
T1 D1 M6 ; фреза 10 мм
M3 S1000 F100
G0 G54 X0 Y0 Z1
R2=0 ; угол
TRANS X100 Y80 ; перенос нуля
X0 Y0
FOR R1=1 TO 4 ; отраБотка в цикле
ATRANS X40 Y40 ; относительный сдвиг нуля в центр креста
AROT RPL=30 ; относительный поворот осей на 30 град.
X0 Y0 ; фрезерование креста
G1 Z-2
X-20
X20
X0
Y20
21
Y-20
Y0
Z1
TRANS X100 Y80 ; возврат в ноль
R2=R2+90 ; увеличение угла в R2 на 90 град.
AROT RPL=R2 ; поворот на 90 град
ENDFOR ; конец цикла
G0 Z50 M5
X200 Y160
M30
Рис. 13
22
1.6. Программируемое изменение масштаба: SCALE, ASCALE.
Синтаксис: SCALE/ASCALE X… Y… Z…
Рис. 14
Текст УП
; логарифмическая спираль
; заготовка 100-X-100, 100-Y-100, Z1=2, Z2=3
T6 D1 M6 ; шаровая фреза 2 мм
M3 S1000 F100
G0 G54 X1 Y0 Z1
G1 Z-0.2
FOR R1=1 TO 200 ; 200 раз через 5 градусов
X1
AROT RPL=5
ASCALE X1.02 ; масштабирование
ENDFOR
M30
24
Результат отработки УП на рисунке 15.
Рис. 15
25
1.7. Заключение к разделу 1
Рис. 16
26
Заготовка представляет цилиндрическую шайбу диаметром 100 мм с центральным
внутренним отверстием со шпоночным пазом. Деталь имеет 8 сквозных окон плюс
18 зубьев, которые повернуты на начальный угол α, который пусть будет равен 5º20΄48˝.
Требуется составить наиболее короткую УП. Координаты опорных точек первого окна
представлены в таблице. Угол α в десятичном виде будет равен α=5,347º. Программы
могут быть разными, сколько программистов, столько и вариантов. Один из них имеет
следующий вид. В УП для наглядности прорисованы оси. В местах захода фрезы Ø8 мм
в заготовку надо было бы запрограммировать сверление технологических отверстий,
но, чтобы не загромождать УП, автор этого делать не стал.
T6 D1 M6 ; шаровая фреза 2 мм
; прорисовка осей
M3 S1000 F100
G0 G54 X-55 Y0
Z-0.2
G1 X55
G0 Z2
X0 Y55
Z-0.2
G1 Y-50
G0 Z50 M5
FOR R1=1 TO 8
X28 Y8
G1 Z-11
27
G42 Y2
X23.92
G3 X18.33 Y15.5 CR=24
G1 X28.25 Y25.42
G2 X37.95 Y2 CR=38
G1 X28
G40 Y10
Z1
AROT RPL=45
ENDFOR
G0 Z50 M5
X100
M30
Рис. 17
28
Пример 2. Применяя различные фреймы, составить наиболее короткую УП для детали,
представленной на рис. 18. Требуется вырезать заштрихованные участки.
В этом примере применяются все фреймы.
Рис. 18
T6 D1 M6 ; шаровая фреза 2 мм
M3 S1000 F100
G0 G54 X-55 Y0 Z1 ; прорисовка осей
G1 Z-0.1
X55
Z1
X0 Y60
Z-0.1
Y-60
Z1
; начало обработки
29
FOR R3=1 TO 2
FOR R2=1 TO 2 ; нижняя половина
FOR R1=1 TO 2 ; левый нижний фрагмент
X-25 Y-27.5
Z-3
Y-5
X-20
Y-22.5 RND=5
X-5
Y-27.5
X-25
Z1
ASCALE X2 Y2 ; увеличение в 2 раза
ATRANS X2.5 Y2.5 ; локальный сдвиг
ENDFOR
TRANS ; сброс всех фреймов, возврат в исходный ноль
AMIRROR X0 ; локальная зеркальность относительно оси Y
ENDFOR ; нижняя половина готова
MIRROR Y0 ; зеркальное отражение нижней половины
; относительно абсолютной оси Х
ENDFOR
G0 Z50 M5
M30
Рис. 19
30
2. ПОДПРОГРАММЫ
- первыми двумя символами должны быть две буквы латинского алфавита A-Z
- последующими символами может быть любая комбинация букв и цифр (0-9) и
символа подчеркивания “_”
- максимально можно использовать 31 символ.
Рис. 20
; подпрограмма ZZ.SPF
; Буква Z
G1 G91
Y6 ; левый верхний угол
Z-1.2 ; врезание
X4
X-4 Y-6
X4
Z1.2 ; подъём
X1 ; переход на начало следующей буквы
G90 ; возврат в абс. систему отсчёта
M17
32
; надпись
; заготовка 0-X-100, 0-Y-100, Z1=2, Z2=10
T6 D1 M6 ;шаровая фреза 2 мм
M3 S1000 F100
G0 G54 X20 Y10
Z1
ZZ ; вызов подпрограммы для буквыZ
OO ;O
RR ;R
RR ;R
OO ;O
G0 X20 Y20 ; выход в новую точку
SCALE X2 Y2 ; масштабирование
ZZ
OO
RR
RR
OO
SCALE ; сброс,
; иначе координаты точки X20 Y40 будут искажены
G0 X20 Y40 ; выход в точку
SCALE X2.2 Y1.5
ZZ
OO
RR
RR
OO
G0 Z50 M5
M30
Рис. 21
33
Как мы видели в разделе 1, если одинаковые участки обработки образуют
регулярную структуру, то вполне возможно использовать цикл FOR. Но, если эти
одинаковые участки расположены хаотично, то здесь без применения подпрограмм
не обойтись. Рассмотрим следующий пример.
Пример 2. На детали толщиной 15 мм ( см. рис. 22) расположены сквозные окна
в произвольной последовательности.
Рис. 22
Текст подпрограммы:
; подпрограмма FENSTER.SPF
G1 G91
FOR R0=1 TO 3 ; 3 прохода
Z-5.5
G42 Y7.5
X15
Y-20
X-30
Y20
X15
G40
Y-7.5
ENDFOR
34
G90 Z1 ; возврат в абс. систему отсчёта
M17
Текст главной программы:
Рис 23.
35
Посмотрим теперь, а что же токарный станок? Здесь то же самое, только
гораздо проще, поскольку обычный токарный станок имеет всего две координаты:
ось Х и ось Z. Но, несмотря на это, на нѐм тоже можно творить удивительные вещи.
Что может быть повторяющимися структурами при токарной обработке?
наверное, только канавки различного профиля. Рассмотрим одну из таких канавок.
Рис. 24
; подпрограмма KAN1.SPF
G1
G91 Z-5 ; сдвиг на 2 мм + ширина пластины
G90 G1 X20 ; проход до диаметра 20 мм
G0 X31 ; возврат
G91 Z-1 ; сдвиг на 1 мм
G90 G1 X20 ; 2 проход, основание канавки сформировано
G0 X31
G91 Z-2 ; выход на левый скос
G90 G1 X30 ; касание
G91 Z2 X-10 ; левый скос
G0 G90 X31
36
G91 Z3 ; выход на правый скос с учетом ширины пластины
G1 G90 X30 ; касание
G91 X-10 Z-2 ; правый скос, прорез правым углом пластины
Z-1 ; подчистка дна
G0 G90 X31
M17
Главная программа:
Рис. 25
37
2.3. Подпрограммы, составленные в абсолютной системе отсчѐта
; подрограмма OKNO.SPF
; аБс система отсчета
G1 G90
FOR R1=1 TO 3
G91 Z-5.4
G90
G42 Y7.5
X15
Y-7.5
X-15
Y7.5
X0
G40 Y0
ENDFOR
Z1
M17
Главная УП:
T1 D1 M6 ; фреза 10 мм
M3 S1000 F100
G54 G0 X35 Y30
Z1
MCALL OKNO ; многократный вызов подпрограммы
TRANS X35 Y30 ; сдвиг нуля
X0 Y0 ; 1 окно
TRANS ; сброс
TRANS X90 Y40 ; 2 окно
X0 Y0
TRANS
TRANS X150 Y25 ; 3 окно
X0 Y0
TRANS
MCALL ; отмена многократного вызова
TRANS X145 Y115 ; 4 окно с поворотом на 90 град
X0 Y0
AROT RPL=90
38
OKNO
TRANS X50 Y108 ; 5 окно с поворотом на 45 град
X0 Y0
AROT RPL=45
OKNO
TRANS
G0 Z50 M5
M30
; подпрограмма KAN2.SPF
; заготовка W60, D30
G1 G90
Z-7
X20
G0 X31
Z-8
G1 X20
G0 X31
Z-10
G1 X30
X20 Z-8
G0 X31
Z-5
G1 X30
X20 Z-7
Z-8
G0 X31
M17
Главная программа:
40
2.4. Подпрограммы с параметрами R.
Главная программа:
M30
; подпрограмма FEN1.SPF
G1 G91
;
FOR R0=1 TO 3 ; 3 прохода
Z-5.5
41
G42 Y=R1/2 ; половина высоты
X=R2/2 ; половина ширины
Y=-R1
X=-R2
Y=R1
X=R2/2
G40 Y=-R1/2
ENDFOR
G90 Z1 ; возврат в абсолютную систему отсчёта
M17
Рис. 26
42
2.5. Подпрограммы с передачей параметров.
…
…
MUMU (5.43,10, …)
…
В подпрограмме переменной VVV присваивается значение 5.43, а WWW=10.
Эти данные обрабатываются подпрограммой и после обработки управление
передаѐтся в главную программу.
Рис. 27
43
представлены четыре глухих отверстия различной глубины- Ø20 мм глубина 10 мм,
Ø30 мм – 8.5 мм, Ø22 мм - -5 мм, Ø35 мм - -2 мм. Требуется разработать одну
подпрограмму для растачивания всех этих отверстий. Пусть подпрограмма называется
KREIS.SPF. Ниже еѐ текст.
; подпрограмма KREIS.SPF
; растачивание отверстий различного диаметра и глубины
Текст главной УП
T1 D1 M6 ; фреза 10 мм
M3 S1000 F100
G54 X0 Y0 Z1
44
Рис. 28
Пусть Вас не смущают недорезы. Это просто пример. Далее уберѐм эти
недостатки и составим более универсальную программу, введя переменные
радиуса фрезы, количества проходов, т.е. постараемся, чтобы дно отверстий было
чистое.
45
3. ГИБКОЕ ПРОГРАММИРОВАНИЕ (немного теории)
3.1. Переменные
Переменные
Тип переменных
Производится командой
Примеры.
Оператор/функция Значение
вычисления
+ сложение
– вычитание
* умножение
/ деление, при делении тип INT/ тип INT= тип REAL
например: 4/5=0.8
DIV деление для типа переменных INT и REAL
тип INT/тип INT=тип INT ; 4/5=0
SIN( ) синус угла
COS( ) косинус
TAN( ) тангенс
ASIN( ) арксинус
ACOS( ) арккосинус
SQRT( ) корень квадратный
ABS( ) абсолютное значение
POT( ) квадрат числа
TRUNC( ) выделение целой части дробного числа
ROUND( ) округление до целого
LN( ) натуральный логарифм
EXP( ) показательная функция
MINVAL( ) меньшее значение из двух переменных
MAXVAL( ) большее значение из двух переменных
Примеры.
Синтаксис:
Пример. …
B1: G1 X0 Y0 ; бесконечная программа
X100
Y100
X0
Y0
GOTOB B1
M30
48
3.4. Операторы сравнения и логические операторы
== равно
<> не равно
> больше, чем
< меньше, чем
>= больше или равно
<= меньше или равно
AND ИЛИ
OR И
NOT Отрицание
XOR Исключающее ИЛИ
Пример 1. …
BEGIN:
R2=R2+1
…
IF (R2<=10) GOTOB BEGIN ; пока R2 меньше или равно 10,
… ; переходить метку BEGIN
Пример 2. …
IF (R1==0) AND (R3> 15) GOTOF END ; если одновременно R1=0 и
; R3>15, перейти на метку END
… ; если нет – продолжить выполнение
… ; программы
END:
…
49
3.5. Приоритет операций
1 NOT Отрицание
2 *, /, DIV Умножение, деление
3 +, – Сложение, вычитание
4 AND Логическое И
5 XOR Исключающее ИЛИ
6 OR Или
7 ==, < >, >, <, >=, <= Операторы сравнения
50
3.6. Ветвление программы. Оператор CASE…OF…DEFAULT
Синтаксис:
CASE(<выражение>) OF <Постоянная_1> GOTOF <Цель перехода_1>
<Постоянная_2> GOTOF <Цель перехода_2> … DEFAULT GOTOF
<Цель перехода_n>
Значение:
CASE Оператор перехода.
Комментарии.
Под меткой END стоит конструкция MSG. Это оператор выдачи текстового
сообщения на дисплей станка во время отработки программы. Формат его следующий:
52
3.7. Управляющие структуры
Синтаксис. IF (<условие>)
…
ELSE
…
ENDIF
Значение.
IF Запускает цикл IF
Пример.
IF (R1==0)
…
ELSE
…
ENDIF
…
Синтаксис. LOOP
…
ENDLOOP
В цикле WHILE условие стоит в начале цикла. Цикл выполняется до тех пор,
пока выполняется условие.
Пример.
R1=0
WHILE R1<=10
…
…
R1=R1+1
ENDWHILE
…
54
3.7.5. Программный цикл с условием в конце цикла (REPEAT, UNTIL)
В цикле REPEAT условие стоит в конце цикла. Цикл выполняется один раз
и затем повторяется до тех пор, пока выполняется условие.
Синтаксис. REPEAT
…
…
UNTIL <условие>
Пример.
R2=0
REPEAT
R2=R2+1
…
…
UNTIL R2<=10
…
55
3.8. Подавление отображения текущего кадра (DISPLOF, DISPLON)
PROC … DISPLON
56
4. ГИБКОЕ ПРОГРАММИРОВАНИЕ (ПРИМЕРЫ)
; фреза шаровая 2 мм
; заготовка 105-X-105, 25-Y-25, Z1=10, Z2=5
T6 D1 M6
M3 S1000
G0 G54 X-105 Y0 ; прорисовка осей
G1 Z1 F500
Z-0.2 F100
X105
Z1
X0 Y40
Z-0.2
Y-40
Z1
X0 Y0
G0 X=-100 Y=20*SIN(R1) ; выход в начальную точку
G1 Z-0.4
BEG: R3=20*SIN(R1)
G1 X=R2 Y=R3 ; движение фрезы
R1=R1+1 ; изменение угла на 1 градус
R2=R2+R4 ; вычисление координат по оси Х
IF R1<=360 GOTOB BEG ; переход на метку BEG, пока выполняется условие
G0 Z50 M5
57
M30
Результат на рисунке 29.
Рис.29
Рис. 30
58
4.1.2. График функции Y=SIN(X)/X
; функция Y=50*SIN(X)/X
; фреза шаровая 2 MM
; заготовка 105-X-105, 20-Y-60, Z1=10, Z2=15
;
R1=0 ; начальный угол
R2=0 ; начало по оси Х
R3=0 ; значение функции
R4=0.0175 ; приращение по Х, соответствующее одному градусу
; 3.14/180=0.0175
T6 D1 M6
M3 S1000
G0 G54 X-105 Y0 ; прорисовка осей
G1 Z1 F500
Z-0.1 F100
X105
Z1
X0 Y105
Z-0.1
Y-20
Z1
G0 X0 Y50 ; выход в начальную точку
;
FOR R0=1 TO 2
G1 Z-0.3
BEG: R1=R1+1 ; изменение на 1 градус
R2=R2+R4
R3=50*(SIN(R1)/R2)
G1 X=5*R2 Y=R3 ; 5-масштабный коэффициент для оси Х
IF R1<=1080 GOTOB BEG ; переход на метку BEG, пока выполняется условие
R1=0 ; сброс параметров в исходное состояние
R2=0
Z1
G0 X0 Y50
AMIRROR X0 ; зеркальность относительно оси Y
ENDFOR
G0 Z50 M5
M30
59
Результат выполнения программы представлен на рис. 31.
Рис. 31
60
4.1.3. Эллипс
+ =1 , где
y=b
Y=R2*SQRT(1-POT(R3)/POT(R1)).
;
; Пример параметрического программирования эллипса
;
MSG ("ELLIPS")
;
; фреза шаровая 2 мм
; заготовка 50-X-50, 50-Y-50, Z1=10, Z2=15
; R1,R2-полуоси эллипса
R1=50 ; полуось эллипса А
R2=25 ; полуось эллипса В
R3=0 ; аргумент
R4=0 ; функция
;
;
; Y=B*SQRT(1-POT(X)/POT(A))
T6 D1 M6
M3 S1000 F100
G0 G54 X=-R1 Y0 Z1 ; выход на левый край оси А
G1 Z-0.2 F100
R3=-R1
BEG: ; верхняя часть
R4=R2*SQRT(1-POT(R3)/POT(R1))
61
G1 X=R3 Y=R4
R3=R3+1 ; изменение аргумента на 1 мм
IF (R3<=R1) GOTOB BEG
R3=R1 ; переустановка параметров
R1=-R1
BEG1: ; нижняя часть
R4=R2*SQRT(1-POT(R3)/POT(R1))
G1 X=R3 Y=-R4
R3=R3-1
IF (R3>=R1) GOTOB BEG1
;
G1 Z50 F1000
M5
M30
Рис. 32
62
Если вместо шаровой фрезы поставить концевую, в программу добавить
пару отверстий под шурупы и отфрезеровать пару цифр, то можно открыть артель
по производству квартирных или офисных номерков. Угадайте номер моей квартиры.
Рис. 33
63
4.2. Параболоид
Рис. 34
Текст УП
; парабола Z=-0.2*POT(X)
; заготовка W=40, D=20 мм
;
T12 D1 ; резец SDJC L1212
M4 S1000 F0.1
G0 X10 Z1 ; подготовительный проход
G1 Z0
Z-5 X20
G0 Z1
X-0.8 ; выход за ось Х на радиус пластины
G1 Z0
R2=0 ;X
R3=0 ;Z
;
BEG:
R2=R2+0.1
R3=-0.2*POT(R2)
G1 G42 X=2*R2 Z=R3 ; движение с коррекцией на радиус пластины
IF R2<=10 GOTOF BEG
;
G0 G40 X40
Z100 M5
M30
64
Рис. 35
65
4.3. Программирование цилиндрической резьбы, профиль которой
изменяется по косинусоидальному закону.
Рис. 36
MSG ("COSINUSGEWINDE")
;
R1=26 ;диаметр заготовки
R2=20 ;количество циклов
R3=0 ;текущий диаметр
R4=0 ;приращение по оси Z
R5=10 ;шаг резьбы
R6=1 ;коэффициент при COS(X)
R7=0 ;текущее значение угла
R8=0 ;средний диаметр
R9=0 ;приращение угла
R10=80 ;длина резьбы
BEGIN:
R3=R8+2*R6*COS(R7)
G1 X=R3
G91 G33 Z=-R10 K=R5
G90 G0 X=R1+2
G91 G0 Z=R10-R4
G90 X=R3
R7=R7-R9
IF (R7>=-360) GOTOB BEGIN
G0 X50
Z100
M5
M30
Рис. 37
Резьба на этом виде сбоку показана условно. На реальной детали всѐ как надо.
Как говорят мои коллеги, такую штуку легко выточить на универсальном станке,
в чем я сильно сомневаюсь. Но следующую вещь, они сказали, вручную сделать нельзя.
67
4.4. Программирование конической резьбы, профиль которой изменяется
по косинусоидальному закону.
Рис. 38
68
T9 D1 ; резец SDJC N1212
M3 S200 F0.05
;
DEF REAL DD=5.5 ; начальный радиус средней линии
DEF REAL UGOL=0 ; угол в косинусоидальной функции
DEF REAL DZ=50 ; длина резьбы минус шаг
DEF REAL DDX=0 ; приращение по Х к средней линии в зависимости от угла
;
G0 Z10 X7.5 ; выход в начальную точку с учетом конусности
;
BEGIN:
DDX=DD+2*COS(UGOL)
G0 X=DDX
G90 G33 X=15+DDX Z= -DZ K=10
G0 G90 X30
G91 G0 Z59.75 ; за счет функции G91 обеспечивается постоянный сдвиг
; начальной точки по оси Z
DD=DD+0.0625 ; увеличивающийся радиус средней линии
DZ=DZ+0.25
G90
UGOL=UGOL-9
IF (UGOL>=-360) GOTOB BEGIN
;
G0 G90 X50
Z100
M5
M30
Результат на рисунке 39.
Рис. 39
69
4.5. Программирование цилиндрической «веревочной» резьбы.
Рис. 40
X1,2=16.5± .
Выбираем x=16.5– .
Подставляя вместо (x) R2, a вместо (z) R1, запишем формулу в машинном виде:
R2=16.5–SQRT(36–POT(R1+4.5))
УП имеет вид:
Рис. 41
71
4.6. Программирование скосов.
Рис. 42
72
; Пример программирования скосов
R1=0 ;Х
R2=0.5 ; приращение по Z
R3=R2*15/25 ; приращение по X (ΔХ=ΔZ*tgα)
;
T1 D1 M6 ; фреза 10 мм
M3 S1000 F100
G0 G54 X-5 Y26 Z1 ; выход в исходную точку с учетом радиуса фрезы
G1 Z0
R2=0
BEG:
;
R1=R1+R3
R2=R2+0.5
IF (R2>25) GOTOF END
G1 X=-(R1+5) Z=-R2
Y-26
R2=R2+0.5
IF (R2>25) GOTOF END
R1=R1+R3
G1 X=-(R1+5) Z=-R2
Y26
;
GOTOB BEG
END:
G0 Z50 M5
M30
Рис.43
73
Если повернуть скос на 180º, получится два скоса, если на 120º – трѐхгранная
пирамида, на 90º – четырѐхгранная и т.д. Добавим в программу пару кадров и получим
пятигранную пирамиду. Текст УП приведен ниже.
;
; Заготовка 0-X-20,20-Y-20,Z1=27, Z2=30
;
R1=0 ;Х
R2=0.5 ; приращение по Z
R3=R2*15/25 ; приращение по Х
;
T1 D1 M6 ; фреза 10 мм
M3 S1000 F100
G0 G54 X0 Y0 Z1 ; выход в ноль
G1 Z0
FOR R0=1 TO 5 ; количество циклов=количеству граней
R2=0
X-5 Y26
BEG:
R1=R1+R3
R2=R2+0.5
IF (R2>25) GOTOF END
G1 X=-(R1+5) Z=-R2
Y-26
R2=R2+0.5
IF (R2>25) GOTOF END
R1=R1+R3
G1 X=-(R1+5) Z=-R2
Y26
GOTOB BEG
END:
R1=0
G0 Z0
AROT RPL=72 ; 360°/5=72°
ENDFOR
G0 Z50 M5
M30
74
4.7. Конические поверхности
Рис. 44
Возьмѐм за ноль детали вершину конуса. Фрезу будем вести вдоль образующей
конуса в плоскости YOZ в отрицательной области. Ниже текст УП.
; конус
; заготовка 20-X-20, 20-Y-20, Z1=35, Z2=32
;
T1 D1 M6 ; фреза концевая 10 мм
M3 S1000 F100
G0 G54 X-5 Y0 Z1
G1 Z0
R1=0.1 ; шаг по оси Z
R2=R1/2 ; шаг по оси X, ΔХ=0.1tgα, tgα=15/30=0.5
R3=0 ; текущий X
R1=0
ANF:
R1=R1-0.1
R3=R3+R2
75
G1 X=-R3-5
Z=R1
G2 I=R3+5
IF (R1>-30) GOTOB ANF
G1 X-28 ; подчистка углов
G2 I28
G0 Z50 M5
M30
Рис. 45
76
4.8. Цилиндрические поверхности
Рис. 46
Рис. 47
77
Ниже текст УП. Вторая половина полуцилиндра реализована фреймами
TRANS и AMIRROR.
; POLUCILINDR
; заготовка 0-X-100,0-Y-50,Z1=30, Z2=27
;
R1=0 ; X
R2=0 ; Z
R3=0 ; угол
R4=20 ; радиус
;
T1 D1 M6 ; фреза 10 мм
M3 S1000 F100
G0 G54 X5 Y60
Z-20
FOR R5=1 TO 2
G1 X5 Y60 ; предварительные проходы
Z-20
Y-10
X15
Y60
X25
Y-10
R3=0
BEG: ; начало обработки полуцилиндра
R1=R4*COS(R3)
R2=R4*SIN(R3)
G1 Z=-20+R2 X=45-R1
Y60
R3=R3+1
IF (R3>90) GOTOF END
R1=R4*COS(R3)
R2=R4*SIN(R3)
Z=-20+R2 X=45-R1
Y-10
R3=R3+1
IF (R3>90) GOTOF END
;
GOTOB BEG
;
END:
TRANS X100 Y0 ; сдвиг нуля
AMIRROR X0 ; зеркальность
ENDFOR
;
G0 Z50 M5
M30
78
Результат на рисунке 48.
Рис. 48
79
4.9. Сферические поверхности
Рис.49
Текст УП:
MSG ("HALBKUGEL")
; заготовка 21-X-21 , 21-Y-21, Z1=30, Z2=25
;
R1=20 ; радиус шара
R2=5 ; радиус фрезы
R3=0 ;X
R4=0 ;Z
R5=0 ; угол
;
T1 D1 M6
M3 S1000
G1 G54 X=R2 Y0 F100
; полушарие
REPEAT
R5=R5+2
R3=-(R2+R1*SIN(R5))
80
R4=R1-R1*COS(R5)
G1 X=R3
Z=-R4
G3 I=-R3
UNTIL (R5>=90)
G1 Z50 F1000
;
M30
Рис. 50
81
4.10. Вогнутые цилиндрические поверхности
Рис. 51
R – радиус полуцилиндра,
r – радиус шаровой фрезы,
α – текущий угол.
Составим УП для фрезерования полуцилиндра, представленного на рис. 52.
Рис. 52
82
Фрезерование проведем, изменяя угол от 0 до 180°.
Текст УП:
Рис. 53
83
4.11. Вогнутые сферические поверхности
Рис. 54
Текст УП:
; вогнутая полусфера
; заготовка 40-X-40, 40-Y-40, Z1=25, Z2=20
;
T4 D1 M6 ; фреза шаровая 10 мм
M3 S1000 F100
Рис. 55
85
4.12. Программирование объѐмных фигур с одновременным
движением по трем осям
Рис. 56
Текст УП:
MSG ("SERPANTIN")
; спираль Архимеда в объёме
; Заготовка 20-X-20 , 20-Y-20, Z1=42, Z2=37
; фреза 10 мм
; определение параметров
R1=0 ; угол
R2=0 ; приращение по Х
R3=0 ; приращение по Y
R4=-32 ; высота по Z
R5=25 ; начальный радиус с учётом радиуса фрезы
R6=0.01 ; уменьшение радиуса на 1 градус
R7=0.018 ; приращение по Z на один градус
;
T1 D1 M6
M3 S1500 F200
G0 G54 X25 Y0
G1 Z-32
G41 X20
G2 I-20
G1 G40 X25
86
;
BB: R1=R1-1 ; проход на глубине 32 мм, исключительно
; для придания детали товарного вида
R5=R5-R6
R2=R5*COS(R1)
R3=R5*SIN(R1)
G1 X=R2 Y=R3
IF R1>-360 GOTOB BB
R1=0 ; сброс угла
R5=21.4 ; R5=25-0.01*360=21.4
BEG: R1=R1-1 ; спираль
R5=R5-R6
R2=R5*COS(R1)
R3=R5*SIN(R1)
R4=R4+R7
G1 X=R2 Y=R3 Z=R4
IF R1>-1800 GOTOB BEG ; 5 витков
;
G0 Z40
X100
M5
M30
Расчѐт параметров.
Рис. 57
87
5. Примеры разработки универсальных подпрограмм
Условия:
1. Ноль детали по осям X, Y – центр отверстия, по оси Z – верхняя плоскость
2. Фреза находится в нуле детали.
88
; подпрограмма LOCH.SPF
; растачивание отверстий различного диаметра и глубины
; фрезой заданного диаметра
;
PROC LOCH (REAL D_OTV, REAL TIEFE, INT D_FR) DISPLOF
;
; D_OTV диаметр отверстия
; TIEFE глубина
; D_FR диаметр фрезы
; определение дополнительных переменных
Главная программа:
Рис. 58
90
5.2. Подпрограмма для фрезерования правильных пирамид
tgα = , где
Рис. 59
; подпрограмма PIRAMIDA.SPF
; фрезерование правильных пирамид с количеством граней от 3 и более
;
PROC PIRAMIDA (REAL ROKR, REAL HH, INT GRANI, REAL RFR, REAL DZ) DISPLOF
;
; ROKR - радиус описанной окружности
; HH - высота пирамиды
; GRANI - количество граней
; RFR - радиус фрезы
91
; DZ - шаг по оси Z
; определение дополнительных переменных
DEF REAL TAN_UGLA ; тангенс угла между осью пирамиды и гранью
DEF REAL DXX=0 ; сумма приращений по оси Х
DEF REAL DZZ=0 ; сумма приращений по оси Z
DEF REAL DX ; шаг по оси X
TAN_UGLA=ROKR*COS(180/GRANI)/HH ; вычисление тангенса угла
DX=DZ*TAN_UGLA ; шаг по оси Х
FOR R0=1 TO GRANI ; число повторений по количеству граней
G1 X=RFR ; смещение на радиус фрезы
BEGIN: ; начало обработки грани
G1 Y=-ROKR ; смещение вдоль оси Y на минус радиус окружности
DXX=DXX+DX ; суммирование приращений по оси Х
DZZ=DZZ+DZ ; то же по оси Z
IF DZZ>HH GOTOF END1 ; переход на метку END1, если общий Z>высоты пирамиды
G1 X=RFR+DXX Z=-DZZ ; перемещение в точку суммирования
Y=ROKR ; смещение вдоль оси Y
DXX=DXX+DX
DZZ=DZZ+DZ
IF DZZ>HH GOTOF END1
X=RFR+DXX Z=-DZZ
GOTOB BEGIN ; переход на метку BEGIN
END1:
G0 Z0
X=RFR Y0 ; возврат в исходную точку
AROT RPL=360/GRANI ; поворот на угол, согласно количеству граней
DXX=0 ; обнуление переменных для нового прохода цикла
DZZ=0
ENDFOR
RET ; возврат из ПП
Рис. 60
92
; заготовка 55-X-55, 55-Y-55, Z1=46, Z2=40
T1 D1 M6 ; фреза 10 мм
M3 S1000 F100
; предварительная обработка
G0 G54 X0 Y61 Z1
Z-36
G1 G42 Y20
G3 J-20
G1 G40 Y25
G2 X17.667 Y17.667 CR=25
;
ROT RPL=45
FOR R0=1 TO 4
G1 X25 Y0
G2 I25
G3 X0 Y25 CR=25
G1
AROT RPL=90
ENDFOR
ROT
G0 Z1
FOR R0=1 TO 4
X61 Y0
Z-36
G1 X30
Y-9
X61
Y9
X30
G0 Z1
X61 Y0
AROT RPL=90
ENDFOR
ROT
G0 Z0
X0 Y0
; PIRAMIDA (ROKR, HH, GRANI, RFR, DZ)
; ROKR - радиус описанной окружности
; HH - высота пирамиды
; GRANI - количество граней
; RFR - радиус фрезы
; DZ - шаг по оси Z
;
PIRAMIDA (20, 36, 3, 5, 3) ; центральная трёхгранная
;
R1=0
FOR R2=4 TO 7 ; остальные, начиная с четырехгранной,
; против часовой стрелки
93
AROT RPL=R1+45
ATRANS X50
X0 Y0
PIRAMIDA (20, 36, R2, 5, 3) ; количество граней передается через параметр R2
TRANS
R1=R1+90
ENDFOR
G0 Z50 M5
M30
Рис. 61
94
5.3. Подпрограмма фрезерования полу- и части сферы
Условия:
Рис. 62
R – радиус сферы
r – радиус фрезы,
α – текущий угол.
Главная программа.
Фрезерование полусферы и части (меньшей) сферы (рис. 63)
Рис. 63
96
TRANS X55 Y0
X0 Y0
ATRANS Z-11.84
G1 Z0
SFERA (20, 5, 70, 2)
TRANS
G1 X81 Y25 ; подчистка
Z-25
G1 X28
X30
Y-25
X28
X80
G0 Z50 M5
M30
Рис. 64
97
ЗАКЛЮЧЕНИЕ
Ну вот, пожалуй, и всѐ. Полагаю, что для студентов, которых наши «педагогини»
всѐ ещѐ держат за детей, хотя это пятипудовые парнишки длиной под два метра, и
которые считают, что тангенс это фамилия зарубежного писателя, а Пифагор – позывной
советского разведчика, действовавшего во время Великой отечественной войны на
территории Греции (а может и был такой?), вполне достаточно. Хотелось бы, чтобы
эта книжка принесла какую-нибудь пользу.
98
ПРИЛОЖЕНИЕ
99
Рис. 65
100
Вырезать из листа фрезой диаметром 6 мм Т-образные элементы.
У нас получилась основная программа в 15 кадров. Причем количество кадров
в УП остаѐтся постоянным независимо от количества горизонтальных и вертикальных
рядов элементов.
101
Рис. 67
102
Рис. 68
103
Рис. 69
104
Рис. 70
105
Рис. 71
106
Рис. 72
107
Рис. 73
108
ЛИТЕРАТУРА
109