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

 

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

 

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

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

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

 

 

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

15.

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

B--64124RU/01

338

Выбрав в параметре вызов подпрограмм

(

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

)

с

помощью Т

-

кода

,

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

при указании в программе обработки Т

-

кода

.

O0001 ;

:

T23 ;

:

M30 ;

O9000 ;

:

:

:

M99 ;

Разряд

5

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

. 6001 = 1

Установка разряда

5 TCS

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

. 6001

на

1

позволяет

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

O9000,

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

задан Т

-

код

.

Т

-

код

,

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

,

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

#149.

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

,

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

G-

кода

,

или в

программе

,

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

-

кода

,

нельзя

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

-

кода

.

Т

-

код в

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

-

кода

.

15.6.6

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

-

кода

Пояснения

D

Вызов

Ограничения

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

B--64124RU/01

15.

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

339

Используя функцию вызова подпрограммы

,

в которой

применяются М

-

коды

,

можно измерить совокупное время

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

.

S

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

T0

до

T05.

Для инструментов с

номерами больше

,

чем Т

05,

измерение не проводится

.

S

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

:

#501
#502
#503
#504
#505

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

. 1

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

. 2

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

. 3

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

. 4

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

. 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;

15.6.7

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

Условия

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

D

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

D

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

D

Программа

,

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

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

15.

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

B--64124RU/01

340

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 ;

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

(

вызванная

программа

)

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

B--64124RU/01

15.

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

341

Для чистовой обработки ЧПУ предварительно считывает
оператор ЧПУ

,

подлежащий выполнению следующим

.

Эта

операция называется буферизацией

.

В режиме управления с

расширенным

предварительным

просмотром

AI

ЧПУ

предварительно считывает не только следующий блок

,

но

несколько блоков

.

Также в режиме коррекции на режущий

инструмент

(G41, G42),

ЧПУ считывает предварительно

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

,

чтобы найти точки

пересечения

,

даже если ЧПУ не находится в режиме управления

с

расширенным

предварительным

просмотром

AI.

Макрооператоры арифметических выражений и условные
переходы обрабатываются с момента их считывания в буфер

.

Поэтому

,

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

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

.

В блоках

,

содержащих

M00, M01, M02

или

M30,

и в блоках

,

содержащих

M-

коды

,

для которых буферизация прекращается

установкой параметра

(

ном

. 3411-3432),

и в блоках

,

содержащих

предупреждающие

G-

коды буферизации например

, G53,

ЧПУ

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

,

чтобы

после

этого

произвести

предварительную считку оператора ЧПУ

.

Затем обеспечивается

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

,

пока

подобные

M-

или

G-

коды не закончат его выполнение

.

N1 G31 X100.0 ;

N2 #100=1

:

>

> :

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

Выполнение
оператора ЧУ

Выполнение макрооператора

Буфер

N1

N2

ПРИМЕЧАНИЕ

Если вам необходимо выполнить макрооператор пос

--

ле завершения блока

,

но сразу перед макрооперато

--

ром

,

укажите сразу перед макрооператором такой

M--

или

G--

код

,

который не записывается в буфер

.

Осо

--

бенно

,

в случае считывания

/

записи системных пере

--

менных в контрольные сигналы

,

координаты

,

значения

коррекции

,

и т

.

д

,

этот процесс может изменить данные

о системных переменных на время выполнения опера

--

тора ЧПУ

.

Чтобы этого избежать

,

укажите подобные

M--

или

G--

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

.

15.7

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

15.7.1

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

D

Если следующий блок
не записывается в
буфер

(

не записыва

-

ются в буфер

M-

коды

,

G53, G31,

и т

.

д

.)

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

15.

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

B--64124RU/01

342

N1 X100.0 ;

>

> :

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

j

:

Блок

,

считанный в буфер

Выполнение
оператора ЧУ

Выполнение
макрооператора

Буфер

N1

N2

N3

N4

N2 #1=100 ;
N3 #2=200 ;
N4 Y200.0 ;

:

N4

Когда выполняется

N1,

следующий оператор ЧУ

(N4)

считывается в буфер

.

Операторы макропрограмм

(N2, N3)

между

N1

и

N4

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

N1.

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

>

> :

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

j

:

Блоки

,

считанные в буфер

Выполнение
оператора ЧУ

Выполнение
макрооператора

Буфер

N1

N2

N3

N2 #1=100 ;
N3 X100.0 ;
N4 #2=200 ;

N5 Y50.0 ;

:

N4

N5

N3

Когда выполняется

N1,

в буфер считываются операторы ЧУ в

следующих двух блоках

(

до

N5).

Макрооператоры

(N2, N4)

от

N1

до

N45

обрабатываются в процессе выполнения

N1.

D

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

,

кроме

режима коррекции на
режущий инструмент

(G41, G42) (

обычно

предварительно
считывается один
блок

)

D

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

(G41, G42)

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

B--64124RU/01

15.

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

343

N1 G01 G41 X100.0 G100 Dd ;

>

> :

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

j

:

Блоки

,

считанные в буфер

N1

N2

N3

N2 #1=100 ;
N3 Y100.0 ;
N4 #2=200 ;

N5 M08 ;
N6 #3=300 ;

N7 X200.0 ;

:

N4

N3

N5

N6

N7

Выполнение
оператора ЧУ

Выполнение
макрооператора

Буфер

Когда выполняется

N1,

в буфер считываются операторы ЧУ в

следующих двух блоках

(

до

N5).

Поскольку

N5

является блоком

,

который не вызывает перемещение

,

то невозможно вычислить

точку пересечения

.

В этом случае считываются операторы ЧУ в

следующих трех блоках

(

до

N7).

Макрооператоры

(N2, N4

и

N6)

от

N1

до

N7

обрабатываются в процессе выполнения

N1.

В случае использования следующих системных переменных

(

Таблица

15.7.2)

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

,

если вам необходимо

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

,

непосред

-

ственно перед макропрограммой необходим

M-

код

,

который

предотвращает буферизацию

(

параметры ном

. 3411-3432)

или

блок команды

G53.

Стол

15.7.2

Значение

Считка

Запись

Номер

переменной

Примечание

(

В случае

,

если не задан

M-

код

,

предотвращающий

буферизацию

,

или

G53

блок

.)

Интерфейс

--

ные сигналы

Считка

#1000 -- #1015 ,
#1032

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

.

Запись

#1100 -- #1115 ,
#1132

Данные записываются во
время буферизации
макропрограммы

.

Знач

.

кор

--

рекции на
инстр

--

т

Запись

#10001 --

Данные записываются во
время буферизации
макропрограммы

.

Макросигна

--

лы тревоги

Запись

#3000

Макросигнал тревоги про

--

изводится макс

.

за

2

блока

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

.

D

Если следующий блок
не вызывает
перемещение в
режиме коррекции на
режущий инструмент
С

(G41, G42)

15.7.2

Осторожность в
использовании
системных
переменных

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

15.

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

B--64124RU/01

344

Стол

15.7.2

Значение

Примечание

(

В случае

,

если не задан

M-

код

,

предотвращающий

буферизацию

,

или

G53

блок

.)

Номер

переменной

Считка

Запись

Остановка с
выводом
сообщения

Запись

#3006

Программа останав

--

ливается макс

.

за

2

блока

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

.

Информация
о времени

Считка
Запись

#3001, #3002

Данные считывают

--

ся

/

записываются во время

буферизации
макропрограммы

.

Считка

#3011, #3012

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

.

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

.

работой

Запись

#3003, #3004

Данные по установке
доступны макс

.

за

2

блока

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

.

Установки

Запись

#3005

Данные записываются во
время буферизации
макропрограммы

.

Зеркальное
отображение

Считка

#3007

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

.

Текущая
дополни

--

тельная сис

--

тема коор

--

динат
заготовки

Считка

#4130(P)
#4014

(G54 -- G59)

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

.

Текущее
положение

(

Система

координат
станка

)

Считка

#5021 -- #5028

Считывается
неопределенное
положение в процессе
перемещения

.

Текущее
положение

(

Система

координат
заготовки

)

Считка

#5041 -- #5048

Считывается
неопределенное
положение в процессе
перемещения

.

Значение
коррекции
на инстр

--

т

Считка

#5081 -- #5088

Считывается значение
коррекции текущего
выполняемого блока

.

Отклоненное
положение
сервосис

--

темы

Считка

#5101 -- #5108

Считывается
неопределенное
отклонение в процессе
перемещения

.

Величина
коррекции
точки
отсчета
заготовки

Запись

#5201 -- #5328
#7001 -- #7948

Данные записываются во
время буферизации
макропрограммы

.

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

B--64124RU/01

15.

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

345

Пример

)

O0001

O2000

N1 X10.Y10.;

(Mxx ;)

Укажите М

--

или

G--

коды

,

предотвращающие буферизацию

N2 M98P2000;

N100 #1=#5041; (

Считывание текущего

положения оси

X)

N3 Y200.0;

N101 #2=#5042; (

Считывание текущего

положения оси

Y)

:

:

M99 ;

В вышеуказанном случае

,

происходит буферизация блока

N2,

и

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

O2000

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

N1

выполнения основной программы

O1000.

Поэтому

,

процессы

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

N1.

Таким образом

,

данные о

неожиданном положении могут быть считаны в

#1

и

#2

благодаря перемещению осей

.

В этом случае укажите М

-

код

,

предотвращающий

буферизацию

Mxx

;

(

или

G53

;)

непосредственно перед блоком

N100

программы

O2000.

При

этом

,

данные положения при завершении выполнения блока

N1

могут быть считаны в

#1

и

#2

так как

O2000

выполняется после

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

N1

программы

O0001.

ПРИМЕЧАНИЕ

G53

не может быть указан во время режима

постоянного цикла

. (

В этом случае подается сигнал

тревоги

P/S

ном

. 44).

Поэтому

,

для того

,

чтобы

предотвратить буферизацию во время режима

постоянного цикла

,

укажите

M--

код

,

предотвра

--

щающий буферизацию

.

 

 

 

 

 

 

 

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