Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Fanuc SOi mate-md

.pdf
Скачиваний:
929
Добавлен:
21.03.2015
Размер:
6.94 Mб
Скачать

B-64144RU/01

ПРОГРАММИРОВАНИE

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

15.6.2

Когда выдается G66, задающий модальный вызов, то после

Модальный вызов

выполнения блока, задающего перемещение, осуществляется

вызов макропрограммы. Это продолжается до появления G67,

(G66)

отменяющего модальный вызов.

 

 

 

 

G66 P p L ℓ <аргумент-определение> ;

 

Р : Номер вызываемой программы

 

ℓ : Количество повторов (по умолчанию 1)

 

Аргумент : Данные, переданные в макропрограмму

 

O0001 ;

 

O9100 ;

 

:

 

:

 

G66 P9100 L2 A1.0 B2.0 ;

G00 Z-#1 ;

 

G00 G90 X100.0 ;

 

G01 Z-#2 F300 ;

 

Y200.0 ;

 

:

 

X150.0 Y300.0 ;

 

:

 

G67 ;

 

:

 

:

 

:

 

M30 ;

 

M99 ;

Пояснения

D Вызов

S После G66 укажите в P адресе номер программы, к которой

 

будет применен модальный вызов.

SЕслитребуетсяввестиколичествоповторов, вадресеL можно задать число от 1 до 9999.

SАналогично простомувызову (G65), данные, передаваемыев макропрограмму, задаются с использованием аргументов.

D Отмена

Если задан G67, то в последующих блоках модальные вызовы

 

макропрограмм выполняться не будут.

D Вложение вызова

Можно представить вызовы в виде вложений до четырех

 

уровней, включая простые вызовы (G65) и модальные вызовы

 

(G66). Вызовы подпрограмм (M98) не включаются.

D Вложение модального

Модальные вызовы могут быть представлены в виде вложений

вызова

посредством ввода другого G66 во время модального вызова.

Ограничения

S Невозможно вызватьникакую макропрограммувблокеG66.

 

S Перед любым аргументом необходимо задать G66.

 

S Нельзя вызвать никакую макропрограмму в блоке,

 

содержащем, например, такой код, как смешаннаяфункция,

 

которая не вызывает перемещения вдоль оси.

SЛокальные переменные (аргументы) можно задать только в блоках G66. Обратите внимание на то, что каждый раз при выполнении модального вызова локальные переменные заново не устанавливаются.

307

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

ПРОГРАММИРОВАНИE

B-64144RU/01

 

 

 

Образец программы Такая же операция, как и постоянный цикл сверления G81, можетбытьсозданаспомощью макропрограммыпользователя, и тогда программа обработки производит модальный макровызов. Для упрощения программы, все данные по сверлению указываются с абсолютными значениями.

Постоянный цикл состоит из

Ускоренный подвод

 

 

следующих основных операций:

Рабочая подача

 

Операция 1

Операция 1

Положение I

Расположения вдоль осей X и Y

 

 

Операция 2

Операция 2 Операция 4

Быстрый переход к точке R

 

Положение R

Операция 3

R

 

Z=0

Рабочая подача на точку Z

Операция 3

 

 

Операция 4

 

Положение Z

Быстрый переход к точке Rили I

 

Z

 

 

D Формат вызова

G65 P9110 X x Y y Z z R r F f L l ;

X: X координата отверстия

(только абсолютное определение) . . . . . . . . . . . . . . . . (#24) Y: Y координата отверстия

(только абсолютное определение) . . . . . . . . . . . . . . . . (#25) Z: Координаты положения Z

(только абсолютное определение) . . . . . . . . . . . . . . . . (#26)

R:Координаты положения R

(только абсолютное определение)(#18)

 

F: Скорость рабочей подачи . . . . . . . . . . . . . . . . . . . . . . . . .

(#9)

 

L : Количество повторов

 

D Программа,

O0001 ;

 

вызывающая

G28 G91 X0 Y0 Z0 ;

 

макропрограмму

G92 X0 Y0 Z50.0 ;

 

 

G00 G90 X100.0 Y50.0 ;

 

 

G66 P9110 Z-20.0 R5.0 F500 ;

 

 

G90 X20.0 Y20.0 ;

 

 

X50.0 ;

 

 

Y50.0 ;

 

 

X70.0 Y80.0 ;

 

 

G67 ;

 

 

M30 ;

 

D Макропрограмма

O9110 ;

 

(вызванная

#1=#4001 ; . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . ХранитG00/G01.

программа)

#3=#4003 ; . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . ХранитG90/G91.

 

#4=#4109 ; . . . . . . . . . . . . . . .

Хранит скорость рабочей подачи.

 

#5=#5003 ; . . . . ХраниткоординатуZ призапускесверления.

 

G00 G90 Z#18; . . . . . . . . . . . .

. . . . . Размещениев положение R

 

G01 Z#26 F#9; . . . . . . . . . . . . .

. . Рабочая подача в положение Z

 

IF[#4010 EQ 98]GOTO 1; . . . .

. . . . . . . . . Возврат в положение I

 

G00 Z#18; . . . . . . . . . . . . . . . .

. . . . . Размещениев положение R

 

GOTO 2;

 

 

N1 G00 Z#5; . . . . . . . . . . . . . . . .

. . . . . Размещение в положение I

N2 G#1 G#3 F#4; . . . Восстанавливаетмодальную информацию.

M99 ;

308

B-64144RU/01

ПРОГРАММИРОВАНИE

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

 

 

 

15.6.3

Вызов макропрограммы с использованием G-кода

Ввод номера G-кода, используемого для вызова макропро- граммы в параметре, позволяет вызвать макропрограмму способом, аналогичным простому вызову (G65).

O0001 ;

O9010 ;

:

:

G81 X10.0 Y20.0 Z-10.0 ;

:

:

:

M30 ;

N9 M99 ;

Параметр ном. 6050 = 81

 

Пояснения

Если установить номер G кода от 1 до 9999, используемого для

 

вызова макропрограммы, (с O9010 по O9019) в соответст-

 

вующем параметре (с ном. 6050 по ном. 6059), макропрограмма

 

может быть вызвана также, как и при помощи G65.

 

Например, если параметр задан таким образом, что с помощью

 

G81 можно вызвать макропрограмму О9010, то не изменяя

 

программу обработки, можно вызвать цикл, созданный

 

пользователем с помощью макропрограммы.

D Соотношение между

 

 

 

 

 

номерами параметров

 

 

 

 

 

 

Номер программы

Номер параметра

 

и номерами программ

 

 

 

 

 

 

 

 

O9010

 

6050

 

 

 

 

 

 

 

O9011

 

6051

 

 

 

O9012

 

6052

 

 

 

O9013

 

6053

 

 

 

O9014

 

6054

 

 

 

O9015

 

6055

 

 

 

O9016

 

6056

 

 

 

O9017

 

6057

 

 

 

O9018

 

6058

 

 

 

O9019

 

6059

 

D Повтор

 

 

 

 

 

Аналогично

простому вызову, можно задать в адресе L

 

количество повторов от 1 до 9999.

D Указание аргумента

Аналогично

простому вызову, имеется два типа указания

 

аргумента: Тип I указания аргумента и тип II указания

 

аргумента. Типуказанияаргументаопределяетсяавтоматически

 

согласно используемым адресам.

Ограничения

 

 

 

 

 

D Вложение вызовов с

В программе, вызванной с помощью G-кода, нельзя вызвать

использованием

макропрограмму с помощью G-кода. G-код в такой программе

G-кодов

рассматривается в качестве обычного G-кода. В программе,

 

вызваннойвкачествеподпрограммыс помощью МилиТ-кода,

 

нельзя вызвать макропрограмму с помощью G-кода. G-код в

 

такой программе также рассматривается в качестве обычного

 

G-кода.

 

 

 

309

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

ПРОГРАММИРОВАНИE

B-64144RU/01

 

 

 

15.6.4

Вызов макропрограммы с использованием М-кода

Пояснения

DСоотношение между номерами параметров и номерами программ

D Повтор

D Указание аргумента

Ограничения

Ввод номера М-кода, используемого для вызова макропро- граммы в параметре, позволяет вызвать макропрограмму способом, аналогичным простому вызову (G65).

O0001 ;

O9020 ;

:

:

M50 A1.0 B2.0 ;

:

:

:

M30 ;

M99 ;

Параметр ном. 6080 = 50

 

Если установить номер M кода от 1 до 99999999, используемого длявызовамакропрограммы(с9020 по9029) всоответствующем параметре (с ном. 6080 по ном. 6089), макропрограмма может быть вызванатаким же способом, как и с помощьюпод- программы G65.

Номер программы

Номер параметра

 

 

O9020

6080

O9021

6081

O9022

6082

O9023

6083

O9024

6084

O9025

6085

O9026

6086

O9027

6087

O9028

6088

O9029

6089

 

 

Аналогично простому вызову, можно задать в адресе L количество повторов от 1 до 9999.

Аналогично простому вызову, имеется два типа указания аргумента: Тип I указания аргумента и тип II указания аргумента. Типуказанияаргументаопределяетсяавтоматически согласно используемым адресам.

SМ-код, используемый для вызова макропрограммы, должен задаваться в начале блока.

SВ макропрограмме, вызванной с помощью G-кода, или в программе, вызваннойв качествеподпрограммы с помощью М или Т-кода, нельзя вызвать макропрограмму с помощью М-кода. М-код в такой макропрограмме или программе рассматривается в качестве обычного М-кода.

310

B-64144RU/01

ПРОГРАММИРОВАНИE

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

 

 

 

15.6.5

Вызов подпрограммы с использованием М-кода

Ввод в параметре номера М-кода, используемого для вызова подпрограммы (макропрограммы), позволяет вызвать макро- программу способом, аналогичным вызову подпрограммы

(М98).

O0001 ;

O9001 ;

:

:

M03 ;

:

:

:

M30 ;

M99 ;

Параметр ном. 6071 = 03

 

Пояснения

Ввод М-кода под номером от 1 до 99999999, используемого для

 

вызова подпрограммы в параметре (с ном. 6071 по ном. 6079)

 

позволяет вызвать соответствующую макропрограмму пользо-

 

вателя (с O9001 по O9009) таким жеспособом, каки с помощью

 

применения M98.

DСоотношение между номерами параметров и номерами программ

D Повтор

D Указание аргумента

D M-код

Ограничения

Номер программы

Номер параметра

 

 

O9001

6071

O9002

6072

O9003

6073

O9004

6074

O9005

6075

O9006

6076

O9007

6077

O9008

6078

O9009

6079

 

 

Аналогично простому вызову, можно задать в адресе L количество повторов от 1 до 9999.

Указание аргументов не допускается.

М-код в такой вызванной макропрограмме рассматривается в качестве обычного М-кода.

В макропрограмме, вызванной с помощью G-кода, или в программе, вызванной с помощью М или Т-кода, нельзя вызвать никакую подпрограмму с помощью М-кода. М-код в такой макропрограмме или программе рассматривается в качестве обычного М-кода.

311

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

ПРОГРАММИРОВАНИE

B-64144RU/01

 

 

 

15.6.6

Вызовы подпрограммы с использованием Т-кода

Выбрав в параметре вызов подпрограмм (макропрограмм) с помощьюТ-кода, можновызыватьмакропрограммукаждыйраз при указании в программе обработки Т-кода.

O0001 ;

O9000 ;

:

:

T23 ;

:

:

:

M30 ;

M99 ;

Разряд 5 параметра ном. 6001 = 1

 

Пояснения

D Вызов

Установка разряда 5 TCS параметра ном. 6001 на 1 позволяет

 

вызвать макропрограмму O9000, когда в программе обработки

 

задан Т-код. Т-код, заданный в программе обработки,

 

присваивается общей переменной #149.

Ограничения

В макропрограмме, вызванной с помощью G-кода, или в про-

 

грамме, вызванной с помощью М или Т-кода, нельзя вызвать

 

никакую подпрограмму с помощью Т-кода. Т-код в такой

 

макропрограмме или программе рассматривается в качестве

 

обычного Т-кода.

312

B-64144RU/01

ПРОГРАММИРОВАНИE

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

 

 

 

15.6.7

Образец программы

Условия

Проверка операции

D Установка параметра

DУстановка значения переменной

DПрограмма, вызывающая макропрограмму

Используя функцию вызова подпрограммы, в которой применяются М-коды, можно измерить совокупное время использования каждого инструмента.

S Измеряется совокупное время использования каждого инструмента с номером от T0 до T05. Для инструментов с номерами больше, чем Т05, измерение не проводится.

SДля записи в память номеров инструментов и измеренного времени используются следующие переменные:

#501

Совокупное время использования инструмента номер 1

#502

Совокупное время использования инструмента номер 2

#503

Совокупное время использования инструмента номер 3

#504

Совокупное время использования инструмента номер 4

#505

Совокупное время использования инструмента номер 5

SОтсчет времени использования начинается, когда задана команда М03, и завершается, когда заданакоманда М05. Для измерения времени, в течение которого горит лампа пуска цикла, используется системнаяпеременная #3002. Время, на которое работа станка приостановлена в результате блокировки подачи или операции остановки единичного блока, не учитывается, однако время, используемое для смены инструментов и приспособлений-спутников, включается.

Установите 3 в параметре ном. 6071 и 05 в параметре ном. 6072. Установите 0 в переменных #501 - #505.

O0001 ;

T01 M06;

M03 ;

M05 ; . . . . . . . . . . . . . . . . . . . . . Изменяет #501.

T02 M06;

M03 ;

M05 ; . . . . . . . . . . . . . . . . . . . . . Изменяет #502.

T0300 M06;

M03 ;

M05 ; . . . . . . . . . . . . . . . . . . . . . Изменяет #503.

T0400 M06;

M03 ;

M05 ; . . . . . . . . . . . . . . . . . . . . . Изменяет #504.

T0500 M06;

M03 ;

M05 ; . . . . . . . . . . . . . . . . . . . . .

Изменяет #505.

M30;

 

313

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

ПРОГРАММИРОВАНИE

B-64144RU/01

 

 

 

Макропрограмма (вызванная программа)

O9001(M03); . . . . . . Макрокоманда, задающая начало отсчета.

M01;

IF[#4120 EQ 0]GOTO 9; . . . . . . . . . . . . . . . . Инструмент не задан

IF[#4120 GT 5]GOTO 9; . . Номер инструмента вне диапазона.

#3002=0; . . . . . . . . . . . . . . . . . . . . . . . . . . . . Обнуляет таймер.

N9 M03; . . . . . . . . . . Вращаетшпиндельвпрямомнаправлении.

M99 ;

O9002(M05); . . . Макрокоманда, задающаязавершениеотсчета.

M01;

IF[#4120 EQ 0]GOTO 9; . . . . . . . . . . . . . . Инструмент не задан.

IF [#4120 GT 5] GOTO 9 ; . . Номер инструмент вне диапазона.

#[500+#4120]=#3002+#[500+#4120];

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Рассчитываетсовокупноевремя.

N9 M05; . . . . . . . . . . . . . . . . . . . . . . . . .

Останавливаетшпиндель.

M99 ;

 

314

B-64144RU/01

ПРОГРАММИРОВАНИE

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

 

 

 

15.7

ОБРАБОТКА

МАКРООПЕРАТОРОВ

Для чистовой обработки ЧПУ предварительно считывает оператор ЧПУ, подлежащий выполнению следующим. Эта операция называется буферизацией. В режиме управления с расширеннымпредварительнымпросмотромAI ЧПУпредвари- тельно считывает не только следующий блок, но несколько блоков. Также в режиме коррекции на режущий инструмент (G41, G42), ЧПУ считывает предварительно операторы ЧУ вперед на два или три блока, чтобы найти точки пересечения, даже если ЧПУ не находится в режиме управления с расширенным предварительным просмотром AI. Макроопера- торы арифметических выражений и условные переходы обрабатываются с момента их считывания в буфер. Поэтому, время выполнения макрооператора не всегда совпадает с установленным порядком.

В блоках, содержащих M00, M01, M02 или M30, и в блоках, содержащих M-коды, для которых буферизация прекращается установкойпараметра(ном. 3411-3432), ивблоках, содержащих предупреждающие G-коды буферизации например, G53, ЧПУ останавливается, чтобы после этого произвести предваритель- ную считку оператора ЧПУ. Затем обеспечивается приоста- новление выполнения макрооператора до тех пор, пока подобные M- или G-коды не закончат его выполнение.

15.7.1

Подробности выполнения ЧПУ операторов и макрооператоров

DЕсли следующий блок не записывается в буфер (не записываются в буфер M-коды, G53, G31, и т.д.)

 

> N1 G31 X100.0 ;

Выполнение

N1

 

 

 

 

N2 #100=1

 

 

 

 

:

оператора ЧУ

 

 

 

 

 

 

 

 

N2

 

 

Выполнение

 

 

 

 

> : Выполняемый блок

 

 

 

 

 

 

 

 

макрооператора

 

 

 

 

Буфер

 

 

 

 

 

 

 

 

 

ПРИМЕЧАНИЕ

Если вам необходимо выполнить макрооператор послезавершенияблока, носразупередмакроопера- тором, укажите сразу перед макрооператором такой M- или G-код, который не записывается в буфер. Особенно, в случае считывания / записи системных переменных в контрольные сигналы, координаты, значения коррекции, и т.д, этот процесс может изменить данные о системных переменных на время выполнения оператора ЧПУ. Чтобы этого избежать, укажите подобные M- или G-коды перед макро- оператором, если необходимо.

315

15. МАКРОПРОГРАММА ПОЛЬЗОВАТЕЛЯ

ПРОГРАММИРОВАНИE

 

 

B-64144RU/01

D Запись следующего

 

 

 

 

 

 

 

блока в буфер в

>

N1 X100.0 ;

 

 

 

N1

N4

режиме, кроме

 

Выполнение

 

 

N2 #1=100 ;

 

 

 

режима коррекции на

 

оператора ЧУ

 

 

 

режущий инструмент

 

N3 #2=200 ;

 

 

 

 

 

N4 Y200.0 ;

 

 

N2

N3

 

(G41, G42) (обычно

 

 

Выполнение

 

 

:

 

 

 

 

предварительно

 

 

 

макрооператора

 

 

 

 

 

 

 

 

 

 

считывается один

 

 

 

Буфер

 

 

N4

блок)

 

 

 

 

 

 

>

: Выполняемый блок

 

 

 

 

 

 

 

 

j : Блок, считанный в буфер

 

 

 

 

Когда выполняется N1, следующий оператор ЧУ (N4) считыва-

 

етсявбуфер. Операторымакропрограмм(N2, N3) междуN1 иN4

 

обрабатываются во время выполнения N1.

 

 

DЗапись в буфер следующего блока в режиме коррекции на режущий инструмент

(G41, G42)

> N1 G01 G41 G91 X50.0 Y30.0 F100 Dd ;

N2 #1=100 ;

 

 

> : Выполняемый блок

N3 X100.0 ;

 

 

j : Блоки, считанные в буфер

N4 #2=200 ;

 

 

 

N5 Y50.0 ;

 

 

:

 

 

 

 

 

Выполнение

 

 

 

 

 

 

N1

 

 

 

 

 

N3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

оператора ЧУ

 

 

N2

 

 

 

N4

 

 

 

 

 

 

Выполнение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

макрооператора

 

 

 

N3

 

 

 

N5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Буфер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Когда выполняется N1, в буфер считываются операторы ЧУ в следующихдвухблоках(доN5). Макрооператоры(N2, N4) отN1 до N45 обрабатываются в процессе выполнения N1.

316

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]