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

 

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

 

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

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

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

 

 

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

15.

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

B--64124RU/01

346

Макропрограммы пользователя аналогичны подпрограммам

.

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

,

аналогичным для подпрограмм

.

Емкость памяти

определяется общей длиной ленты

,

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

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

,

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

.

В режиме ввода данных вручную может быть задана команда
вызова макропрограммы

.

Однако во время автоматической

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

.

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

.

послед

.

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

,

в режиме единичного

блока блоки могут быть остановлены

.

В блоке

,

содержащем

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

(G65, G66

или

G67),

оста

-

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

.

В блоках

,

содержащих команды арифметической опера

-

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

,

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

-

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

SBM (

разряда

5

парамет

-

ра

6000)

на

1.

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

-

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

-

ля

.

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

,

что если остановка единичного

блока выполн

.

при наличии макрооператора в режиме С

-

кор

-

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

-

т

,

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

,

что этот опера

-

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

,

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

.

Знак

/,

появляющийся в середине

<

выражения

> (

заключенный

в квадратные скобки

[ ]

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

),

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

;

он не рассматри

-

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

.

Установка

NE8 (

разряда

0

параметра

3202)

и

NE9 (

разряда

4

параметра

3202)

на

1

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

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

8000

до

8999

и от

9000

до

9999.

Это

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

.

Если вся память

очищается

(

с помощью нажатия на

и

при включ

.

питания

),

то очищается содержание памяти

.

В результате операции перезагрузки в локальных переменных и
общих переменных от

#100

до

#149

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

значения

.

Можно предотвратить их обнуление посредством

установки

CLV

и

CCV (

разряды

7

и

6

параметра

6001).

Системные

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

#1000

до

#1133

не стираются

.

Операция переза

-

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

,

любых состояний

DO,

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

возврат в основную программу

.

15.8

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

15.9

ОГРАНИЧЕНИЯ

D

Операция ручного
ввода данных

D

Поиск номера
последовательности

D

Единичный блок

D

Условный пропуск
блока

D

Работа в режиме
ПРАВКА

(EDIT)

D

Сброс

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

B--64124RU/01

15.

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

347

Как и при М

98,

не отображаются М и Т

-

коды

,

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

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

.

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

,

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

-

ния макрооператора

.

Станок также останавливается в случае

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

.

от

+0.0000001

до

+99999999

от

-99999999

до

-0.0000001

Количество значащих цифр

- 8 (

десятичных

).

Если это число

превышено

,

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

P/S

ном

. 003.

D

Отображение экрана
ПЕРЕЗАПУСК
ПРОГРАММЫ

D

Останов подачи

D

Постоянные значения

,

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

<

выражении

>

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

15.

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

B--64124RU/01

348

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

.

Эти команды

называются командами вывода данных на внешнее устройство

.

- BPRNT
- DPRNT
- POPEN
- PCLOS

Эти команды предназначены для вывода значений переменных
через интерфейс считывания

-

вывода на перфоленту

.

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

:

Команда

открыть

” POPEN

Задайте эту команду перед вводом последовательности команд

вывода данных для того

,

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

внешним устройством ввода

-

вывода

.

Команда вывода данных

: BPRNT

или

DPRNT

Задайте необходимые выходные данные

.

Команда

закрыть

”: PCLOS

По завершении ввода всех команд вывода данных задайте

PCLOS

для того

,

чтобы разорвать соединение с внешним

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

-

вывода

.

POPEN

POPEN

устанавливает соединение с внешним устройством

ввода

-

вывода

.

Эту команду необходимо задать до ввода

последоват

.

команд вывода данных

.

ЧПУ выводит код

DC2.

BPRNT [ a #b [ c ]

]

Количество значимых десятичных разрядов

Переменная

Символ

Команда

BPRNT

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

двоично

-

десятичной системе

.

(

i

)

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

ISO

согласно заданным данным

(ISO),

которые выводятся в

этот момент

.

Задаваемыми символами являются следующие

:

-

Буквы

(

от

A

до

Z)

-

Цифры

-

Специальные символы

(*, /, +, -, etc.)

Звездочка

(*)

задается пробелом

.

(ii)

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

.

Задай

-

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

-

ных разрядов

,

заключенных в скобки

.

Знач

.

переменной

рассматривается в качестве данных

,

состоящих из

2

слов

(32

разряда

),

включ

.

десятичные цифры

.

Выводятся в качестве

двоично

-

десятичных данных

,

нач

.

со старшего байта

.

(iii)

Когда заданные данные выведены

,

выводится код ЕОВ

согласно установкам кодов

ISO.

(iv)

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

0..

15.10

КОМАНДЫ ВЫВОДА
ДАННЫХ НА ВНЕШНЕЕ
УСТРОЙСТВО

Пояснения

D

Команда

открыть

POPEN

D

Команда вывода
данных

BPRNT

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

B--64124RU/01

15.

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

349

Пример

)

LF
12 (0000000C)
M

--1638400(FFE70000)

Y
410 (0000019A)
X

Пробел

C

BPRNT [ C** X#100 [3] Y#101 [3] M#10 [0] ]

Значение переменной

#100=0.40956
#101=-1638.4
#10=12.34

DPRNT [ a #b

[ c d ]

]

Кол

--

во значимых десятичных разрядов

Кол

--

во значимых цифр в целом числе

Переменная

Символ

Команда

DPRNT

выводит символы и каждую цифру в знач

.

пе

-

ременной в соответствии с кодом

,

заданным в настройках

(ISO).

(i)

В пунктах

(i), (iii)

и

(iv)

для команды

BPRNT

также

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

DPRNT.

(ii)

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

#

с послед

.

ном

.

перемен

-

ной

,

затем задайте кол

-

во цифр в целой части и кол

-

во деся

-

тичных разрядов

,

заключенных в скобки

.

Для каждого

заданного кол

-

ва цифр выводится один код

,

начиная с выс

-

шей цифры

.

Для каждой цифры выводится код в соответ

-

ствии с настройками

(ISO).

Десятичная точка также выво

-

дится с помощью кода

,

заданного в настройках

(ISO).

Каж

-

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

.,

состоящее до

8

цифр

.

Когда цифры старшего разряда

-

нули

,

эти нули не

выводятся

,

если

PRT (

разряд параметра

6001)

установлен на

1.

Если

PRT

разряд

1

параметра установлен на

0,

каждый раз

,

когда встречается нуль

,

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

-

во

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

,

то цифры в десятичной

части числа выводятся всегда

.

Если кол

-

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

разрядов равно нулю

,

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

.

Когда

PRT (

разряд

1

параметра

6001)

установлен на

0,

вместо

+

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

,

указывающий на полож

.

число

;

если параметр

PRT

установлен на

1,

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

.

D

Команда вывода
данных

DPRNT

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

15.

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

B--64124RU/01

350

Пример

)

sp

sp

sp

sp

sp

sp

DPRNT [ X#2 [53] Y#5 [53] T#30 [20] ]

Значение переменной

#2=128.47398
#5=-91.2
#30=123.456

(1)

Параметр

PRT (

ном

. 6001#1)=0

L F

T

Y

X

91200

128474

23

sp

LF

T23

Y--91.200
X128.474

(2)

Параметр

PRT (

ном

. 6001#1)=0

PCLOS ;

Команда

PCLOS

разрывает соединение с внешним устройством

ввода

-

вывода

.

Задайте эту команду по завершении ввода всех

команд вывода данных

.

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

DC4.

D

Команда

закрыть

PCLOS

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

B--64124RU/01

15.

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

351

Укажите канал для установки данных

(

канал ввода

/

вывода

).

В

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

,

установите элементы

данных

(

например

,

скорость бода

)

на интерфейс считы

-

вания

/

вывода на перфоленту

.

Канал ввода

-

вывода

0:

Параметры

(

ном

. 101,

ном

. 102

и

ном

. 103)

канал ввода

-

вывода

1:

Параметры

(

ном

. 111,

ном

. 112

и

ном

. 113)

канал ввода

-

вывода

2:

Параметры

(

ном

. 112,

ном

. 122

и

ном

. 123)

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

FANUC

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

DPRNT

для вывода данных

,

задайте

(

с помощью установки

PRT

(

разряда

1

параметра

6001)

на

1

или

0),

выводить ли ведущие

нули в виде пробелов

.

Задайте

,

использовать ли только

LF

для

обозначения конца строки данных в коде

(CRO,

разряд

4

параметра

6001

установлен на

0)

или

LF

и

CR (CRO,

разряд

4

параметра

6001

установлен на

1).

ПРИМЕЧАНИЕ

1

Нет необходимости всегда задавать одновременно

команду

открыть

” (POPEN),

команду вывода данных

(BPRNT, DPRNT)

и команду

закрыть

” (PCLOS).

Если

команда

открыть

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

,

нет

необходимости задавать эту команду снова

,

за

исключения случая

,

когда задана команда

закрыть

”.

2

Обязательно задайте команды

открыть

и команды

закрыть

парами

.

Задайте команду

закрыть

в конце

программы

.

Однако

,

не задавайте команду

закрыть

”,

если не была задана команда

открыть

”.

3

Когда

операция

перезагрузки

выполняется

в

процессе вывода команд

,

осуществляемого по

команде вывода данных

,

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

,

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

.

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

,

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

кода

,

например

М

30,

в

конце

программы

,

выполняющей вывод данных

,

задайте команду

закрыть

в конце программы

,

так чтобы обработка

данных

,

например

,

М

30,

не выполнялась до вывода

всех данных

.

4

Сокращенные макрослова

,

заключенные в квадратные

скобки

[ ],

остаются неизменными

.

Тем не менее

,

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

,

что

,

когда символы в

квадратных

скобках

разделяются

и

вводятся

несколько раз

,

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

преобразуются и вводятся

.

5 O

может быть задано в квадратных скобках

[ ].

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

,

что

,

когда символы в

квадратных скобках

[ ]

разделяются и вводятся

несколько раз

,

О пропускается во втором и

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

.

D

Необходимая
установка

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

15.

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

B--64124RU/01

352

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

(UINT).

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

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

.

Запрограммируйте команду

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

:

M96 P

ffff

;

M97 ;

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

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

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

.

Это позволяет работать с программами в соответствии с
ситуациями

,

которые могут иногда меняться

.

(1)

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

,

пос

-

редством внешнего сигнала начинается процесс анализа этой
неисправности

.

(2)

Последовательность

операций

обработки

прерывается

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

..

(3)

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

.

Ниже приведены такие примеры

,

как применение функции

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

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

типа

прерывания

в

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

.

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

(UINT)**

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

(UINT)

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

(UINT)*

M96
Pxxxx;

N

ffff

;

M97 ;

M99 (P

ffff

);

O xxxx;

Рис

. 15.11

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

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

Если в программе задан М

96

Рхххх

,

то последующая операция

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

(UINT),

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

,

заданной Рхххх

.

15.11

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

Формат

Пояснения

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

B--64124RU/01

15.

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

353

ОСТОРОЖНО

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

(UINT,

отмеченный

*

в Рис

.

15.11)

вводится после того

,

как указан

M97,

то он

игнорируется

.

Сигнал прерывания не должен вводит

--

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

.

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

.

Прерывание разрешается в следующих условиях

:

-

Когда выбрана операция в памяти или операция ручного

ввода данных

-

Когда горит лампа

STL (

лампа пуска

)

-

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

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

Как правило

,

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

-

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

96,

раз

-

решающего сигнал прерывания

(UINT),

и

M97,

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

этот сигнал

.

Если задан М

96,

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

-

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

-

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

(UINT)

до ввода М

97

или перезагрузки

ЧУ

.

После ввода М

97

или перезагрузки ЧУ невозможно выпол

-

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

,

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

(UINT).

Сигнал преры

-

вания

(UINT)

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

96.

1
0

M96

M97

M96

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

(UINT)

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

Когда

UINT

продолжает

действовать

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

(UINT)

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

ввода М

96.

Даже если сигнал вводится в режиме М

97,

то он

пропускается

.

Если сигнал

,

введенный в режиме М

97,

остается

действующим до указания М

96,

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

-

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

96;

если

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

,

прерывание с

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

,

даже

если задан М

96.

15.11.1

Метод ввода

Пояснения

D

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

D

Ввод

 

 

 

 

 

 

 

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