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

 

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

 

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

 

 

 

 

 

 

 

 

 

 

 

содержание      ..     46      47      48      49     ..

 

 

 

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

 

 

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

15.

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

B--64124RU/01

354

ПРИМЕЧАНИЕ

Для получения информации о схемах запуска по сос

--

тоянию

и по

фронту импульса

,

см

. ”

Сигнал

прерывания с помощью макропрограммы

(UINT)”.

Существует два типа прерываний с помощью макпропрограмм

пользователя

:

Прерывания типа подпрограммы и прерывания

типа

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

.

Используемый

тип

прерывания

выбирается с помощью

MSB (

разряда

5

параметра

6003).

(a)

Прерывание типа подпрограммы

Програм

.

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

.

Это означ

.,

что

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

.

(a)

Прерывание типа макропрограммы

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

-

зователя

.

Это означает

,

что уровни локальных переменных ме

-

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

.

Этот тип прерывания не включ

.

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

.

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

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

,

этот вызов включ

.

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

-

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

.

Нельзя передать аргументы из теку

-

щей программы

,

даже если прерывание с помощью макропрог

-

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

.

Как правило

,

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

-

программы пользователя осуществляется посредством М

96

и

М

97.

Тем не менее

,

эти М

-

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

-

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

(

напр

.,

в качес

-

тве М

-

функции или М

-

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

).

По этой

причине

,

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

-

коды для управления прерывани

-

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

MPR (

разряд

4

параметра

6003).

При вводе этого параметра для

того

,

чтобы использовать М

-

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

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

,

заданным параметра

-

ми

,

установите параметры

6033

и

6034

следующим образом

:

Задайте в параметре

6033

М

-

код

,

разрешающий прерывание с

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

,

и задайте в параметре

6034

М

-

код

,

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

-

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

.

При данной установке М

-

коды

,

задавае

-

мые параметрами

,

не используются

,

а М

96

и М

97

используются

в качестве М

-

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

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

6033

и

6034.

М

-

коды

,

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

-

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

,

проходят внутреннюю обработку

.

С

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

использовать другие М

-

коды

,

кроме М

96

и М

97,

для управления

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

.

15.11.2

Описание функций

Пояснения

D

Прерывание типа
подпрограммы и
прерывание типа
макропрограммы

D

M-

коды для

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

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

B--64124RU/01

15.

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

355

При выполнении прерывания с помощью макропрограммы

пользователя он

,

возможно

,

пожелает прерывать выполнение

оператора ЧУ

,

а другой пользователь

,

возможно

,

не пожелает

выполнить прерывание до завершения выполнения текущего

блока

. MIN

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

:

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

.

(i)

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

(UINT),

то любые

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

,

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

.

(ii)

Если в программе прерывания имеются операторы ЧУ

,

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

,

и в программе

прерывания выполняется оператор ЧУ

.

Если управление

возвращается к прерванной программе

,

выполн

.

программы

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

,

след

.

за прерванным блоком

.

(iii)

Если в программе прерывания не имеется операторов ЧУ

,

с

помощью

М

99

происходит

возврат

управления

к

прерванной программе

,

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

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

.

Процесс
выполнения

Обычная программа

Прерванная макропрограммой

Процесс
выполнения

Сигнал прерывания

(UINT)

Перезапуск команды ЧПУ

;

при отсутствии
операторов ЧУ в

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

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

(i)

Если выполняемый блок не является блоком

,

состоящим из

циклических операций

,

напр

.,

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

-

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

.

возвратом в референтное положение

(G28),

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

.

образом

:

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

(UINT),

немедленно

выполн

.

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

,

если

только в программе прерывания не встречается оператор
ЧУ

.

Операторы ЧУ не выполн

.

до заверш

.

текущего блока

.

(ii)

Если выполняемый блок состоит из нескольких цикличес

-

ких операций

,

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

.

образом

:

Когда начинается последнее перемещение в циклических
операциях

,

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

-

операторы

,

если только не встречается оператор ЧУ

.

Опера

-

торы ЧУ выполняются после заверш

.

всех операций

.

D

Прерывания с
помощью
макропрограммы
пользователя и
операторы ЧУ

Тип

I

(

прерывание

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

середине блока

)

Тип

II

(

прерывание

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

блока

)

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

15.

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

B--64124RU/01

356

Процесс
выполнения

Обычная программа

Процесс
выполнения

Сигнал прерывания

(UINT)

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

Оператор ЧУ в
программе
прерывания

Сигнал прерывания становится действующим после начала
выполнения

блока

,

содержащего

М

96,

разрешающего

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

.

Сигнал

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

,

содержащего М

97.

В процессе выполнения программы прерывания сигнал
прерывания становится недействующим

.

Сигнал становится

действующим

,

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

,

который

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

после

возврата

управления

из

программы

прерывания

.

В типе

I,

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

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

,

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

действующим

,

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

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

.

Даже когда циклическая операция находится в процессе
выполнения

,

перемещение прерывается

,

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

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

.

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

содержит

операторов

ЧУ

,

циклическая

операция

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

.

При отсутствии операторов ЧУ оставшиеся

операторы в прерванном цикле не учитываются

,

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

следующий блок

.

Когда начинается последнее перемещение при циклической
операции

,

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

-

операторы

,

если только не встречается оператор ЧУ

.

Операторы

ЧУ выполняются после завершения циклической операции

.

D

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

D

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

,

содержащего

циклическую
операцию

Для типа

I

Для типа

II

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

B--64124RU/01

15.

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

357

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

(UINT).

Схема запуска по

состоянию и схема запуска по фронту импульса

.

Когда

используется схема запуска по состоянию

,

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

действующим

,

если он включен

.

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

запуска по фронту импульса

,

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

при нарастающем фронте

,

в момент переключения из состояния

выключено

в состояние

включено

”.

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

TSE

(

разряда

3

параметра

6003).

Когда с помощью этого параметра

выбрана схема запуска по состоянию

,

вызывается прерывание

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

,

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

(UINT)

является включенным в тот момент

,

когда сигнал становится

действующим

.

Оставляя сигнал прерывания

(UINT)

включ

.,

можно повторно выполнить программу прерывания

.

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

,

сигнал

прерывания

(UINT)

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

нарастающем фронте

.

Следовательно

,

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

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

(

в случаях

,

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

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

).

Когда схема запуска по

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

(

в этом случае можно

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

),

применимой

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

.

За исключением особых случаев применения

,

указанных выше

,

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

.

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

-

одинаковое

.

1

0

Сигнал прерывания

(UINT)

Выполнение
прерывания

Выполн

.

преры

--

вания

Выполн

.

преры

--

вания

Выполн

.

преры

--

вания

Выполн

.

преры

--

вания

Схема запуска
по состоянию

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

На примере выше

,

если используется схема запуска по

состоянию

,

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

;

если

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

,

прерывание

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

.

D

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

(UINT)

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

15.

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

B--64124RU/01

358

Задайте М

99

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

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

.

С

помощью

адреса

Р

можно

также

задать

номер

последовательности в прерванной программе

.

Если такой

номер задан

,

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

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

.

Управление

возвращается

к

первому

найденному

номеру

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

.

Невозможно осуществить прерывания во время выполнения
программы

прерывания

с

помощью

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

пользователя

.

Для разрешения другого прерывания выполните

М

99.

Когда задан только М

99,

то он выполняется до завершения

выполнения предыдущих команд

.

Следовательно

,

прерывание

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

.

Если это

неудобно

,

управление

прерываниями

с

помощью

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

пользователя

должно

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

посредством ввода в программу

M96

и

M97.

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

,

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

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

;

когда вызывается

прерывание

,

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

прерывания

.

Выполнение М

99

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

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

.

Если в

блоке задан один М

99,

то он выполняется до завершения

предыдущего блока

.

В следующем примере прерывание

разрешено для

Gxx

блока

O1234.

Когда вводится сигнал

, O1234

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

.

Управление О

5678

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

помощью

M96

и

M97.

В данном случае прерывание разрешено

для

O5678 (

разрешено после возврата управления к О

1000).

M99
;

GxxXxxx;

O1234

O1000 ;

M96P1234;

M96P5678

M97

O5678

GxxXxxx;

M96
M99
;

M97

Прерывание

Прерывание

Прерывание

Прерывание

D

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

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

B--64124RU/01

15.

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

359

ПРИМЕЧАНИЕ

Если блок М

99

состоит только из адресов

O, N, P, L

или

М

,

то этот блок рассматривается в качестве блока

,

принадлежащего предыдущему блоку в программе

.

Следовательно

,

для

данного

блока

остановка

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

.

С точки зрения

программирования

,

¡

и

приведенные ниже

,

по

существу идентичны

(

Различие состоит в том

,

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

G

ff

до того

,

как распознается М

99).

¡

G

ff

X

fff

;

M99 ;

G

ff

X

fff

M99 ;

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

.

Это прерывание

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

(UINT)

во время выполнения

программы

.

Как правило

,

любые изменения модальной

информации

,

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

,

не должны

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

.

По этой причине

,

даже если модальная информация изменена

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

,

то восстанавливается модальная

информация

,

существовавшая до прерывания

,

когда с помощью

M99

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

.

Когда с помощью М

99

Рхххх управление возвращается от

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

,

программа

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

.

В этом случае

,

в прерванную программу передается новая непрерывная
информация

,

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

.

Восстанов

-

ление старой модальной информации

,

существующей до

прерывания

,

нежелательно

.

Это вызвано тем

,

что

,

после

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

,

некоторые программы могут работать

различно

в

зависимости

от

модальной

информации

,

существующей до прерывания

.

В этом случае применяются

следующие меры

:

(1)

Программа

прерывания

предоставляет

модальную

информацию

,

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

управления к прерванной программе

.

D

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

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

15.

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

B--64124RU/01

360

(2)

После возврата управления к прерванной программе

,

модальная информация при необходимости задается снова

.

O

∆∆∆∆

M96Pxxx

N

ffff

;

M99 (P

ffff

);

Oxxx;

Сигнал прерывания

(UINT)

(

Без указания Р

)

Измените
модальную
информацию

Модальная
информация остается
неизменной до и

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

.

(

С указанием Р

)

Присутствует новая модальная информация

,

измененная

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

.

Модальная информация

,

существовавшая до прерывания

,

становится действующей

.

Новая модальная информация

,

измененная

программой

прерывания

,

становится

недействующей

.

Новая модальная информация

,

измененная программой

прерывания

,

остается действующей после возврата управления

.

Старая модальная информация

,

которая была действующей в

прерванном блоке

,

может считываться с помощью системных

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

#4001 - #4120.

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

,

что

,

если модальная информация

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

,

то системные переменные

#4001 - #4120

не меняются

.

S

Координаты точки А могут считываться с помощью
системных переменных

#5001

до момента возникновения

первого оператора ЧУ

.

S

Координаты точки

A’

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

оператора ЧУ

,

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

. .

S

Координаты станка и координаты заготовки точки

B’

могут

считываться с помощью системных переменных

#5021 -

#5041

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

.

Модальная

информация

,

когда с

помощью М

99

выполняется возврат

управления

Модальная

информация

,

когда с

помощью М

99

Р

ffff

выполняется

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

D

Системные
переменные

(

информация о

положении

)

для

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

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

B--64124RU/01

15.

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

361

В

В

А

А

Вызванное
прерывание

Траектория центра
инструмента

Вектор смещения

Запрограммированная
траектория инструмента

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

(UINT)

и вызывается

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

,

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

отменяется

(G67).

Тем не менее

,

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

задан

G66,

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

действующим

.

Когда с помощью М

99

выполняется возврат

управления из программы прерывания

,

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

возвращается в состояние

,

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

выполнения прерывания

.

Когда с помощью

M99Pxxxx;

выполняется

возврат

управления

,

модальный

вызов в

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

.

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

(UINT),

программа

прерывания

вызывается

после

завершения

операции

перезапуска по всем осям

.

Это означает

,

что тип прерывания

II

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

.

Невозможно выполнить

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

прерывания

во время операции группового ЧУ или

выполнения

программы

с

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

внешнего

устройства ввода

-

вывода

.

D

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

D

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

D

Операция группового
ЧУ и макропрограмма
пользователя типа
прерывания

 

 

 

 

 

 

 

содержание      ..     46      47      48      49     ..