Инструкции обработки
Эти инструкции иногда называют технологическими. Их используют для задания параметров, необходимых для определения технологических условий обработки заготовок. Инструкции обработки должны находиться в исходной программе до команд движения. Процессор СПД проверяет синтаксис обработки. Интерпретация (представление) инструкций обработки и их параметров в управляющей программе зависит от постпроцессора станка. Поэтому ряд инструкций обработки не имеют постоянного формата второстепенной части. Он уточняется разработчиками постпроцессоров для того или иного станка и СЧПУ.
Рассмотрим некоторые технологические инструкции, которые имеют постоянный формат второстепенной части.
Формат инструкции определения скорости подачи:
FEDRAT/CKQPOCTb,
Здесь FEDRAT — главное слово, определяющее тип инструкций; СКОРОСТЬ — значение скорости подачи (она может быть задана величиной или идентификатором скалярной переменной) ; МРТ и МРМ — модификаторы, уточняющие, в каких единицах задана скорость: в об/мин (МРТ) или в мм/мин (МРМ).
Например, запись FEDRAT/800, МРМ означает, что после задания инструкции постпроцессор формирует участок управляющей программы с подачей при перемещении рабочих органов станка, равной 800 мм/мин.
Инструкция включения и выключения оборотов шпинделя станка:
ON
SPINDL/
OFF
Здесь SPINDL — главное слово, определяющее тип инструкции: слово ON указывает на включение шпинделя, OFF — на выключение.
Инструкция быстрого перемещения Определяется словом RAPID. Она указывает, что движение должно выполняться с максимально возможной скоростью.
Инструкция определения останова обработки определяется словом STOP. Если в определенном месте исходной программы в СПД указана инструкция STOP, то в соответствующем месте УП будет находиться кадр с командой технологического останова М01 или Ml (в системах ЧПУ, где допускается опускание нулей перед значащей цифрой).
Для задания в УП других технологических команд в СПД используется инструкция определения вспомогательной функции: AUXFUN/НОМЕР, где параметр НОМЕР задает номер технологической команды. Например, если в исходной программе задана инструкция AUXFUN/8, в управляющей программе в определенном месте будет находиться кадр с командой М08 или М8, задающий включение охлаждения.
Для задания в УП выдержки времени в исходной программе задается инструкция определения паузы: DELAY/BPEMH, где параметр ВРЕМЯ задает значение выдержки времени в секундах. Допустим, в исходной программе задано DELAY/2, тогда в управляющей программе будет
сформирован кадр: для системы НЗЗ — кадр N...G 04X + 000200F0560, для системы Н55 —кадр N...G 04Х + 000020.
Для задания команды на перемотку перфоленты после выполнения всей управляющей программы в СПД применяют инструкцию управления перемоткой, которая определяется словом REWIND.
Инструкция определения коррекции траектории позволяет задать необходимый вид коррекции траектории в зависимости от возможностей СЧПУ.
Инструкция задания коррекции через устройство управления станка определяется главным словом CUTCOM, за которым следуют символ / и параметры, указывающие тип коррекции. Параметры, стоящие за символом /, зависят от вида СЧПУ и вводимой коррекции. Строгих требований к параметрам нет, их задает пользователь в дополнениях к инструкции по программированию на СПД ЧПУ в зависимости от выбранного типа станка и СЧПУ, но обычно это кодовые цифры подготовительной функции, определяющие вид коррекции и номер корректора.
Пусть, например, имеется инструкция задания коррекции:
PARTNO/..........................
CLPRNT
FROM/0,0,200
GOTO/ISO,150,200,2000
CUTC0M/4305
GODLTA/O,0,-200,500
Кадры управляющей программы, соответствующие данной исходной информации для станка с ЧПУ, оснащенного системой 2Р32, будут иметь вид:
% N1 G1 Х150000 Y150000 F2000 N2 G43 Z-200000 F500 D5
Отсюда видно, что с помощью инструкции CUTCOM/4305 в управляющую программу введена линейная коррекция по координате 2, работающая со знаком плюс (функция G/43), непосредственное значение коррекции считывается с корректора № 5 (D5).
Ниже приведен пример применения САП СПД ЧПУ.
Рис. 10.23. Пример обработки криволинейного контура |
Пример. Обработка контура с введением коррекции. На рис. 10.23 изображен контур, исходной информацией обработки которого будет следующая:
1 PARTNO/PR1
2 CLPRNT
3 FROM/0,0,200
4 GOTO/I2O,-5,200,2000
5 CUTCOM/0405
6 GODLTA/O,0,-200, 500
7 P1=POINT/100,-5
8 P2=POINT/-3,80
9 P3=POINT/-3,94
10 L1=LINE/100,0,100 , 20
11 L2=LINE/100,15,75,80
12 L3=LINE/0,80,75,80
13 C1=CIRCLE/XSMALL, LI, YSMALL, L2, RADIOS,15
14 C2=CIRCLE/YSMALL, L3,YSMALL, L2, RADIUS,15
15 CONTl=CONTUR/Pl,LI,CCLW, CI,L2, CCLW, C2,L3,P2
16 CUTCOM/RIGHT,11
17 CUTCOM/8110
18 FEDRAT/100,MPM
19 ACT/CONT1
20 CUTCOM/9110
21 GOTO/P3
22 CUTCOM/4005
23 GODLTA/O,0,200,500
24 GOTO/O,0,200,2000
25 FINI
Для станка, оснащенного системой ЧПУ НЗЗ, управляющая программа, соответствующая указанной исходной информации, будет иметь вид:
% N001 G17
N002 GOl Х+012000 Y-000500 F4720 N003 Z-020000 F0650 L405 N004 Х-000900 F0610 L810 N005 Y+002200
N006 G03 Х-000200 Y+001000 1+002600 L010
N007 GOl X-002000 Y+004800
N008 G03 Х-002400 Y+001600 1+002400
J+001000 L010 N009 GOl Х-006800 N010 G50 Y+000300 L810 N011 GO4 F0560 L000 N012 G40 Z+020000 F4650 L405 N013 GOl Х+000300 Y-009400 F0720 N014 F0000 МО2
В полученной УП в кадре N003 вводится коррекция по координате г. Код 4 после адреса L указывает на коррекцию по оси г; 05— номер корректора. Эта коррекция задана в исходной информации (строка 5) инструкцией CUTCOM/0405. Кадром УП N004 фреза подводится к заданному контуру с вводом коррекции на радиус фрезы (L810); коррекция задается в исходной информации (строка 17) инструкцией CUTCOM/8110 (8 — код коррекции; 10 — номер корректора). Предварительно в строке 16 инструкцией CUTCOM/RIGHT. l 1 задается автоматический сдвиг вправо всего описанного контура на 11 мм, что соответствует выбранному радиусу фрезы. Таким образом, с помощью инструкции CUTCOM/ RIGHT,11 обеспечен автоматический расчет эквидистантной поверхности. Программируемыми перемещениями в УП являются перемещение центра фрезы. Сдвиг контура задается модификатором RIGHT или LEFT в зависимости от направления движения инструмента и положения его центра по отношению к контуру.
Инструкция определения матриц преобразования (или матриц трансформации). Данные инструкции определяются главным словом MATRIX, за которым следуют знак / и второстепенная часть, уточняющая один из четырех способов определения матриц преобразования.
Матрица переноса координат. Формат инструкции:
МАТРИЦА=MATRIX/TRANSL,DX,DY,DZ
Идентификаторы dX, dY и dZ задают в виде скалярных констант или скалярных переменных (три составляющие переноса по осям координат). Вспомогательное слово TRANSL указывает способ трансформации — перенос.
Например, инструкция
M1=MATRIX/TRANSL,20,25,30
Описывает матрицу параллельного переноса осей координат в положительном направлении по трем осям: на 20 мм по оси X, на 25 мм по оси У и на 30 мм по оси Z.
Инструкция
М2=MATRIX/TRANSL,0,0, -5
Описывает матрицу параллельного переноса системы координат в отрицательном направлении по оси Z на величину 5 мм.
Инструкция
M3=MATRIX/TRANSL,А, В,С
Указывает, что значения А, В, С должны быть определены заранее.
МАТРИЦА=МШ11Х |
Матрица вращения. Формат инструкции:
"Xzrot]
XYROT > , УГОЛ
YzrotJ
Для сокращения объема информации при подготовке исходных данных для САП СПД ЧПУ и других современных систем автоматического программирования применяют особые инструкции. Умелое пользование ими позволяет в значительной степени сократить время на подготовку программы.
Здесь УГОЛ — скалярное значение, определяющее угол вращения; XZROT, XYROT и YZROT — вспомогательные слова, указывающие способ вращения в плоскостях XOZ, XOY и YOZ соответственно.
Например, инструкция
Ml=MATRIX/XYROT,30,5
Описывает матрицу поворота системы координат на угол 30°30' против часовой стрелки от положительного направления оси X.
Идентификатор матрицы может быть индексированным, например:
М(I)=MATRIX/XYROT,10*(1+5)
Здесь описан массив матриц, где каждому значению I соответствует матрица с определенным значением угла поворота координат.
Матрица совместного вращения и переноса. Возможен более общий случай описания матриц преобразования координат. Это матрица совместного вращения и переноса. Формат инструкции:
/ F XYROT ^
МАТРИЦА=MATRIX / J XZROT 1.УГОЛ, / I YZROT )
TRANSL,DX,DY,DZ
Здесь идентификаторы УГОЛ, dX, dY и dZ задают соответственно угол вращения и три составляющие переноса.
Матрица вращения и переноса может быть сложной, т. е. представлять собой композицию из двух предварительно определенных матриц:
MATPH4A=MATRIX, «,
МАТРИЦА1,МАТРИЦА2
Где МАТРИЦА 1 и МАТРИЦА 2 — идентификаторы предварительно определенных матриц вращения и переноса.
Матрица симметрии относительно прямой. Формат инструкции:
MATPHI1A=MATRIX/ &
MIRROR,ПРЯМАЯ
Идентификатор ПРЯМАЯ задает предварительно определенную прямую, относительно которой осуществляется преобразование — симметрия, вспомогательное слово MIRROR указывает тип преобразования — зеркальное отображение.
Инструкция ввода матрицы. Чтобы программируемые движения происходили в измененной (трансформированной) системе координат согласно описанным ранее в исходной программе матрицам преобразования, перед началом программирования различных движений используют инструкцию, которая вводит
Рис. 10.24. Пример обработки контура с использованием матрицы поворота координат |
В действие необходимую матрицу. Формат инструкции ввода матрицы:
TRACUT/MATPHliA
Здесь МАТРИЦА — идентификатор матрицы преобразования координат, описанной ранее.
Инструкция отмены матрицы. Если при последующих движениях необходимо вернуться к старой (непреобразован- ной) системе координат, в исходной информации задают инструкцию отмены действия той или иной матрицы:
TRACUT/NOMORE
Все последующие движения будут происходить в старой системе координат.
Ниже приведены примеры, доказывающие, что с помощью матриц преобразования координат объем исходной информации программы сокращается вдвое.
Пример 1. Программирование обработки диска с использованием матрицы поворота. Фрезой диаметром 18 мм необходимо обработать две одинаковые и профильные выемки на диске радиусом = 100 мм (рис. 10.24). Исходная информация для УП, на которой будет обрабатываться данная деталь:
1 |
PARTNO/PR2 |
2 |
CLPRNT |
3 |
FROM/0,0,150 |
4 |
PQ=POINT/0,0 |
5 |
L1=LINE/P0,ATANGL,-60 |
6 |
C1--CIRCLE/0.0,113 |
7 |
Pl=POINT/XLARGE, INTOF, hi,CI |
8 |
L2=LINE/P1,PERPTO,LI |
9 |
L3=LINE/PARLEL, LI, YLARGE,14 |
10 P2=POINT/INTOF, L2,L3
11 P20=POINT/XGEOF(P2),YGEOF(P2),150
12 C2=CIRCLE/0,0,70
13 L4=LINE/P0,ATANGL,45
14 C3=CIRCLE/0,0,102
15 P4=POINT/YLARGE, INTOF, L4,C3
16 L5=LINE/PARLEL, L4,XLARGE,14
17 L6=LINE/P4,PERPTO, L5
18 P5=P0INT/INT0F, L5,L6
19 C4=CIRCLE/XLARGE, LI, YSMALL, OUT, C2,RADIUS,10
20 C5=CIRCLE/YSMALL, L4,YLARGE, OUT, C2,RADIUS,10
21 CONTl=CONTUR/Pl,LI,CLW, C4,CCLW, C2,CLW, C5,L4,P4
22 Ml=MATRIX/XYROT, 165
23 GOTO/P2O,1200
24 GODLTA/0,0, -150, 500
25 CUTCOM/RIGHT,9
Рис. 10.25. Пример обработки контура с использованием матрицы симметрии относительно Прямой |
26 CUTCOM/8110
27 |
FEDRAT/80,MPM |
28 |
ACT/CONTl |
29 |
CUTCOM/9110 |
30 |
GOTO/P5 |
31 |
GODLTA/O,0,150, 500 |
32 |
TRACUT/Ml |
33 |
GOT0/P20,1200 |
34 |
GODLTA/O,0,-150,500 |
35 |
CUTCOM/RIGHT,9 |
36 |
CUTCOM/8110 |
37 |
FEDRAT/80,MPM |
38 |
ACT/CONTl |
39 |
CUTCOM/9110 |
40 |
GOTO/P5 |
41 |
TRACUT/NOMORE |
42 |
GODLTA/O,0,150,500 |
43 |
GOTO/O,0,150,1200 |
44 |
FINI |
Из приведенных данных видно, что описание второй профильной выемки не потребовалось, так как она идентична первой, лишь повернута относительно нее на угол 165°. Поэтому в исходной программе в строке 22 описана матрица поворота Ml, а в строке 32 эта матрица введена в действие посредством инструкции TRACUT/M1. Все последующие перемещения выполняются в преобразованной системе координат.
Пример 2. Программирование обработки контура с использованием матрицы симметрии. Необходимо обработать замкнутый профиль (рис. 10.25). Характерная особенность про
филя состоит в том, что обе его половины симметричны относительно оси X. Фреза имеет диаметр 18 мм. С помощью матрицы симметрии относительно прямой составляют программу САП обработки данного профиля:
1 FARTNO/PR3
2 CLPRNT
3 FROM/0,0,150
4 PO^POINT/O,0,0
5 Pl=POINT/195,-5
6 P2=POINT/195,5
7 P3=POINT/-50,0
8 P30=POINT/210,-5
9 P4=P0INT/36,50
10 P5=POINT/105,50
11 P6=POINT/180,0
12 L1=LINE/195,0,195,20
13 L20=LINE/P6,ATANGL,-45
14 L2=LINE/PARLEL, L20,XLARGE,15
15 L3=LINE/0,50,40,50
16 L4=LINE/P5,ATANGL,45
17 L5=LINE/0,38,40,38
18 L6=LINE/P4,ATANGL,-45
19 L0=LINE/0,0,20,0
20 C1=CIRCLE/180,0,15
21 C2=CIRCLE/XSMALL, L2,YSMALL, L3,
21 RADIUS,5
22 C3=CIRCLE/XLARGE, L4,YSMALL, L3,
22 RADIUS,5
23 C4=CIRCLE/XSMALL, L4,YSMALL, L5,
23 RADIUS,10
24 C5=CIRCLE/XLARGE, L6,YLARGE, L5,
24 RADIUS,10
25 C6-CIRCLE/XSMALL, L6,YSMALL, L3,
25 RADIUS,5
26 C7=CIRCLE/0,0,50
27 CONTl=CONTUR/Pl,LI,CCLW, CI,L2, 27 CCLW, C2, L3, CCLW, C3, L4 , CLW, C4, L5,
27 CLW, C5,L6,CCLW, C6,L3,CCLW, C7,P3
28 CONT2=CONTUR/P3, CLW, C7, L3, CLW, C6, 28 L6,CCLW,C5,L5,CCLW,C4,L4,CLW, C3,
28 L3,CLW, C2,L2,CLW, CI,LI,PI
29 Ml=MATRX/MIRROR, L0
30 GOTO/207,-5,150,1200 -
31 GODLTA/O,0,-150,500
32 CUTCOM/RIGHT,9
33 CUTCOM/8110
34 FEDRAT/80,MPM
35 ACT/CONT1
36 TRACUT/M1
37 CUTCOM/LEFT,9
38 ACT/CONT2
39 CUTCOM/9110
40 GOTO/P3Q
41 TRACUT/NOMORE
42 GODLTA/O,0,150,500
43 GOTO/O,0,150,1200
44 FINI
В программе один и тот же контур описан дважды: в прямом направлении (CONT1) и в обратном (CONT2). Этот контур определяет верхнюю половину профиля детали. Строка 36 программы вводит матрицу симметрии — TRACUT/M1, и по команде ACT/CONT2 строки 38 происходит обработка контура, симметричного описанному в программе.
Условные переходы. К особым инструкциям, упрощающим программирование сложных деталей, относятся и условные переходы. Формат инструкции: IF (арифметическое выражение), МЕТКА 1, МЕТКА 2, МЕТКА 3. Здесь МЕТКА — идентификатор, состоящий из символов (от одного до пяти). Метка отделяется от инструкции закрывающей скобкой «)». Инструкция определяет переход на одну из строк, помеченных указанными метками, в зависимости от значения арифметического выражения. Если оно отрицательное, переходят на инструкцию с меткой МЕТКА 1; если значение арифметического выражения равно нулю, следует переходить на инструкцию МЕТКА 2; если значение арифметического выражения положительное, надо переходить на инструкцию МЕТКА 3. С помощью условных переходов можно в лаконичной форме описать многократно повторяющийся циклический процесс или определить массив геометрических элементов. Следует отметить, что инструкции с применением геометрических идентификаторов могут находиться в цикле только в том случае, если идентификатор индексированный и значение индекса сменяется при каждом выполнении инструкции цикла.
Пример 3. Вариант использования инструкции условного перехода. Пусть необходимо в каких-то прикладных целях определить координаты точек пересечения двух заданных прямых с двадцатью концентрическими окруж-
PL21(20Y |
Рис. 10.26. Пример определения координат |
J7°J0'
65 18
Точек пересечения двух прямых с массивом окружностей
Ностями, причем радиусы окружностей возрастают по закону арифметической прогрессии:
/?,=/?; = R3 = R2 + D;...;
На рис. 10.26 изображены концентрические окружности: 15,5 мм; Ri = Ri--- + 2,2 мм, т. е. d = 2,2 мм; t = 20 (г — количество окружностей). Две прямые проходят через центр окружностей под углами 37°30' и — 65° 18' (знак минус говорит об отрицательном направлении угла по отношению к оси X). При расчете исходной информации на ЭВМ на печать должны быть выведены координаты всех точек пересечения прямых с окружностями. Вывод на печать канонических параметров геометрических элементов осуществляется на стадии работы процессора.
На рис. 10.26 приняты следующие обозначения: С (I) — массив концентрических окружностей от С(1) до С(20); PL1 (I) —массив точек в IV квадранте — пересечение прямой
L1 с массивом C(I); PL11(I) —массив точек во II квадранте — пересечение прямой L1 с массивом C(I); PL2(1) — массив точек в 1 квадранте — пересечение прямой L2 с массивом С(1); PL21 (I) — массив точек в III квадранте — пересечение прямой L2 с массивом С(1).
Исходная информация для определения координат точек:
1 PARTN0/PR4
2 CLPRNT
3 RESERV/C,20,PL1,20,PL11,20,PL2,20,
3 PL21.20
4 PO^POINT/O,0
5 L1=LINE/P0,ATANGL,-65.3
6 L2=LINE/P0.ATANGL,37.5
7 DLT=0
9 C(I)=CIRCLE/0,0,15+DLT
10 PL1(I)=POINT/XLARGE, INTOF, LI,C(I)
11 PL11(I)=POINT/XSMALL,INTOF,LI,С(I)
12 PL2(I)=POINT/XLARGE, INTOF, L2,C(I)
13 PL21(I)=POINT/XSMALL, INTOF, L2,C(I)
14 DLT=DLT+2.2
15 1=1+1
16 IF(I-20)10,10,20
17 FEDRAT/1200.MPM
18 FINI
Обработка исходной информации на ЭВМ позволяет получить координаты массива точек.
В строке 3 используется рабочая инструкция RESERV, которая определяет массив переменных через идентификатор и максимальное число индекса. В рассматриваемом примере имеется пять массивов: С(I), PL1 (I), PL11 (I), PL2 (I), PL21 (I). Максимальное число индекса 1 = 20. В строках 7 и 8 начальные условия: DLT = 0; 1 = 1. В строке 9 при первом считывании геометрическая инструкция определения окружности имеет вид: C(l) =CIRCLE/0,015, так как 1 = 1 и DLT = 0. Аналогично при первом считывании определяются точки пересечения прямых L1 и L2 с окружностью С (1).
Далее в строке 14 происходит накопление DLT(DLT = DLT + 2,2), а в строке 15 — увеличение индекса I на единицу (1 = 14-1). В строке 16 работает инструкция условного перехода, которая анализирует арифметическое выражение (1 — 20). Если (I— 20) <0 или (I — 20) =0, происходит переход на метку 10 и повторяется определение всех геометрических элементов с увеличением на 2,2 значения DLT в инструкции определения окружности. Такой циклический процесс выполняется последовательно при значениях I от 1 до 20. Как только I окажется больше 20, т. е. (/— 20) > 0, произойдет переход на метку 18, которой отмечена рабочая инструкция FINI — конец программы.
Из приведенного примера видно, что если бы не использовалась инструкция условного перехода для организации последовательно повторяющегося цикла, в исходной программе пришлось бы задать 20 инструкций определения окружностей и 60 инструкций определения точек. Таким образом, достигнуто значительное сокращение исходной информации.