Haas Руководство оператора фрезерного станка 96-RU8210 (Редакция A Aпрель 2016 г) - часть 16

 

  Главная      Книги - Разные     Haas Руководство оператора фрезерного станка 96-RU8210 (Редакция A Aпрель 2016 г)

 

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

 

   

 

   

 

содержание      ..     14      15      16      17     ..

 

 

 

Haas Руководство оператора фрезерного станка 96-RU8210 (Редакция A Aпрель 2016 г) - часть 16

 

 

Подстановка

 

адреса

 

238

Операторы

 

присваивания

Операторы

 

присваивания

 

позволяют

 

изменять

 

переменные

Формат

 

оператора

присваивания таков

<

выражение

>

=<

выражение

>

 ;

Выражение

 

слева

 

от

 

знака

 

равенства

 

всегда

 

должно

 

прямо

 

или

 

косвенно

 

указывать

на

 

макропеременную

Эта

 

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

 

инициализирует

 

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

переменных

 

до

 

любого

 

значения

В

 

этом

 

примере

 

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

 

и

 

прямое

и

косвенное

 

присваивание

.

% ;

O50001 (

ИНИЦИАЛИЗАЦИЯ

 

ПОСЛЕДОВАТЕЛЬНОСТИ

 

ПЕРЕМЕННЫХ

) ;

N1 IF [#2 NE #0] GOTO2 (B=

базовая

 

переменная

) ;

#3000=1 (

Базовая

 

переменная

 

не

 

задана

) ;

N2 IF [#19 NE #0] GOTO3 (S=

размер

 

массива

) ;

#3000=2 (

Размер

 

массива

 

не

 

задан

) ;

N3 WHILE [#19 GT 0] DO1 ;

#19=#19-1 (

Обратный

 

отсчет

) ;

#[#2+#19]=#22 (V=

значение

 

для

 

присваивания

 

массиву

) ;

END1 ;

M99 ;

% ;

Можно

 

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

 

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

 

выше

 

для

 

инициализации

 

трех

 

совокупностей

переменных

 

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

:

% ;

G65 P300 B101. S20 (

ИНИЦ

 101..120 

КАК

 #0) ;

G65 P300 B501. S5 V1. (

ИНИЦ

 501..505 

КАК

 1.0) ;

G65 P300 B550. S5 V0 (

ИНИЦ

 550..554 

КАК

 0.0) ;

% ;

Десятичная

 

точка

 

в

 

B101.

 

и

 

т

.

д

.

обязательна

.

Управляющие

 

операторы

Управляющие

 

операторы

 

позволяют

 

программисту

 

выполнять

 

как

 

условные

так

 

и

безусловные

 

переходы

Они

 

также

 

дают

 

возможность

 

повторять

 

выполнение

 

части

текста

 

программы

 

в

 

зависимости

 

от условия

.

Программирование

 

опций

 

239

Безусловный

 

переход

 (GOTOnnn 

и

 M99 Pnnnn)

Система

 

управления

 HAAS 

позволяет

 

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

 

два

 

способа

 

безусловного

перехода

Безусловный

 

переход

 

всегда

 

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

 

к

 

указанному

 

блоку

.

Команда

 

M99 P15

 

выполнит

 

безусловный

 

к

 

блоку

 

номер

 15. 

Команду

 

M99

 

можно

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

 

независимо

 

от

 

того

установлены

 

макросы

или

 

нет

и

 

это

традиционный

 

способ

 

безусловного

 

перехода

 

в

 

системе

 

управления

 Haas. 

GOTO15

делает

 

то

 

же

что

 

M99 P15

В

 

системе

 

управления

 Haas 

команду

 

GOTO

 

можно

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

 

в

 

одной

 

строке

 

с

 

другими

 G-

кодами

GOTO

 

исполняется

 

после

 

всех

других

 

команд

например

М кодов

.

Вычисляемый

 

переход

 (GOTO#n 

и

 GOTO [

выражение

])

Вычисляемый

 

переход

 

позволяет

 

программе

 

передавать

 

управление

 

другой

 

строке

кода

 

в

 

той

 

же

 

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

Система

 

управления

 

может

 

вычислить

 

блок

пока

выполняется

 

программа

с

 

помощью

 

формы

 

GOTO [

выражение

]

или

 

она

 

может

передать

 

блок

 

для

 

обработки

 

с

 

помощью

 

локальной

 

переменной

как

 

делается

 

в

форме

 

GOTO#n

.

Команда

 

GOTO

 

округляет

 

переменную

 

или

 

результат

 

выражения

связанного

 

с

вычисляемым

 

переходом

Например

если

 

переменная

 

#1

 

содержит

 

значение

 4.49,

а

 

программа

 

содержит

 

команду

 

перехода

 

GOTO#1

система

 

управления

 

делает

попытку

 

перехода

 

к

 

блоку

который

 

содержит

 

N4

Если

 

#1

 

содержит

 

значение

 4.5, 

то

система

 

управления

 

перейдет

 

в

 

блок

который

 

содержит

 

N5

.

Пример

Можно

 

развить

 

следующий

 

скелет

 

текста

 

программы

 

для

 

составления

программы

которая

 

наносит

 

серийные

 

номера

 

на

 

детали

:

% ;

O50002 (

ВЫЧИСЛЯЕМЫЙ

 

ПЕРЕХОД

) ;

(D=

Десятичная

 

цифра

которая

 

будет

 

гравироваться

) ;

 ;

IF [[#7 NE #0] AND [#7 GE 0] AND [#7 LE 9]] GOTO99 ;

#3000=1 (

Недопустимая

 

цифра

) ;

 ;

N99 ;

#7=FIX[#7] (

Усечение

 

возможной

 

дробной

 

части

) ;

 ;

GOTO#7 (

Теперь

 

гравируется

 

цифра

) ;

 ;

N0 (

Выполнение

 

цифры

 

ноль

) ;

M99 ;

 ;

N1 (

Выполнение

 

цифры

 

один

) ;

 ;

M99 ;

% ;

С

 

помощью

 

приведенной

 

выше

 

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

 

можно

 

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

 

этот

 

вызов

,

чтобы

 

гравировать

 

пятую

 

цифру

:

Подстановка

 

адреса

 

240

G65 P9200 D5 ;

 ;

Вычисляемые

 

переходы

 

GOTO

 

с

 

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

 

выражения

 

можно

 

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

для

 

обработки

 

переходов

 

на

 

основе

 

результатов

 

опроса

 

входов

 

оборудования

.

Например

:

% ;

GOTO [[#1030*2]+#1031] ;

NO(1030=0, 1031=0) ;

...M99 ;

N1(1030=0, 1031=1) ;

...M99 ;

N2(1030=1, 1031=0) ;

...M99 ;

N3(1030=1, 1031=1) ;

...M99 ;

% ;

#1030

 

и

#1031

.

Условный

 

переход

 (IF 

и

 M99 Pnnnn)

Условный

 

переход

 

позволяет

 

программе

 

передавать

 

управление

 

другому

 

фрагменту

кода

 

в

 

той

 

же

 

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

Условный

 

переход

 

может

 

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

только

 

если

разрешено

 

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

 

макросов

Система

 

управления

 Haas 

позволяет

выполнять

 

условные

 

переходы

 

двумя

 

похожими способами

.

IF [<

условное

 

выражение

>

] GOTOn ;

Как

 

говорилось

 

выше

, <

условное

 

выражение

> – 

это

 

любое

 

выражение

,

использующее

 

какой

-

либо

 

из

 

шести

 

булевых

 

операторов

EQ

NE

GT

LT

GE

 

или

 

LE

.

Выражение

 

обязательно

 

заключается

 

в

 

скобки

Для

 

системы

 

управления

 Haas

включать

 

эти

 

операторы

 

не

 

обязательно

Например

:

IF [#1 NE 0.0] GOTO5 ;

 ;

может

 

также

 

иметь

 

вид

:

IF [#1] GOTO5 ;

 ;

В

 

этом

 

операторе

если

 

значение

 

переменной

 

#1

 

не

 

равно

 0.0 

или

 

не

неопределенное

 

значение

 

#0

то

 

произойдет

 

переход

 

к

 

блоку

 5, 

в

 

противном

 

случае

будет

 

исполняться

 

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

.

На

 

системе

 

управления

 Haas, <

условное

 

выражение

также

 

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

 

с

форматом

 

M99 Pnnnn

Например

:

G00 X0 Y0 [#1EQ#2] M99 P5 ;

 ;

Программирование

 

опций

 

241

Здесь

 

условие

 

относится

 

только

 

к

 

части

 

M99

 

оператора

Станок

 

получает

 

команду

перейти

 

к

 

X0

Y0

 

независимо

 

от

 

того

является

 

ли

 

выражение

 

истинным

 

или

 

ложным

.

В

 

зависимости

 

от

 

значения

 

выражения

 

выполняется

 

только

 

переход

 

M99

.

Рекомендуется

 

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

 

вариант

 

IF GOTO

если

 

необходимо

 

обеспечить

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

.

Условное

 

выполнение

 (IF THEN)

Исполнение

 

управляющих

 

операторов

 

может

 

также

 

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

 

с

 

помощью

конструкции

 

IF THEN

Формат следующий

:

IF [<

условное

 

выражение

>

] THEN <

оператор

>

 ;

 ;

ПРИМЕЧАНИЕ

:

Для

 

сохранения

 

совместимости

 

с

 

синтаксисом

 FANUC

оператор

 

THEN

 

нельзя

 

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

 

с

 

GOTOn

.

Этот

 

формат

 

традиционно

 

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

 

для

 

условных

 

операторов

присваивания

,

например

:

IF [#590 GT 100] THEN #590=0.0 ;

 ;

Переменной

 

#590

 

присваивается

 

нулевое

 

значение

если

 

когда

 

значение

 

#590

превышает

 100.0. 

В

 

системе

 

управления

 Haas, 

если

 

условное

 

выражение

возвращает

 

ЛОЖЬ

 (0.0), 

то

 

оставшаяся

 

часть

 

блока

 

IF

 

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

Это

 

значит

что

для

 

управляющих

 

операторов

 

также

 

можно

 

задавать

 

условия

чтобы

 

можно

 

было

написать

 

что

-

то следующее

:

IF [#1 NE #0] THEN G01 X#24 Y#26 F#9 ;

 ;

При

 

этом

 

линейное

 

перемещение

 

будет

 

выполняться

 

только

 

в

 

том

 

случае

если

переменной

 

#1

 

было

 

присвоено

 

значение

Ниже

 

приводится

 

еще

 

один пример

:

IF [#1 GE 180] THEN #101=0.0 M99 ;

 ;

То

 

есть

если

 

значение

 

переменной

 

#1

  (

адрес

 

A

больше

 

или

 

равно

 180, 

то

переменной

 

#101

 

присваивается

 

нулевое

 

значение

 

и

 

происходит

 

возврат

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

.

Вот

 

пример

 

использования

 

оператора

 

IF

который

 

выполняет

 

переход

если

переменная

 

инициализирована

 

и

 

имеет

 

какое

-

либо

 

значение

В

 

противном

 

случае

обработка

 

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

 

и

 

выдается

 

сигнал

 

об

 

ошибке

Помните

что

 

при

 

выдаче

сигнала

 

об

 

ошибке

 

происходит

 

останов

 

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

.

% ;

Подстановка

 

адреса

 

242

N1 IF [#9NE#0] GOTO3 (

ПРОВЕРКА

 

ЗНАЧЕНИЯ

 

В

 F) ;

N2 #3000=11(

НЕТ

 

СКОРОСТИ

 

ПОДАЧИ

) ;

N3 (

ПРОДОЛЖИТЬ

) ;

% ;

Повторение

 / 

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

 

циклов

 (WHILE DO END)

Важной

 

характеристикой

 

любого

 

языка

 

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

 

является

 

способность

исполнять

 

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

 

операторов

 

заданное

 

число

 

раз

 

или

 

выполнять

циклы

 

операторов

 

до

 

достижения

 

некоторого

 

условия

Традиционное

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

 

с

 

помощью

 G-

кодов

 

позволяет

 

делать

 

это

используя

 

L

-

адрес

.

Подпрограмму

 

можно

 

выполнять

 

любое

 

количество

 

раз

используя

 

L

адрес

.

M98 P2000 L5 ;

 ;

Возможности

 

этого

 

подхода

 

ограничены

поскольку

 

нельзя

 

прервать

 

исполнение

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

 

по

 

условию

Макросы

 

обеспечивают

 

большую

 

гибкость

позволяя

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

 

циклическую

 

конструкцию

 WHILE-DO-END. 

Например

:

% ;

WHILE [<

условное

 

выражение

>

] DOn ;

<

операторы

>

 ;

ENDn ;

% ;

Эта

 

программа

 

выполняет

 

операторы

 

между

 

DOn

 

и

 

ENDn

пока

 

условное

 

выражение

остается

 

истинным

Скобки

 

в

 

выражении

 

обязательны

Если

 

выражение

 

становится

ложным

то

 

далее

 

исполняется

 

блок

 

после

 

ENDn

Вместо

 

WHILE

 

можно

 

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

краткое

 

написание

 

WH

Часть

 

оператора

 

DOn

-

ENDn

 – 

согласованная

 

пара

Значение

 n

равно

 1-3. 

Это

 

значит

что

 

в

 

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

 

может

 

быть

 

максимум

 

три

 

вложенных

цикла

Вложение

 – 

это

 

цикл внутри цикла

.

Несмотря

 

на

 

то

 

что

 

вложенность

 

операторов

 

WHILE

 

возможна

 

только

 

до

 

трех

уровней

фактически

 

ограничений

 

нет

поскольку

 

каждая

 

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

 

может

 

иметь

до

 

трех

 

уровней

 

вложенности

При

 

необходимости

 

получить

 

вложенность

 

более

  3

уровней

 

можно

 

вынести

 

фрагмент

 

с

 

тремя

 

младшими

 

уровнями

 

вложенности

 

в

подпрограмму

 

и

 

таким

 

образом

 

обойти ограничение

.

Если

 

в

 

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

 

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

 

два

 

независимых

 

цикла

 

WHILE

они

 

могут

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

 

один

 

и

 

тот

 

же

 

индекс

 

вложенности

Например

:

% ;

#3001=0 (

ОЖИДАТЬ

 500 

МИЛЛИСЕКУНД

) ;

WH [#3001 LT 500] DO1 ;

END1 ;

<

Другие

 

операторы

>

Программирование

 

опций

 

243

#3001=0 (

ОЖИДАТЬ

 300 

МИЛЛИСЕКУНД

) ;

WH [#3001 LT 300] DO1 ;

END1 ;

% ;

Можно

 

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

 

GOTO

 

для

 

перехода

 

из

 

фрагмента

ограниченного

 

DO

-

END

но

 

с

помощью

 

GOTO

 

невозможно

 

перейти

 

внутрь

 

цикла

Переход

 

в

 

пределах

 

цикла

,

ограниченного

 

DO

-

END

с

 

помощью

 

GOTO

допускается

.

Бесконечный

 

цикл

 

можно

 

выполнить

если

 

удалить

 

WHILE

 

и

 

выражение

Таким

образом

,

% ;

DO1 ;

<

операторы

>

END1 ;

% ;

выполнение

 

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

 

до

 

нажатия

 

клавиши

 

СБРОС

.

ПРЕДОСТЕРЕЖЕНИЕ

:

Избегайте

 

следующей

 

ошибки

:

% ;

WH [#1] D01 ;

END1 ;

% ;

В

 

этом

 

примере

 

выдается

 

сигнал

 

об

 

ошибке

указывающий

что

 

Then

 

не

 

обнаружено

;

Then

 

относится

 

к

 

D01

Замените

 

D01

 (

ноль

на

 

DO1

(

латинская

 

буква

 O).

6.14.6

Связь

 

с

 

внешними

 

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

 - DPRNT[ ]

Макросы

 

обеспечивают

 

дополнительные

 

возможности

 

для

 

связи

 

с

 

периферийными

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

С

 

помощью

 

устройств

которые

 

обеспечивает

 

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

можно

выполнять

 

оцифровку

 

деталей

создавать

 

отчеты

 

об

 

исполнении

 

программы

 

или

синхронизировать

 

системы

 

управления

.

Форматный

 

вывод

 

данных

Оператор

 

DPRNT

 

позволяет

 

программе

 

отправлять

 

форматированный

 

текст

 

в

последовательный

 

порт

Оператор

 

DPRNT

 

может

 

распечатать

 

любой

 

текст

 

и

 

любую

переменную

 

через

 

последовательный

 

порт

Форма

 

оператора

 

DPRNT

 

указана ниже

:

DPRNT [<

текст

> <#nnnn[wf]>... ] ;

Связь

 

с

 

внешними

 

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

 - DPRNT[ ]

 

244

Команда

 

DPRNT

 

должна

 

быть

 

единственной

 

командой

 

в

 

блоке

В

 

предыдущем

примере

 

<

текст

>

 - 

это

 

любые

 

символы

 

от

 A 

до

 Z 

или

 

буквы

 (+,-,/,* 

и

 

пробел

).

Звездочка

 

при

 

выводе

 

преобразуется

 

в

 

пробел

Строка

 

<#nnnn[wf]>

 – 

это

переменная

после

 

которой

 

указан

 

формат

Номером

 

переменной

 

может

 

быть

 

любая

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

Указание

 

формата

 

[wf]

 

является

 

обязательным

 

и

 

состоит

 

из

двух

 

цифр

 

в

 

квадратных

 

скобках

Помните

что

 

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

 - 

это

действительные

 

числа

 

с

 

целой

 

и

 

дробной

 

частями

Первая

 

цифра

 

в

 

обозначении

формата

 

указывает

 

общее

 

число

 

знаков

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

 

на

 

выходе

 

для

 

целой

части

Вторая

 

цифра

 

указывает

 

на

 

общее

 

число

 

знаков

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

 

для

дробной

 

части

Система

 

управления

 

может

 

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

 

любое

 

число

 

от

 0-9, 

как

 

для

целых

так

 

и

 

для

 

дробных

 

частей

.

Между

 

целой

 

и

 

дробной

 

частью

 

числа

 

печатается

 

десятичная

 

точка

Дробная

 

часть

округляется

 

до

 

наименьшего

 

значимого

 

разряда

Если

 

для

 

дробной

 

части

зарезервировано

 0 

знаков

десятичная

 

точка

 

не

 

печатается

При

 

наличии

 

дробной

части

 

нулевые

 

младшие

 

разряды

 

выводятся

 

на

 

печать

Для

 

целой

 

части

резервируется

 

как

 

минимум

 

один

 

разряд

даже

 

если

 

она

 

равна

 

нулю

Если

 

целая

часть

 

числа

 

имеет

 

меньше

 

знаков

чем

 

зарезервировано

то

 

вместо

 

старших

разрядов

 

выводятся

 

пробелы

Если

 

значение

 

целой

 

части

 

имеет

 

больше

 

знаков

чем

зарезервировано

то

 

поле

 

печати

 

расширяется

 

так

чтобы

 

вместить

 

эти цифры

.

Система

 

управления

 

передает

 

возврат

 

каретки

 

после

 

каждого

 

блока

 DPRNT.

Пример

 DPRNT[ ]:

Настройки

 DPRNT[ ]

Настройка

 261 

определяет

 

назначение

 

для

 

операторов

 DPRNT. 

Можно

 

выбрать

 

их

вывод

 

в

 

файл

 

или

 

в

 

порт

 TCP. 

Настройки

 262 

и

 263 

задают

 

назначение

 

для

 

вывода

данных

 DPRNT. 

Дальнейшую

 

информацию

 

см

в

 

разделе

 «

Настройки

» 

настоящего

руководства

.

Код

Вывод

#1= 1.5436 ;

DPRNT[X#1[44]*Z#1[03]*T#1[40]] ;

X1.5436 Z 1.544 T 1

DPRNT[***

ИЗМЕРЕННЫЙ

*

ВНУТРЕННИЙ

*

ДИАМ

ЕТР

***] ;

ИЗМЕРЕННЫЙ

 

ВНУТРЕННИЙ

 

ДИАМЕТР

DPRNT[] ;

(

без

 

текста

только

 

возврат

 

каретки

)

#1=123.456789 ;

DPRNT[X-#1[35]] ;

X-123.45679 ;

Программирование

 

опций

 

245

Исполнение

Операторы

 

DPRNT

 

выполняются

 

во

 

время

 

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

 

просмотра

Это

 

значит

что

необходимо

 

внимательно

 

следить

 

за

 

тем

где

 

в

 

программе

 

находятся

 

операторы

DPRNT

особенно

 

если

 

планируется

 

распечатка

.

Для

 

ограничения

 

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

 

просмотра

 

удобно

 

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

 

G103

Если

необходимо

 

ограничить

 

интерпретацию

 

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

 

просмотра

 

одним

 

блоком

,

необходимо

 

включить

 

следующую

 

команду

 

в

 

начало

 

программы

Это

 

заставляет

систему

 

управления

 

выполнять

 

опережающий

 

просмотр

 

на

 2 

блока

.

G103 P1 ;

Для

 

отмены

 

ограничения

 

предел

 

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

 

просмотра

 

измените

 

команду

 

на

G103 P0

G103

 

невозможно

 

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

 

при

 

активной

 

коррекции

 

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

.

Редактирование

Неправильная

 

структура

 

или

 

расстановка

 

операторов

 

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

 

приводит

 

к

сигналу

 

об

 

ошибке

При

 

редактировании

 

выражений

 

будьте

 

внимательны

,

соблюдайте

 

парность скобок

.

Функцию

 

DPRNT[ ]

 

можно

 

редактировать

 

так

 

же

как

 

комментарий

Ее

 

можно

удалить

перенести

 

как

 

единое

 

целое

 

или

 

отредактировать

 

отдельные

 

элементы

 

в

скобках

Ссылки

 

на

 

переменные

 

и

 

описания

 

формата

 

необходимо

 

изменять

 

как

единое

 

целое

Если

 

необходимо

 

изменить

 [24] 

на

 [44], 

установите

 

курсор

 

так

чтобы

[24] 

было

 

выделено

введите

 [44] 

и

 

нажмите

 

[ENTER]

  (

ввод

). 

Помните

что

 

для

перемещения

 

по

 

длинным

 

выражениям

 

DPRNT[ ]

можно

 

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

 

маховичок

толчковой

 

подачи

.

Адреса

содержащие

 

выражения

могут

 

иметь

 

несколько

 

запутанный

 

вид

В

 

этом

случае

 

символьный

 

адрес

 

является

 

самостоятельной

 

единицей

Например

в

следующем

 

блоке

 

содержится

 

адресное

 

выражение

 

в

Х

:

G01 G90 X [COS [90]] Y3.0 (

ПРАВИЛЬНО

) ;

Здесь

 

Х

 

и

 

скобки

 

являются

 

самостоятельным

 

элементом

 

и

 

могут

 

редактироваться

отдельно

Возможно

 

путем

 

редактирования

 

удалить

 

выражение

 

целиком

 

и

 

заменить

его

 

константой

 

с

 

плавающей точкой

.

G01 G90 X 0 Y3.0 (

НЕПРАВИЛЬНО

) ;

Выполнение

 

приведенного

 

выше

 

блока

 

вызовет

 

сигнал

 

об

 

ошибке

Правильный

 

вид

блока

 

должен

 

быть следующим

:

G01 G90 X0 Y3.0 (

ПРАВИЛЬНО

) ;

ПРИМЕЧАНИЕ

:

Между

 X 

и

 

нулем

 (0) 

нет

 

пробела

ПОМНИТЕ

что

 

если

 

вы

видите

 

отдельный

 

текстовый

 

символ

, – 

это

адресное выражение

.

G65 

Опция

 

вызова

 

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

 (

группа

 00)

 

246

6.14.7

G65 

Опция

 

вызова

 

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

 (

группа

 00)

G65

 - 

это

 

программа

вызывающая

 

подпрограмму

 

и

 

способная

 

передавать

 

ей

аргументы

Используется

 

следующий

 

формат

:

G65 Pnnnnn [Lnnnn] [

аргументы

] ;

Аргументы

выделенные

 

курсивом

 

в

 

квадратных

 

скобках

являются

необязательными

Для

 

получения

 

дополнительной

 

информации

 

об

 

аргументах

макросов

 

см

раздел

«

Программирование

».

Команда

 

G65

 

требует

 

наличия

 

адреса

 

Р

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

 

номеру

 

программы

,

которая

 

находится

 

на

 

диске

 

системы

 

управления

При

 

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

 

адреса

 

L

 

вызов

макроса

 

повторяется

 

заданное

 

количество раз

.

При

 

вызове

 

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

 

система

 

управления

 

ищет

 

ее

 

на

 

активном

 

диске

Если

подпрограмму

 

не

 

удается

 

обнаружить

 

на

 

активном

 

диске

система

 

управления

выполняет

 

поиск

 

на

 

диске

указанном

 

в

 

настройке

 251. 

Дополнительную

информацию

 

о

 

поиске

 

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

 

см

в

 

разделе

 «

Настройка

 

путей

 

поиска

». 

Если

система

 

управления

 

не

 

находит

 

подпрограмму

подается

 

сигнал

 

об

 

ошибке

.

В

 

примере

 1 

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

 1000 

вызывается

 

один

 

раз

при

 

этом

 

условия

 

ей

 

не

передаются

Вызовы

 

G65

 

похожи

 

на

 

вызовы

 

M98

но

 

не

 

идентичны

 

им

Вызовы

 

G65

допускают

 

вложение

 

до

 9 

уровней

это

 

значит

что

 

программа

 1 

может

 

вызвать

программу

 2, 

программа

 2 

может

 

вызвать

 

программу

 3, 

а

 

программа

 3 

может

 

вызвать

программу

4.

Пример

 1:

%

G65 P1000 (

Вызов

 

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

 O01000 

как

 

макроса

) ;

M30 (

Останов

 

программы

) ;

O01000 (

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

) ;

...M99 (

Возврат

 

из

 

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

) ;

%

В

 

примере

 2 

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

 

9010

 

предназначена

 

для

 

сверления

 

серии

 

отверстий

 

по

линии

наклон

 

которой

 

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

 

аргументами

 

X

 

и

 

Y

передающимися

 

ей

 

в

командной

 

строке

 

G65

Глубина

 

сверления

 

Z

 

передается

 

как

 

Z

скорость

 

подачи

передается

 

как

 

F

а

 

количество

 

отверстий

которые

 

необходимо

 

просверлить

,

передается

 

как

 

T

Отверстия

 

сверлятся

 

по

 

линии

начиная

 

с

 

текущего

 

положения

инструмента

 

на

 

момент

 

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

.

Пример

 2:

ПРИМЕЧАНИЕ

:

Программа

 O09010 

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

 

должна

 

находиться

 

на

активном

 

диске

 

или

 

на

 

диске

заданном

 

в

 

настройке

 252.

% G00 G90 X1.0 Y1.0 Z.05 S1000 M03 (

Позиционирование

 

инструмента

) ; G65 P9010 X.5 Y.25 Z.05 F10. T10 (

Вызов

 O09010) 

; M30 ; O09010 (

Диагональная

 

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

 

отверстий

) ; 

Программирование

 

опций

 

247

F#9 (F = 

Скорость

 

подачи

) ; WHILE [#20 GT 0] DO1 (

Повторить

 T 

раз

) ; G91 G81 Z#26 (

Сверление

 

на

 

глубину

 Z) ; #20=#20-1 

(

Обратный

 

отсчет

) ; IF [#20 EQ 0] GOTO5 (

Все

 

отверстия

 

выполнены

) ; G00 X#24 Y#25 (

Перемещение

 

по

 

наклону

) ; N5 END1 

; M99 (

Возврат

 

в

 

вызывающую

 

программу

) ; %

Псевдонимы

Коды

 

псевдонима

 – 

это

 

заданные

 

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

 

коды

 G 

и

 M, 

которые

 

обращаются

к

 

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

Есть

 10 

кодов

 

псевдонима

 G 

и

 10 

кодов

 

псевдонима

 M, 

доступных

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

Номера

 

программ

 

с

 9010 

по

 9019 

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

 

для

 

псевдонимов

G-

кода

а

 

номера

 

с

 9000 

по

 9009 

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

 

для

 

псевдонимов

 M-

кода

.

Псевдонимы

 – 

это

 

способ

 

назначить

 G-

код

 

или

 M-

код

 

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

 

G65

P#####

Например

в

 

предыдущем

 

примере

 2 

было

 

бы

 

проще записать

:

G06 X.5 Y.25 Z.05 F10. T10 ;

При

 

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

 

псевдонимов

 

переменные

 

могут

 

передаваться

 

с

 

кодом

 G,

переменные

 

не

 

могут

 

передаваться

 

с

 

кодом

 M.

Здесь

 

был

 

заменен

 

неиспользуемый

 G-

код

 (

G65 P9010

 

на

 

G06

). 

Чтобы

 

предыдущий

блок

 

работал

значение

связанное

 

с

 

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

 

9010

должно

 

быть

 06. 

Порядок

настройки

 

псевдонимов

 

см

в

 

разделе

 «

Настройка

 

псевдонимов

».

ПРИМЕЧАНИЕ

:

G00

G65

G66

 

и

 

G67

 

невозможно

 

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

 

с

 

псевдонимами

.

Все

 

остальные

 

коды

 

от

 1 

до

 255 

можно

 

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

с псевдонимами

.

Если

 

вызываемая

 

макросом

 

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

 

установлена

 

на

 

код

 G 

и

 

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

 

не

находится

 

в

 

памяти

выдается

 

сигнал

 

об

 

ошибке

Расположение

 

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

 

см

в

разделе

 «

G65

 

Вызов

 

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

» 

на

 

странице

 

246

Если

 

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

 

не

обнаружена

выдается

 

сигнал

 

об ошибке

.

Настройка

 

псевдонимов

Настройка

 

псевдонимов

 G-

кода

 

или

 M-

кода

 

выполняется

 

в

 

окне

  «

Коды

псевдонимов

». 

Как

 

настроить

 

псевдоним

:

1.

Нажмите

 

[

НАСТРОЙКА

]

 

и

 

перейдите

 

на

 

вкладку

 

Коды

 

псевдонимов

2.

Нажмите

 

[EMERGENCY STOP]

 (

аварийная

 

остановка

в

 

системе

 

управления

.

3.

С

 

помощью

 

клавиш

 

курсора

 

выберите

 

вызов

 

макроса

 M 

или

 G, 

который

 

будет

 

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

.

4.

Введите

 

номер

 

кода

 G 

или

 

кода

 M, 

для

 

которого

 

необходимо

 

задать

 

псевдоним

Например

если

 

необходимо

 

задать

 

псевдоним

 

для

 

кода

 G06, 

введите

 06.

5.

Нажмите

 

[ENTER]

 (

ввод

).

G65 

Опция

 

вызова

 

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

 (

группа

 00)

 

248

6.

Повторите

 

пункты

 3 - 5 

для

 

других

 

кодов

 G 

или

 M, 

для

 

которых

 

задаются

 

псевдонимы

.

7.

Отпустите

 

кнопку

 

[EMERGENCY STOP]

 (

аварийная

 

остановка

в

 

системе

 

управления

.

Задание

 

значения

 

псевдонима

 

0

 

выключает

 

псевдонимы

 

для

 

связанной

 

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

.

F6.25:

Окно

 ALIAS CODES (

коды

 

псевдонимов

)

Программирование

 

опций

 

249

6.15

Подробная

 

информация

 

в

 

Интернете

Информацию

 

о

 

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

 

для

 

другого

 

дополнительного

 

оборудования

можно

 

найти

 

в

 

на

 

сайте

 

Центра

 

ресурсов

 Haas, 

включая

:

Программируемая

 

трубка

 

подачи

 

СОЖ

 (P-Cool)

Система

 

подачи

 

СОЖ

 

через

 

шпиндель

 

с

 

давлением

 300- 

и

 1000-psi (

СОШ

)

Система

 

интуитивного

 

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

 (IPS)

Беспроводная

 

система

 

интуитивного

 

измерения

 (WIPS)

Для

 

доступа

 

к

 

информации

 

перейдите

 

на

 

сайт

 www.HaasCNC.com 

и

 

щелкните

 

на

ссылке

 

Центр

 

ресурсов

 Haas

.

Также

 

можно

 

отсканировать

 

в

 

мобильное

 

устройство

 

код

расположенный

 

ниже

,

чтобы

 

прямо

 

перейти

 

в

 

раздел

 

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

 

дополнительного

 

оборудования

центра

 

ресурсов

.

Коды

 G

 

251

Глава

 7: 

Коды

 G

7.1

Введение

В

 

настоящей

 

главе

 

даются

 

подробные

 

описания

 

кодов

 G, 

которые

 

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

 

для

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

 

станка

.

7.1.1

Список

 

кодов

 G

ПРЕДОСТЕРЕЖЕНИЕ

:

Типовые

 

программы

 

в

 

настоящем

 

руководстве

 

были

проверены

 

на

 

точность

но

 

они

 

служат

 

только

 

для

иллюстративных

 

целей

Программы

 

не

 

определяют

инструменты

коррекции

 

или

 

материалы

Они

 

не

 

описывают

зажимную

 

оснастку

 

или

 

другую

 

крепежную

 

оснастку

Если

необходимо

 

исполнять

 

типовую

 

программу

 

на

 

станке

это

следует

 

делать

 

в

 

графическом

 

режиме

Всегда

 

используйте

безопасные

 

способы

 

обработки

если

 

исполняется

 

незнакомая

программа

.

ПРИМЕЧАНИЕ

:

Типовые

 

программы

 

в

 

настоящем

 

руководстве

 

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

собой

 

очень

 

консервативный

 

стиль

 

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

.

Образцы

 

предназначены

 

для

 

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

 

безопасных

 

и

надежных

 

программ

и

 

они

 

не

 

обязательно

 

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

собой

 

самый

 

быстрый

 

или

 

самый

 

эффективный

 

способ

эксплуатации

 

станка

В

 

типовых

 

программах

 

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

коды

 G, 

которые

 

многие

 

предпочитают

 

не

 

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

 

в

более

 

эффективных

 

программах

.

Код

Описание

Группа

Стр

G00

Позиционирование

 

с

 

ускоренным

 

перемещением

01

263

G01

Перемещение

 

с

 

линейной

 

интерполяцией

01

264

G02

Перемещение

 

с

 

круговой

 

интерполяцией

 

ЧС

01

265

G03

Перемещение

 

с

 

круговой

 

интерполяцией

 

ПЧС

01

265

Список

 

кодов

 G

 

252

G04

Задержка

00

265

G09

Точный

 

останов

00

266

G10

Задать

 

коррекции

00

266

G12

Фрезерование

 

круглого

 

кармана

 

ЧС

00

267

G13

Фрезерование

 

круглого

 

кармана

 

ПЧС

00

267

G17

Выбор

 

плоскости

 XY

02

270

G18

Выбор

 

плоскости

 XZ

02

270

G19

Выбор

 

плоскости

 YZ

02

270

G20

Выбор

 

дюймов

06

270

G21

Выбор

 

метрических

06

270

G28

Возврат

 

в

 

точку

 

начала

 

координат

 

станка

00

271

G29

Возврат

 

из

 

опорной

 

точки

00

271

G31

Подача

 

до

 

пропуска

00

271

G35

Автоматическое

 

измерение

 

диаметра

 

инструмента

00

273

G36

Автоматическое

 

измерение

 

коррекции

 

детали

00

275

G37

Автоматическое

 

измерение

 

коррекции

 

на

 

инструмент

00

277

G40

Отмена

 

коррекции

 

на

 

инструмент

07

279

G41

2D 

коррекция

 

на

 

инструмент

 

влево

07

279

G42

2D 

коррекция

 

на

 

инструмент

 

вправо

07

279

G43

Коррекция

 

на

 

длину

 

инструмента

 + (

сложение

)

08

279

G44

Коррекция

 

на

 

длину

 

инструмента

 - (

вычитание

)

08

279

G47

Гравирование

 

текста

00

280

G49

Отмена

 

G43

/

G44

/

G143

08

284

Код

Описание

Группа

Стр

Коды

 G

 

253

G50

Отмена

 

масштабирования

11

284

G51

Масштабирование

11

284

G52

Задать

 

систему

 

координат

 

детали

00 

или

 12

289

G53

Немодальный

 

выбор

 

координат

 

станка

00

290

G54

Выбор

 

системы

 

координат

 

детали

 #1

12

290

G55

Выбор

 

системы

 

координат

 

детали

 #2 

12

290

G56

Выбор

 

системы

 

координат

 

детали

 #3

12

290

G57

Выбор

 

системы

 

координат

 

детали

 #4

12

290

G58

Выбор

 

системы

 

координат

 

детали

 #5

12

290

G59

Выбор

 

системы

 

координат

 

детали

 #6

12

290

G60

Однонаправленное

 

позиционирование

00

290

G61

Режим

 

точного

 

останова

15

290

G64

G61

 

Отмена

15

290

G65

Опция

 

вызова

 

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

00

290

G68

Вращение

16

291

G69

Отмена

 

вращения

 

G68

16

294

G70

Окружность

 

отверстия

 

под

 

болт

00

294

G71

Дуга

 

болтовых

 

отверстий

 00

295

G72

Угол

 

из

 

болтовых

 

отверстий

00

295

G73

Стандартный

 

цикл

 

высокоскоростного

 

сверления

 

с

 

периодическим

 

выводом

 

инструмента

09

296

G74

Стандартный

 

цикл

 

реверсивного

 

нарезания

 

резьбы

09

298

G76

Стандартный

 

цикл

 

чистового

 

растачивания

09

298

G77

Стандартный

 

цикл

 

обратного

 

растачивания

09

300

Код

Описание

Группа

Стр

Список

 

кодов

 G

 

254

G80

Отмена

 

стандартного

 

цикла

09

303

G81

Стандартный

 

цикл

 

сверления

09

303

G82

Стандартный

 

цикл

 

сверления

 

центровочных

 

отверстий

09

305

G83

Стандартный

 

цикл

 

обычного

 

сверления

 

с

 

периодическим

 

выводом

 

инструмента

09

306

G84

Стандартный

 

цикл

 

нарезания

 

резьбы

 

метчиком

09

309

G85

Стандартный

 

цикл

 

растачивания

09

310

G86

Стандартный

 

цикл

 

растачивания

 

с

 

остановом

09

311

G89

Стандартный

 

цикл

 

прямого

 

растачивания

задержки

обратного

 

растачивания

09

312

G90

Команда

 

абсолютного

 

позиционирования

03

313

G91

Команда

 

относительного

 

позиционирования

03

313

G92

Задание

 

значения

 

смещения

 

системы

 

координат

 

детали

00

313

G93

Режим

 

обратнозависимой

 

подачи

05

314

G94

Режим

 

подачи

 

в

 

минуту

05

314

G95

Подача

 

на

 

оборот

05

314

G98

Стандартный

 

цикл

 

возврата

 

в

 

исходную

 

точку

10

310

G99

Стандартный

 

цикл

 

возврата

 

в

 

плоскость

 

R

10

316

G100

Отмена

 

зеркального

 

отражения

00

317

G101

Включение

 

зеркального

 

отражения

00

317

G103

Ограничение

 

буферизации

 

блоков

00

318

G107

Цилиндрическое

 

отображение

00

319

G110

#7 

Система

 

координат

12

319

G111

#8 

Система

 

координат

12

319

Код

Описание

Группа

Стр

 

 

 

 

 

 

 

содержание      ..     14      15      16      17     ..