ПРОГРАММИРОВАНИЕ МЕТОДОМ ПОДПРОГРАММ
Программирование на базе разрабатываемых подпрограмм. Методы программирования для многоцелевых станков сводятся к разделению операции на отдельные этапы, общность которых определяется используемым инструментом. Это позволяет составлять РТК для отдельных инструментов, выделяя для обработки последовательно не только плоскости обрабатываемой детали в целом, но и отдельные ее элементы в пределах одной плоскости. В общей УП программы обработки отдельными инструментами связывают между собой соответствующими командами, определяющими смену инструмента, поворот или наклон детали, линейное ее смещение, изменение в режиме работы элементов станка, замену столов-спутников и др.
При составлении УП возможно покадровое программирование всей обработки от начала до конца, что обычно и делается для сравнительно простых деталей. Однако программирование удобно вести по этапам (по элементам детали или по инструментам), определяя отдельные этапы как подпрограммы. Каждой такой подпрограмме можно присвоить номер и ввести ее в УЧПУ или с основной УП или с пульта УЧПУ. Тогда основная УП будет состоять из отдельных подпрограмм и кадров, обеспечивающих взаимосвязь в общем порядке обработки всей детали. Такой метод, когда УП составляется из отдельных, сравнительно независимых массивов информации, более прост, чем покадровое программирование всей обработки в целом. При программировании допускается меньше ошибок, да и исправление их более простое, поскольку можно исправлять или редактировать одну подпрограмму, не касаясь всей УП в целом. Кроме того, достаточно просто, меняя места подпрограмм в основной УП, менять общий порядок обработки всей детали.
Все разработанные подпрограммы после их использования могут быть выведены на какой-либо программоноситель. При повторении партии деталей, для которых были разработаны подпрограммы, их можно снова использовать,
При необходимости откорректировав.
Программирование с использованием типовых подпрограмм и постоянных циклов. Современные УЧПУ повышенного класса, предназначенные для многоцелевых станков, кроме определенного объема памяти для введения разрабатываемых подпрограмм имеют достаточно большой набор (до 150) постоянных подпрограмм. Постоянные подпрограммы, составленные для различных инструментов, охватывают наиболее часто повторяющиеся схемы и циклы обработки. Как правило, постоянные подпрограммы выражены в формальных параметрах, с помощью которых и задается действительная траектория движения инструмента. В зависимости от модели УЧПУ постоянные подпрограммы или вводятся в память устройства извне, например с помощью программоносителя (перфоленты, магнитной ленты), или находятся в памяти УЧПУ постоянно. Имеющиеся для данного УЧПУ подпрограммы, оформленные в виде каталога, приложены к инструкции по программированию, или могут быть вызваны из памяти ЭВМ УЧПУ в виде своеобразного меню. Каждая из подпрограмм имеет свой кодовый номер, по которому и вызывается в кадрах УП для обработки данной детали.
Использование постоянных подпрограмм значительно упрощает программирование и сокращает время работы. Кроме того, снижается частота ошибок программирования.
Типовые подпрограммы для различных УЧПУ сравнительно одинаковы. Они могут отличаться принятыми схемами траекторий инструмента и видом используемых формальных параметров. Наиболее часто формальные параметры задаются латинскими буквами R, Р или Е с двух - или трехзначными числами или специальными знаками (например, знаком диез) с цифрами после них. Обычно каждая типовая подпрограмма имеет определенный формат, которым записывается и вызывается при необходимости в кадрах основной УП. Типовые подпрограммы могут быть оформлены как
7=
W
X
4=
W
IfS
72
120
Постоянные циклы со сложным форматом кадра для их осуществления.
Пример 1. Обработка прямоугольного паза (рис. 9.13, а). Подпрограмма представлена как пЛтоянный цикл, параметры которого задаются по определенным адресам, а сам цикл вызывается кодом G87.
Формат кадра вызова
Q87 X...У..Л...В...R...I...J...
К...F...S...Т...М...
В кадре по адресам X —R задаются размеры паза и недоход фрезы до торца детали (В). По адресу I задаются проценты от диаметра примененной фрезы (не более 40),
W
100
120
Рис. 9.13. Схемы обработки прямоугольного паза: а — типовая схема; б — соосные пазы; В — сдвинутые пазы
По адресу J —условный код —1 или 1, определяющий направление обхода контура, К — припуск по глубине, снимаемый за один ход, F, S — режимы обработки, Т — код инструмента, М (М06) — команда на его установку. Начальная точка исполнения цикла — центр паза.
На основе цикла можно построить УП для обработки достаточно сложных деталей. Например, для детали с концентрично расположенными пазами (рис. 9.13,6) фрагмент УП может быть следующим:
N15 Т0404 S1200 МОЗ М06 LF N20 G87 Х120. Y80. Z-10. B2.R12.
130 К10. J-l F60 LF N25 G79 XI50. Y-90. Z0. LF N30 G87 Х100. Y60. Z-10. В2. R12.
130 К10. J-L F45 LF N35 G79 Х150. Y-90. Z-10. LF N40 G87 Х80. Y40. Z-10. В2. R12.
130 К10. J-L F45 LF N45 G79 Х150. Y-90. Z-20. LF N50 G00 Z2. LF -
Во |
Sj Z |
Здесь кадр N15 задает инструмент, например фрезу диаметром 15 мм (код 04, корректор 04), частоту вращения шпинделя, направление вращения (по часовой стрелке) и команду на установку инструмента. Кадры N20, N30, N40 задают параметры постоянного цикла (G87) в соответствии с размерами пазов. Напомним, что параметр I задается в % от диаметра фрезы. Кадры N25, N35,
N45 осуществляют запуск этих циклов в работу (код G79) с указанием координат точки запуска (X, Y, Z) в принятой системе координат детали.
Для детали, размеры элементов которой можно представить в определенном масштабе (рис. 9.13, в), программу достаточно удобно составить с введением масштабных коэффициентов. и функции G70 (активизация этих коэффициентов). Фрагмент программы:
N6 Т0303 S1500 ИОЗ М06 LF N6 G87 Х100. Y80. Z-10. В2. R10.
135. К5. J-L F60 LF N7 G79 Х-120. Y-95. ZO. LF N8 U0.6 V0.8 W2.0 LF N9 G70 LF N10 G20 Р6 Q7 R1 LF N11 00.4 V0.6 W3.0 LF N12 G20 Р6 Q7 R1 LF N13 G71 LF
Кадр N5 — задание инструмента и параметров его работы. Кадр N6 — введение цикла G87 для первого паза. Кадр N'7 — выполнение цикла, указание точки запуска. Кадр N8 — введение масштабных коэффициентов соответственно по осям X, У, Z [U, V, W). Кадр N9 кодом G70 активизирует эти коэффициенты на все дальнейшие значения координат с адресами X, Y, Z, кроме равных нулю. Кадр N10 указывает на повтор (код G20) кадров УП с номера N6 (номер кадра начала повтора задается с адресом Р) по N7 (номер кадра конца повтора задается с адресом Q; с адресом R задано количество повторов). Поскольку кадром N8 указаны масштабные коэффициенты, то кадр N10 будет отработан с пересчетом всех значений с адресами X, Y, Z. Таким образом, будет обработан второй паз с размерами х = 100-0,6 = 60 мм; у = 80-0,8 = = 64 мм; г= 10-2 = 20 мм; координаты точки запуска: х= — 120-0,6= —72 мм; у=— 95Х Х0,8=—76 мм. Координата г точки запуска остается прежней (равной нулю), так как на нулевые начальные значения действие масштабных коэффициентов не распространяется.
Кадр N11 вводит новые масштабные коэффициенты по осям X, У, Z, которые учитываются при исполнении команд кадра N12. Поскольку кадр N12 задает параметры по первому (исходному) пазу, то размеры пересчитываются исходя из данных кадров N6 и N7. Таким образом, обрабатывается третий паз с размерами х— 100-0,4 = 40 мм; у = 80-0,6 = 48 мм; г= 10-3 = 30 мм; точка запуска имеет координаты: х= — 120-0,4 = = -48 мм; у= -95-0,6= —39 мм.
В кадре N13 функцией G71 отменяется действие всех масштабных коэффициентов.
Пример 2. Обработка шпоночного паза (рис. 9.14). Подпрограмма представлена как постоянный цикл с форматом кадра вызова
Г"
L
Рис. 9.14. Схема обработки шпоночного паза
G88 X...Y...Z...B...K...F...S...
Т...М...
Характер адресов кадра аналогичен предыдущему случаю.
Пример 3. Обработка по внутреннему прямоугольному контуру (рис. 9.15). Подпрограмма составлена в формальных параметрах и имеет следующий вид:
L101
N1 Ев=Е2-Е4 Е9=Е1-К3 Е10=Е2-ЕЭ
N2 G1 Y-=E5
N3 G43 Х=Е4
N4 G41 Z-=E8
N5 G3 Х0 Z-=E2 R=S4
Рис. 9.15. Схема обработки по внутреннему прямоугольному контуру |
Тура по окружности 01 Х-=Е9
G3 Х-=Е1 Z-=E10 R=E3 01 Z=E10
03 Х-=Е9 Z=E2 R=E3 01 Х=Е9
03 Х=Е1 Z=E10 R=E3 01 Z-=E10 03 X=E9 Z~=K2 R-E3 G1 XO
03 X-=E4 Z-=E8 R=E4
01 ZO
G40
XO
Рис. 9.17. Схема обработки внутреннего кон' тура с профилем полуокружности |
GO Y=E6 M17
Вызов подпрограммы осуществляется форматом
L101 Е1=...Е2-..,ЕЗ=..,Е4=...Е5=. . . У Е6=...
Значения формальных параметров ясны из рисунка. Для запуска подпрограммы инструмент должен быть позиционирован в точку 0.
Пример 4. Обработка внутреннего контура по окружности (рис. 9.16). Подпрограмма составлена в формальных параметрах и имеет следующий вид:
L103 |
|||
N1 G18 |
E5=E1-E2 |
||
N2 G1 |
Y-=E3 |
||
N3 G43 |
X=E2 |
||
N4 G41 |
Z-=E5 |
||
N5 G3 |
XO Z-=E1 |
• R: |
=E2 |
N8 |
XO Z-=E1 |
10 |
КО |
N7 |
X~=E2 Z-- |
=E5 |
R=E2 |
N8 G1 |
ZO |
||
N9 G40 |
|||
N10 |
XO |
N11 GO Y=E4 Ml7
Вызов подпрограммы осуществляется форматом
L103 Е1=...12г..,ЕЗ=...Е4=...
Значения формальных параметров ясны из рисунка. Для запуска подпрограммы инструмент должен быть позиционирован в точку 0.
Пример 5. Обработка внутреннего контура с профилем полуокружности (рис. 9.17). Подпрограмма, составленная в формальных параметрах, будет иметь вид:
L07
N1 R01=B01-B09 LF
N2 GOO 064 091 041 D=R48 X=-R01
Y=R09 LF N3 R01=R01+R09 LF
N4 G03 X=R09 Y=-R09 10 J=-R09
F=R15 LF N5 X=R01 Y=-R01 I=R01 JO LF
N6 X=R01 Y=R01 10 J=R01 LF
N7 X=-R09 Y=R09 I=-R09 10 LF
N8 R01=R01-R09 LF
N9 GOO 040 X=-R01 Y=-R09 LF N10 R01=R01+R09 Ml7 LF
Кадр N1—определение координаты х точки 1. Кадр N2 — смещение инструмента на ускоренном ходу (G00) в точку / из точки 0. При этом задаются диаметр фрезы по адресу D (параметр R48), коррекция слева от контура (G41), отсчет размеров в приращениях (G91), коррекция подачи (G64).
Кадр N3 — восстановление значения параметра R01. Кадры N4 — N7 — движение инструмента с рабочей подачей (параметр R15) по элементам окружностей между точками 1—5. Кадр N8 — определение координаты х точки 5. Кадр N9 — возврат инструмента в точку 0. Кадр N10 — восстановление значения параметра R01, завершение подпрограммы (Ml7).
С учетом использования рассмотренной подпрограммы фрагмент основной УП может иметь вид:
N10 GOO Х120. Y80. Z-10. LF
N15 L07 R01=50 R09=20 R48=5 R15=20 LF
N20 G90 Z10. LF
Программирование с использованием типовых подпрограмм и определением уровней. При задании параметров подпрограмм необходимо четко их определить. Это касается не только данных программируемой траектории, но и некоторых дополнительных элементов, в частности различных уровней. Уровни (рис. 9.18, а) задаются, как и данные траектории, относительно осей системы координат, определенной для данного момента (для данной подпрограммы) в основной УП.
Уровень позиционирования (РЕ) — Уровень, на котором инструмент находится перед началом подпрограммы. Обычно этот уровень не задается в подпрограмме, он определяется в основной УП или координатой положения инструмента после его установки в шпинделе, или положением шпинделя в позиции замены инструмента. В некоторых УЧПУ уровень позиционирования можно фиксировать определенной командой (например, G74) с указанием координат по осям X, Y и Z.
N{I> G74 Х{Ху} Y{Yy} Z{Ze}
По этой команде отменяются все ранее заданные команды, и инструмент приходит в точку, определенную координатами х, у, Z в абсолютной системе координат станка. Команда G74 действительна только в данном кадре; на последующие кадры восстанавливается действие ранее указанных команд, например на сдвиг нуля и др.
Уровень позиционирования в некоторых УЧПУ может быть указан по оси Z числовым значением параметра РО — или в подпрограмме, или в основной УП.
Безопасный уровень (SE) —уровень недохода инструмента, устанавливаемый на некотором расстоянии от поверхности детали. До этого уровня инструмент по командам подпрограммы опускается на ускоренном ходу. Обычно он задается параметром Р1 (рис. 9.18, б) или адресом R и указывает координату по оси Z (по оси инструмента) в заданной для данной подпрограммы системе координат. В отдельных подпрограммах относительно безопасного уровня может быть задано рабочее перемещение (рабочая глубина) — параметр Р2 или адрес Z (на рис. 9.18, а в квадратных скобках).
А) |
Рис. 9.18. Схема для определения уровней при отработке подпрограммы на многоцелевых станках |
Рабочий уровень (АЕ) — уровень работы инструмента по заданному циклу.
Рис. 9.19. Схема для обработки детали на многоцелевом станке с использованием постоянных подпрограмм |
Он может определяться положением инструмента в конце рабочего хода с рабочей подачей (рис. 9.18, а, б). При осевой обработке это уровень завершения рабочего движения сверла, зенкера, развертки, метчика, расточного резца и др. В таком случае положение рабочего уровня относительно безопасного определено рабочей глубиной — длиной обработки, включая размер (глубину) обрабатываемой поверхности, недоход и пере -
Рис. 9.20. Схема к подпрограмме L50 для фрезерования плоскости |
Бег инструмента. Если подпрограмма отрабатывается в плоскости (фрезерование, подрезка торцов и др.), рабочий уровень определяет исходное для обработки положение инструмента (рис. 9.18, в). Это положение задается с учетом глубины резания на данном проходе, положения фрезы при контурной обработке и т. п.
Уровень АЕ задается параметром Р2 или координатой Z (ZAE) относительно базовой плоскости.
RE — уровень возврата инструмента После завершения цикла обработки. Он может, быть определен координатой Z (ZRE) или параметром РЗ относительно базовой плоскости.
Используя постоянные подпрограммы, достаточно просто составить общую УП для обработки детали.
Пример 6. Составление общей УП с использованием постоянных подпрограмм. Пусть необходимо отфрезеровать плоскость детали и просверлить несколько отверстий, располагаемых в ряд и по окружности (рис. 9.19). Для составления общей УП можно использовать три постоянные подпрограммы, выраженные в формальных параметрах.
Подпрограмма L50 для фрезерования плоскости (рис. 9.20) обеспечивает выполнение операции в соответствии с траекторией, заданной различными параметрами. По команде подпрограммы фреза позиционируется в исходную точку 0, заданную координатами Р4 и Р5. При этом первая линия продольного хода инструмента может быть расположена под углом Р6. Длина продольного хода определяется параметром Р7, а расстояние между линиями продольного хода — параметром Р8. Параметр Р66 задает подачу инструмента, параметр Р71 указывает номер корректора, параметр Р76 — характер перемещения по дорожкам (код 2 — перемещение по часовой стрелке, код 3 — перемещение против часовой стрелки), параметр Р50 определяет количество дорожек (продольных ходов). В конце подпрограммы инструмент будет находиться в конечной точке последней дорожки (точка 5 на рис. 9.20).
Подпрограмму L94, для сверления отверстий, расположенных на одной прямой (рис. 9.21), можно использовать и для других видов обработки отверстий: зенкерования, развертывания, растачивания, нарезания резьбы. Для этого необходимо указать параметром Р20 вид постоянного цикла осевой обработки (81 — сверление; 84 — резьбонаре - зание; 85 — растачивание и т. д.). Как и в предыдущем случае, все размеры постоянной подпрограммы L94 выражены формальными параметрами. Параметр Р51 указывает коли
чество отверстий в строке (по оси X), а параметр Р52 — количество строк (по оси Y). Осевая коррекция задается параметром Р71.
Подпрограмма L95 для сверления отверстий (рис. 9.22) обеспечивает выполнение операции при размещении отверстий по окружности радиуса Р14. Первое отверстие расположено под углом Р15 к оси X, угловое расстояние между отверстиями — Р16.
Общая УП для обработки детали, показанной на рис. 9.19. может быть записана следующим образом:
* LF
N10 Q90 Т0111 LF
N20 S1200 М06 LF
N30 L50 F2,0 Р4.80 Р5.-90 Р6,90
Р7.660 Р8,160 Р50,3 Р66,140 P71.ll Р76,2 Р3.18 LF N40 G90 ТО201 LF N60 S450 F45. МО6 LF N60 [>94 Pl,2 Р2.-16 РЗ, 17 Р4,45 Р5,60 Р10.60 Р11.65 Р51.4 Р62.4 Р71,1 LF N70 L95 Pl,3 Р2.-34 Р3,20 Р4.446
Р6,225 Р14,100 Р15,45 Р16.45 Р51,8 Р71.1 LF N80 G90 ТО302 LF N90 S400 F60. МО6 LF N100 G20 Р70 Q70 К1 LF N110 МО 2 LF
P1D |
Tp)—о~...
РЮ РЮ
Рис. 9.21. Схема к подпрограмме L94 для обработки отверстий, расположенных на прямой
Фрагмента УГ1 записывается по адресу Р, а конечного — по адресу Q. Поскольку в данном случае вызывается один кадр (N70), то в кадре N100 по адресам Р и Q будет одно и то же число —70.
Z |
По команде Q20 кадр N70 вызывается из памяти УЧПУ и отрабатывается. Поскольку в кадре N70 была записана подпрограмма L95, то она и будет отработана зенкером. Кадр N110 завершает УП.
■RE
------- SE
Первыми кадрами вызывается фреза диаметром 180 мм (код Т01, корректор 11) и задается частота вращения шпинделя 1200 об/мин.
Кадром N30 вызывается постоянная подпрограмма L50 и указываются значения ее формальных параметров.
Кадрами N40 и N50 вызывается сверло диаметром 18 мм (код Т02, корректор 01), задаются режимы сверления: частота вращения шпинделя 450 об/мин; подача 45 мм/мин.
Кадром N60 вызывается подпрограмма L94 для сверления параллельных отверстий и указываются значения ее формальных параметров.
Кадром N70 по подпрограмме L95 осуществляется сверление отверстий на диаметре 200 мм сверлом диаметром 18 мм.
Кадрами N80 и N90 вызывается зенкер диаметром 20 мм (код Т03, корректор 02) и задаются режимы зенкерования.
АЕ |
Рис. 9.22. Схема к подпрограмме L95 для обработки отверстий, расположенных по окружности |
В кадре N100 указано (команда R1), что кадр N70 повторяется один раз. Фрагмент программы, вызываемый на повтор, задается номерами кадров. Номер начального кадра