FANUC серия 0i-MC. РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ - часть 45

 

  Главная      Книги - Разные     FANUC серия 0i-MC. РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ (B-64124RU/01)

 

поиск по сайту            правообладателям  

 

 

 

 

 

 

 

 

 

 

 

содержание      ..     43      44      45      46     ..

 

 

 

FANUC серия 0i-MC. РУКОВОДСТВО ПО ЭКСПЛУАТАЦИИ - часть 45

 

 

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

15.

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

B--64124RU/01

330

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

II

В типе

II

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

, B

и

C,

каждая один раз

,

а

I, J

и

K

используются до десяти раз

.

Тип

II

указания аргумента используется для передачи в качестве
аргументов таких значений

,

как трехмерные координаты

.

A
B
C

I

1

J

1

K

1

I

2

J

2

K

2

I

3

J

3

#1
#2
#3

#4
#5

#6
#7
#8

#9
#10

#11

K

3

I

4

J

4

K

4

I

5

J

5

K

5

I

6

J

6

K

6

I

7

#12
#13
#14

#15
#16

#17
#18
#19

#20
#21

#22

J

7

K

7

I

8

J

8

K

8

I

9

J

9

K

9

I

10

J

10

K

10

#23
#24
#25

#26
#27

#28
#29
#30

#31
#32

#33

Адрес

Номер
пере

--

менной

Адрес

Номер
пере

--

менной

Адрес

Номер
пере

--

менной

S

Нижние индексы

I, J

и

K

для обозначения порядка указания

аргумента не записываются в фактической программе

.

Перед аргументом необходимо задать

G65.

ЧПУ внутренне идентифицирует тип

I

или тип

II

указания аргу

-

мента

.

Если комбинация типа

I

и типа

II

указания аргумента

,

то

применяется тип указания аргумента

,

заданный последним

.

Пример

G65 A1.0 B2.0 I--3.0 I4.0 D5.0 P1000;

<

Переменные

>

#1:1.0
#2:2.0
#3:
#4:--3.0
#5:
#6:
#7:

В этом примере для переменной

#7

запрограммированы оба

аргумента

-- I4.0

и

D5.0,

действующим является последний

D5.0.

5.0

Единицы

,

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

,

передаваемых

без десятичной точки

,

соответствуют наименьшему вводимому

приращению в каждом адресе

.

Значение аргумента

,

передавае

-

мого без десятичной точки

,

может варьироваться в зависимости

от системной конфигурации станка

.

Рекомендуется использо

-

вать десятичные точки в аргументах вызовов макропрограмм в
целях поддержания программной совместимости

.

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

,

включая простые вызовы

(G65)

и модальные вызовы

(G66).

Вызовы подпрограмм

(M98)

не включаются

.

S

Предусмотрено вложение переменных

0 - 4

уровня

.

Ограничения

D

Формат

D

Комбинация типа

I

и

II

указания аргумента

D

Положение
десятичной точки

D

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

D

Уровни локальных
переменных

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

B--64124RU/01

15.

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

331

S

Уровень основной программы

- 0.

S

Каждый раз при вызове макропрограммы

(

с помощью

G65

или

G66)

уровень локальной переменной увеличивается на

единицу

.

В ЧПУ хранятся значения локальных переменных

предыдущих уровней

.

S

Если М

99

выполняется в макропрограмме

,

то управление

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

.

В этот момент

уровень локальной переменной уменьшается на единицу

;

а

значения локальных переменных

,

сохраненные при вызове

макропрограммы

,

восстанавливаются

.

O0001 ;

:

#1=1 ;

G65 P2 A2 ;

:

:

M30 ;

O0002 ;

:

#1=2;

G65 P3 A3 ;

:

:

M99 ;

O0003 ;

:

#1=3;

G65 P4 A4 ;

:

:

M99 ;

O0004 ;

:

#1=4;

G65 P5 A5 ;

:

:

M99 ;

O0005 ;

#1=5;

:
:

:

M99 ;

#1

1

:

:

#33

#1

2

:

:

#33

#1

3

:

:

#33

#1

4
:

:

#33

#1

5
:

:

#33

#100--, #500--

Основная
программа

(

уровень

0)

Макропрог

--

рамма

(

уровень

1)

Макропрог

--

рамма

(

уровень

2)

Макропрог

--

рамма

(

уровень

3)

Макропрог

--

рамма

(

уровень

4)

Локальные
переменные

(

уровень

0)

(

Уровень

1)

(

Уровень

2)

(

Уровень

3) (

Уровень

4)

Общие переменные

Переменные

,

которые могут считываться и записы

--

ваться в макропрограммах на различных уровнях

Создается макропрограмма

,

которая сверлит

H

отверстия с

интервалами

,

равными

B

градусам

,

после угла запуска

,

равного

A

градусам вдоль окружности круга с радиусом

I.

Центр круга

(X,Y).

Команды могут быть указаны либо в абсолютном режиме

,

либо в режиме приращения

.

Чтобы сверлить по часовой

стрелке

,

укажите отрицательное значение для

B.

H=3

H=4

H=2

H=1

А

В

В

Центр

(X,Y)

Радиус

I

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

(

цикл болтового

отверстия

)

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

15.

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

B--64124RU/01

332

G65 P9100 X x Y y Z z R r F f I i A a B b H h ;

X: X

координата центра круга

(

абсол

.

определение или определение приращ

.)

(#24)

. . . .

Y : Y

координата центра круга

(

абсолютное значение или значение приращения

)

(#25)

. .

Z:

Глубина отверстия

(#26)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

R:

Координаты точки приближения

(#18)

. . . . . . . . . . . . . . . . .

F :

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

(#9)

. . . . . . . . . . . . . . . . . . . . . . . .

I :

Радиус окружности

(#4)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A:

Угол запуска сверления

(#1)

. . . . . . . . . . . . . . . . . . . . . . . . .

B:

Угол приращения

(

по час

.

стрелке

,

когда задано отрицательное знач

.)

(#2)

.

H:

Число отверстий

(#11)

. . . . . . . . . . . . . . . . . . .

O0002 ;
G90 G92 X0 Y0 Z100.0;
G65 P9100 X100.0 Y50.0 R30.0 Z-50.0 F500 I100.0 A0 B45.0 H5;
M30;

O9100 ;

#3=#4003 ;

Хранит

G

код группы

3.

. . . . . . . . . . . . . . . . . . . . . .

G81 Z#26 R#18 F#9 K0;

(

Примечание

)

Цикл сверления

.

. . . . . .

Примечание

: L0

также может использоваться

.

. . . . . . . . . . . .

IF[#3 EQ 90]GOTO 1;

Переходит к

N1

в режиме

G90.

. . . . . . . . .

#24=#5001+#24;

Рассчитывает координату

X

центра

.

. . . . . . . .

#25=#5002+#25;

Рассчитывает координату

Y

центра

.

. . . . . . . .

N1 WHILE[#11 GT 0]DO 1;

До тех пор

,

пока число оставшихся отверстий не достигнет

0

. .

#5=#24+#4*COS[#1];

Рассчитывает сверления на оси

X.

. . . .

#6=#25+#4*SIN[#1];

Рассчитывает сверления на оси

Y.

. . .

G90 X#5 Y#6;

Выполн

.

сверел

.

после перемещ

.

в положение

.

#1=#1+#2;

Обновляет угол

.

. . . . . . . . . . . . . . . . . . . . . . . .

#11=#11-1 ;

Уменьшает количество отверстий

.

. . . . . . . . . . .

END 1 ;
G#3 G80;

Возвращает

G

код в исходное состояние

.

. . . . . . . . .

M99 ;

Значение переменных

:

#3 :

Хранит

G

код группы

3.

#5: X

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

#6: Y

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

D

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

D

Программа

,

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

D

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

(

вызванная

программа

)

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

B--64124RU/01

15.

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

333

Когда выдается

G66,

задающий модальный вызов

,

то после

выполнения блока

,

задающего перемещение

,

осуществляется

вызов макропрограммы

.

Это продолжается до появления

G67,

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

.

O0001 ;

:

G66 P9100 L2 A1.0 B2.0 ;

G00 G90 X100.0 ;
Y200.0 ;

X150.0 Y300.0 ;
G67 ;

:

M30 ;

O9100 ;

:

G00 Z--#1 ;

G01 Z--#2 F300 ;

:

:
:
:

M99 ;

G66 P p L

<

аргумент

--

определение

> ;

P :

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

:

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

(

по умолчанию

1)

Аргумент

:

Данные

,

переданные в макропрограмму

S

После

G66

укажите в

P

адресе номер программы

,

к которой

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

.

S

Если требуется ввести количество повторов

,

в адресе

L

можно

задать число от

1

до

9999.

S

Аналогично простому вызову

(G65),

данные

,

передаваемые в

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

,

задаются с использованием аргументов

.

Если задан

G67,

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

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

.

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

,

включая простые вызовы

(G65)

и модальные вызовы

(G66).

Вызовы подпрограмм

(M98)

не включаются

.

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

G66

во время модального вызова

.

S

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

G66.

S

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

G66.

S

Нельзя

вызвать

никакую

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

в

блоке

,

содержащем

,

например

,

такой код

,

как смешанная функция

,

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

.

S

Локальные переменные

(

аргументы

)

можно задать только в

блоках

G66.

Обратите внимание на то

,

что каждый раз при

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

.

15.6.2

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

(G66)

Пояснения

D

Вызов

D

Отмена

D

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

D

Вложение модального
вызова

Ограничения

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

15.

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

B--64124RU/01

334

Такая же операция

,

как и постоянный цикл сверления

G81,

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

,

и тогда программа обработки производит модальный макровы

-

зов

.

Для упрощения программы

,

все данные по сверлению

указываются с абсолютными значениями

.

Z=0

R

Z

Постоянный цикл состоит из следующих
основных операций

:

Операция

1

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

X

и

Y

Операция

2

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

R

Операция

3

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

Z

Операция

4

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

R

или

I

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

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

Операция

1

Положение

I

Операция

2

Операция

4

Положение

R

Операция

3

Положе

--

ние

Z

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

:

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

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;

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 ;

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

D

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

D

Программа

,

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

D

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

(

вызванная

программа

)

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

B--64124RU/01

15.

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

335

Ввод номера

G-

кода

,

используемого для вызова макро

-

программы в параметре

,

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

способом

,

аналогичным простому вызову

(G65).

O0001 ;

:

G81 X10.0 Y20.0 Z--10.0 ;

:

M30 ;

O9010 ;

:
:

:

N9 M99 ;

Параметр ном

. 6050 = 81

Если установить номер

G

кода от

1

до

9999,

используемого для

вызова макропрограммы

, (

с

O9010

по

O9019)

в соответству

-

ющем параметре

(

с ном

. 6050

по ном

. 6059),

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

может быть вызвана также

,

как и при помощи

G65.

Например

,

если параметр задан таким образом

,

что с помощью

G81

можно вызвать макропрограмму О

9010,

то не изменяя

программу обработки

,

можно вызвать цикл

,

созданный

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

.

O9010
O9011
O9012

O9013
O9014

O9015
O9016
O9017

O9018
O9019

6050
6051
6052

6053
6054

6055
6056
6057

6058
6059

Ном

.

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

.

параметра

Аналогично простому вызову

,

можно задать в адресе

L

количество повторов от

1

до

9999.

Аналогично простому вызову

,

имеется два типа указания

аргумента

:

Тип

I

указания аргумента и тип

II

указания

аргумента

.

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

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

.

В программе

,

вызванной с помощью

G-

кода

,

нельзя вызвать

макропрограмму с помощью

G-

кода

. G-

код в такой программе

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

G-

кода

.

В программе

,

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

-

кода

,

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

G-

кода

. G-

код в

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

G-

кода

.

15.6.3

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

G-

кода

Пояснения

D

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

D

Повтор

D

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

Ограничения

D

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

G-

кодов

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

15.

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

B--64124RU/01

336

Ввод номера М

-

кода

,

используемого для вызова макро

-

программы в параметре

,

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

способом

,

аналогичным простому вызову

(G65).

O0001 ;

:

M50 A1.0 B2.0 ;

:

M30 ;

O9020 ;

:
:

:

M99 ;

Параметр ном

. 6080 = 50

Если установить номер

M

кода от

1

до

99999999,

используемого

для вызова макропрограммы

(

с

9020

по

9029)

в соответствующем

параметре

(

с ном

. 6080

по ном

. 6089),

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

быть вызванатаким же способом

,

как и с помощью

-

подпрограммы

G65.

O9020
O9021
O9022

O9023
O9024

O9025
O9026
O9027

O9028
O9029

6080
6081
6082

6083
6084

6085
6086
6087

6088
6089

Ном

.

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

.

параметра

Аналогично простому вызову

,

можно задать в адресе

L

количество повторов от

1

до

9999.

Аналогично простому вызову

,

имеется два типа указания

аргумента

:

Тип

I

указания аргумента и тип

II

указания

аргумента

.

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

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

.

S

М

-

код

,

используемый для вызова макропрограммы

,

должен

задаваться в начале блока

.

S

В макропрограмме

,

вызванной с помощью

G-

кода

,

или в

программе

,

вызванной в качестве подпрограммы с помощью

М или Т

-

кода

,

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

М

-

кода

.

М

-

код в такой макропрограмме или программе

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

-

кода

.

15.6.4

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

-

кода

Пояснения

D

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

D

Повтор

D

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

Ограничения

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

B--64124RU/01

15.

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

337

Ввод в параметре номера М

-

кода

,

используемого для вызова

подпрограммы

(

макропрограммы

),

позволяет вызвать макро

-

программу способом

,

аналогичным вызову подпрограммы

(

М

98).

O0001 ;

:

M03 ;

:

M30 ;

O9001 ;

:

:

:

M99 ;

Параметр ном

. 6071 = 03

Если установить номер

M-

кода от

1

до

99999999

для вызова

подпрограммы

в

параметре

(

ном

.6071

-

ном

.

6079),

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

(O9001-O9009)

может быть вызвана таким же способом

,

как и с помощью

M98.

O9001
O9002
O9003

O9004
O9005

O9006
O9007
O9008

O9009

6071
6072
6073

6074
6075

6076
6077
6078

6079

Ном

.

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

.

параметра

Аналогично простому вызову

,

можно задать в адресе

L

количество повторов от

1

до

9999.

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

.

М

-

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

качестве обычного М

-

кода

.

В макропрограмме

,

вызванной с помощью

G-

кода

,

или в

программе

,

вызванной с помощью М или Т

-

кода

,

нельзя

вызвать никакую подпрограмму с помощью М

-

кода

.

М

-

код в

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

-

кода

.

15.6.5

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

-

кода

Пояснения

D

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

D

Повтор

D

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

D

M-

код

Ограничения

 

 

 

 

 

 

 

содержание      ..     43      44      45      46     ..