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

 

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

 

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

 

   

 

   

 

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

 

 

 

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

 

 

Подробнее

 

о

 

системных

 

переменных

 

222

Коррекция

 

на

 

инструмент

Каждая

 

коррекция

 

на

 

инструмент

 

имеет

 

длину

 (H) 

и

 

диаметр

 (D) 

вместе

 

с

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

 

значениями износа

.

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

 

сообщения

#3000

 

Сигналы

 

об

 

ошибке

 

можно

 

программировать

Программируемый

 

сигнал

 

об

ошибке

 

будет

 

действовать

 

как

 

встроенные

 

сигналы

 

об

 

ошибке

Сигнал

 

об

 

ошибке

выдается

 

путем

 

присвоения

 

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

 

#3000

 

числового

 

значения

 

от

  1

до

999.

#3000= 15 (

СООБЩЕНИЕ

ПОМЕЩАЕМОЕ

 

В

 

СПИСОК

 

ОШИБОК

) ;

Если

 

это

 

сделать

 

в

 

внизу

 

экрана

 

мигает

 

индикация

 

Сигнал

 

об

 

ошибке

а

 

в

 

список

сигналов

 

об

 

ошибке

 

заносится

 

текст

 

в

 

следующем

 

комментарии

К

 

номеру

 

сигнала

 

об

ошибке

  (

например

, 15) 

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

 1000, 

и

 

эта

 

сумма

 

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

 

в

 

качестве

номера

При

 

выдаче

 

такого

 

сигнала

 

об

 

ошибке

 

все

 

перемещения

 

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

,

и

 

для

 

продолжения

 

требуется

 

сброс

 

программы

Номера

 

программируемых

 

сигналов

об

 

ошибке

 

всегда

 

находятся

 

в

 

диапазоне

 

от

 1000 

до

 1999.

Таймеры

Можно

 

установить

 

два

 

таймера

 

на

 

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

 

значение

 

путем

 

присвоения

числового

 

значения

 

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

 

переменной

Программа

 

затем

 

может

выполнить

 

чтение

 

этой

 

переменной

 

и

 

определить

 

время

прошедшее

 

с

 

момента

запуска

 

таймера

Таймеры

 

можно

 

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

 

для

 

имитации

 

циклов

 

задержки

,

определения

 

времени

 

обработки

 

деталей

 

или

 

в

 

других

 

случаях

когда

 

необходимо

поведение

зависящее

 

от времени

.

#3001

 

Миллисекундный

 

таймер

 - 

Миллисекундный

 

таймер

 

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

системное

 

время

 

в

 

количестве

 

миллисекунд

 

после

 

включения

 

питания

Целое

число

возвращаемое

 

при

 

обращении

 

к

 

#3001

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

 

собой

количество миллисекунд

.

#3002

 

Часовой

 

таймер

 – 

Часовой

 

таймер

 

похож

 

на

 

таймер

 

миллисекунд

с

 

той

разницей

что

 

число

возвращаемое

 

при

 

обращении

 

к

 

#3002

означает

количество

 

часов

Часовый

 

таймер

 

и

 

таймер

 

миллисекунд

 

независимы

 

друг

 

от

друга

 

и

 

могут

 

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

.

#2001

-

#2200

Коррекции

 

геометрии

 

H

 (1-200) 

для

 

длины

.

#2200

-

#2400

Износ

 

геометрии

 

H

 (1-200) 

для

 

длины

.

#2401

-

#2600

Коррекции

 

геометрии

 

D

 (1-200) 

для

 

диаметра

.

#2601

-

#2800

Износ

 

геометрии

 

D

 (1-200) 

для

 

диаметра

.

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

 

опций

 

223

Ручные

 

коррекции

 

системы

Переменная

 

#3003

 

отменяет

 

функцию

 

одиночного

 

блока

 

в

 

коде

 G. 

Если

 

#3003

 

имеет

значение

 1, 

система

 

управления

 

исполняет

 

все

 

команды

 

кода

 G 

непрерывно

,

несмотря

 

на

 

то

что

 

функция

 

одиночного

 

блока

 

включена

  (

ON

). 

Если

 

#3003

 

имеет

значение

  «

ноль

», 

функция

 

одиночного

 

блока

 

действует

 

как

 

обычно

Необходимо

нажимать

 

[CYCLE START]

 (

запуск

 

цикла

для

 

исполнения

 

каждой

 

строки

 

программы

в

 

режиме

 

одиночного

 

блока

.

... #3003=1 ; G54 G00 G90 X0 Y0 ; S2000 M03 ; G43 H01 Z.1 ; 

G81 R.1 Z-0.1 F20. ; #3003=0 ; T02 M06 ; G43 H02 Z.1 ; S1800 

M03 ; G83 R.1 Z-1. Q.25 F10. ; X0. Y0. ; %

Переменная

 #3004

Переменная

 

#3004

 

отменяет

 

некоторые

 

функции

 

системы

 

управления

 

во

 

время

работы

.

Первый

 

бит

 

выключает

 

[FEED HOLD]

 (

остановка

 

подачи

). 

Если

 

переменная

 

#3004

установлена

 

на

 1, 

[FEED HOLD]

  (

остановка

 

подачи

выключается

 

для

 

блоков

программы

которые

 

идут

 

после

 

нее

Установите

 

#3004

 

на

 0 

для

 

обратного

включения

 

[FEED HOLD]

 (

остановка

 

подачи

). 

Например

:

... (

Текст

 

программы

 

для

 

подвода

 - 

#3006 

Программируемый

 

останов

Можно

 

добавить

 

остановки

 

в

 

программу

которые

 

действуют

 

как

 

M00

 - 

Система

управления

 

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

 

и

 

ожидает

 

нажатия

 

[CYCLE START]

  (

запуск

 

цикла

),

затем

 

программа

 

продолжает

 

блок

 

после

 

#3006

В

 

приводимом

 

примере

 

система

управления

 

отображает

 

комментарий

 

снизу

 

в

 

середине экрана

.

#3006=1 (

комментарий

 

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

 

здесь

) ;

#4001-#4021 

Групповые

 

коды

 

последнего

 

блока

 

(

модальные

)

Группы

 

кодов

 G 

позволяют

 

системе

 

управления

 

станка

 

обрабатывать

 

коды

 

более

эффективно

Коды

 G 

с

 

близкими

 

функциями

 

обычно

 

объединяются

 

в

 

одну

 

группу

.

Например

G90

 

и

 

G91

 

находятся

 

в

 

группе

 3. 

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

 

с

 

#4001

 

по

 

#4021

хранят

 

последний

 

код

 

или

 

код

 G 

по

 

умолчанию

 

для

 

любой

 

из

 21 

групп

.

Номер

 

группы

 

кодов

 G 

указан

 

в

 

списке

 

рядом

 

с

 

их

 

описанием

 

в

 

разделе

 

о

 

кодах

 G.

Пример

:

 

G81

 

Стандартный

 

цикл

 

сверления

 (

Группа

 09)

Подробнее

 

о

 

системных

 

переменных

 

224

Когда

 

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

 

выполняет

 

чтение

 

группового

 

кода

программа

 

может

изменить

 

поведение

 

кода

 G. 

Если

 

#4003

 

содержит

 91, 

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

 

может

определить

что

 

все

 

перемещения

 

должны

 

относительными

а

 

не

 

абсолютными

.

Нулевой

 

группе

 

не

 

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

 

переменная

, G-

коды

 

нулевой

 

группы

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

.

#4101-#4126 

Адресные

 

данные

 

последнего

 

блока

 

(

модальные

)

Адресные

 

коды

 

от

 

А

 

до

 Z (

исключая

 G) 

рассматриваются

 

как

 

модальные

 

значения

.

Данные

представленные

 

в

 

последней

 

строке

 

программы

интерпретируемой

процессом

 

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

 

просмотра

содержатся

 

в

 

переменных

 

с

 

#4101

 

по

 

#4126

.

Числовое

 

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

 

номеров

 

переменных

 

с

 

буквенными

 

адресами

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

 

сопоставлению

 

под

 

буквенными

 

адресами

Например

значение

 

ранее

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

 D-

адреса

 

находится

 

в

 

#4107

а

 

последнее

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

 

значение

 

I

 – 

это

 

#4104

При

 

задании

 

псевдонима

 

макроса

 

для

M-

кода

 

нельзя

 

передавать

 

переменные

 

в

 

макрос

 

с

 

помощью

 

переменных

 

#1

 - 

#33

;

вместо

 

этого

 

в

 

макросе

 

необходимо

 

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

 

значения

 

из

#4101

 - 

#4126

.

#5001-#5006 

Последнее

 

заданное

 

положение

Через

 

переменные

 

#5001

 - 

#5006

, X, Y, Z, A 

и

 B, 

соответственно

можно

 

получить

доступ

 

к

 

последней

 

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

 

точке

 

последнего

 

блока

 

перемещения

.

Значения

 

даются

 

в

 

текущей

 

системе

 

координат

 

детали

и

 

их

 

можно

 

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

,

когда

 

станок

 

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

.

#5021-#5026 

Текущее

 

положение

 

в

 

координатах

 

станка

Чтобы

 

получить

 

текущие

 

координаты

 

осей

 

станка

вызывайте

 

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

 

с

#5021

 

по

 

#5026

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

 

осям

 X, Y, Z, A, B 

и

 C,

соответственно

.

ПРИМЕЧАНИЕ

:

Чтение

 

значений

 

НЕВОЗМОЖНО

пока

 

станок

 

в

 

движении

.

К

 

значению

 

#5023

 (Z)

применена

 

коррекция

 

на

 

длину

 

инструмента

.

#5021

 

ось

 X

#5022

 

ось

Y

#5023

 

ось

Z

#5024

 

ось

 A

#5025

 

ось

 B

#5026

 

ось

 C

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

 

опций

 

225

#5041-#5046 

Текущее

 

положение

 

в

 

координатах

 

детали

Чтобы

 

получить

 

текущие

 

координаты

 

детали

вызывайте

 

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

#5041

-

#5046

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

 

осям

 X, Z, Y, A, B 

и

 C,

соответственно

.

ПРИМЕЧАНИЕ

:

Эти

 

значения

 

нельзя

 

прочитать

когда

 

станок

 

находится

 

в

движении

.

Значение

 

#5043

 (

Z

дается

 

с

 

коррекцией

 

на

 

длину

 

инструмента

примененной

 

к нему

.

#5061-#5069 

Текущая

 

позиция

 

сигнала

 

пропуска

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

 

с

 

#5061

 

по

 

#5069

 

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

 X, Y, Z, A, B, C, U, V 

и

 W,

соответственно

выдают

 

координаты

 

осей

где

 

произошел

 

последний

 

сигнал

пропуска

Значения

 

даются

 

в

 

текущей

 

системе

 

координат

 

детали

 

и

 

могут

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

когда

 

станок

 

находится

 

в

 

движении

Значение

 

#5063

 (

Z

дается

 

с

 

коррекцией

 

на

 

длину

 

инструмента

примененной

 

к нему

.

#5081-#5086 

Коррекция

 

на

 

длину

 

инструмента

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

 

#5081

 - 

#5086

 

выдают

 

текущую

 

общую

 

коррекцию

 

на

 

длину

инструмента

 

по

 

оси

 X, Y, Z, A, B 

или

 C, 

соответственно

Это

 

включает

 

коррекцию

 

на

длину

 

инструмента

к

 

которой

 

обращается

 

текущее

 

значение

заданное

 

в

 

H

 (

#4008

)

плюс

 

значение

 

износа

.

Коррекция

 

детали

Макровыражения

 

могут

 

выполнять

 

чтение

 

и

 

задавать

 

все

 

значения

 

коррекции

детали

Это

 

позволяет

 

задавать

 

координаты

 

точного

 

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

 

или

присваивать

 

координаты

 

значениям

основываясь

 

на

 

результатах

 

положения

сигнала

 

пропуска

  (

от

 

измерительной

 

головки

и

 

расчетах

При

 

чтении

 

любого

 

из

значений

 

коррекции

 

очередь

 

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

 

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

 

просмотра

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

пока

 

этот

 

блок

 

не

 

будет

 

выполнен

.

Расширенные

Стандартные

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

#5201

#5206

ЗНАЧЕНИЯ

 

КОРРЕКЦИИ

 

G52

 

X

Y

Z

A

B

C

#5221

#5226

ЗНАЧЕНИЯ

 

КОРРЕКЦИИ

 

G54

 

X

Y

Z

A

B

C

#5241

#5246

ЗНАЧЕНИЯ

 

КОРРЕКЦИИ

 

G55

 

X

Y

Z

A

B

C

#5261

#5266

ЗНАЧЕНИЯ

 

КОРРЕКЦИИ

 

G56

 

X

Y

Z

A

B

C

Подробнее

 

о

 

системных

 

переменных

 

226

#5281

#5286

ЗНАЧЕНИЯ

 

КОРРЕКЦИИ

 

G57

 

X

Y

Z

A

B

C

#5301

#5306

ЗНАЧЕНИЯ

 

КОРРЕКЦИИ

 

G58

 

X

Y

Z

A

B

C

#5321

#5326

ЗНАЧЕНИЯ

 

КОРРЕКЦИИ

 

G59X

Y

Z

A

B

C

#14001

-

#14006

#7001

#7006

G110 (G154 P1)

 

дополнительная

 

коррекция

 

детали

#14021

-

#14026

#7021

-

#7026

 

G111 (G154 P2)

 

дополнительная

 

коррекция

 

детали

#14041

-

#14046

#7041

-

#7046

 

G112 (G154 P3)

 

дополнительная

 

коррекция

 

детали

#14061

-

#14066

#7061

-

#7066

 

G113 (G154 P4)

 

дополнительная

 

коррекция

 

детали

#14081

-

#14086

#7081

-

#7086

 

G114 (G154 P5)

 

дополнительная

 

коррекция

 

детали

#14101

-

#14106

#7101

-

#7106

 

G115 (G154 P6)

 

дополнительная

 

коррекция

 

детали

#14121

-

#14126

#7121

-

#7126

 

G116 (G154 P7)

 

дополнительная

 

коррекция

 

детали

#14141

-

#14146

#7141

-

#7146

 

G117 (G154 P8)

 

дополнительная

 

коррекция

 

детали

#14161

-

#14166

#7161

-

#7166

 

G118 (G154 P9)

 

дополнительная

 

коррекция

 

детали

#14181

-

#14186

#7181

-

#7186

 

G119 (G154 P10)

 

дополнительная

 

коррекция

 

детали

#14201

-

#14206

#7201

-

#7206

 

G120 (G154 P11)

 

дополнительная

 

коррекция

 

детали

#14221

-

#14226

#7221

-

#7226

 

G121 (G154 P12)

 

дополнительная

 

коррекция

 

детали

#14241

-

#14246

#7241

-

#7246

 

G122 (G154 P13)

 

дополнительная

 

коррекция

 

детали

Расширенные

Стандартные

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

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

 

опций

 

227

#6001-#6250 

Доступ

 

к

 

настройкам

 

с

 

помощью

 

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

Обеспечен

 

доступ

 

к

 

настройкам

 

с

 

помощью

 

переменных

 

#20000

 - 

#20999

 

или

 

#6001

#6250

начиная

 

с

 

настройки

 1. 

Подробное

 

описание

 

настроек

доступных

 

в

 

системе

управления

см

на

 

стр

379

.

ПРИМЕЧАНИЕ

:

Числа

 

в

 

диапазоне

 

#20000

 - 

20999

 

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

 

номерам

настроек

Переменные

 

#6001

 - 

#6250

 

необходимо

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

 

для

 

доступа

 

к

 

настройкам

только

 

если

необходимо

 

обеспечить

 

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

 

программы

 

со

станками

 Haas 

ранних

 

выпусков

.

#6198 

Идентификатор

 

системы

 

управления

 

следующего

 

поколения

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

 #6198 

имеет

 

значение

 

только

 

для

 

чтения

равное

 1000000.

Можно

 

провести

 

проверку

 #6198 

в

 

программе

чтобы

 

определить

 

версию

 

системы

управления

а

 

затем

 

по

 

условию

 

выполнить

 

текст

 

программы

 

для

 

этой

 

версии

системы

 

управления

Например

:

#14261

-

#14266

#7261

-

#7266

 

G123 (G154 P14)

 

дополнительная

 

коррекция

 

детали

#14281

-

#14286

#7281

-

#7286

 

G124 (G154 P15)

 

дополнительная

 

коррекция

 

детали

#14301

-

#14306

#7301

-

#7306

 

G125 (G154 P16)

 

дополнительная

 

коррекция

 

детали

#14321

-

#14326

#7321

-

#7326

 

G126 (G154 P17)

 

дополнительная

 

коррекция

 

детали

#14341

-

#14346

#7341

-

#7346

 

G127 (G154 P18)

 

дополнительная

 

коррекция

 

детали

#14361

-

#14366

#7361

-

#7366

 

G128 (G154 P19)

 

дополнительная

 

коррекция

 

детали

#14381

-

#14386

#7381

-

#7386

 

G129 (G154 P20)

 

дополнительная

 

коррекция

 

детали

Расширенные

Стандартные

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

Подробнее

 

о

 

системных

 

переменных

 

228

%

IF[#6198 EQ 1000000] GOTO5 ;

(

текст

 

программы

 

не

 

для

 

СУСП

) ;

GOTO6 ;

N5 (

текст

 

программы

 

для

 

СУСП

) ;

N6 M30 ;

%

В

 

этой

 

программе

если

 

значение

сохраненное

 

в

 #6198, 

равно

 1000000, 

выполняется

переход

 

к

 

тексту

 

программы

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

 

с

 

системой

 

управления

 

следующего

поколения

затем

 

программа

 

заканчивается

Если

 

значение

сохраненное

 

в

 #6198, 

не

равно

 1000000, 

выполняется

 

программа

 

не

 

для

 

системы

 

управления

 

следующего

поколения

 (

не

 

СУСП

), 

затем

 

программа

 

заканчивается

.

#6996-#6999 

Доступ

 

к

 

параметрам

 

с

 

помощью

 

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

Эти

 

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

 

могут

 

получать

 

доступ

 

ко

 

всем

 

параметрам

 

и

 

произвольным

битам

 

параметров

 

следующим

 

образом

:

#6996

Номер

 

параметра

#6997

Номер

 

бита

 (

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

)

#6998

Содержит

 

значение

 

номера

 

параметра

заданного

 

в

 

переменной

 

#6996

#6999

Содержит

 

значение

 

бита

 (0 

или

 1) 

бита

 

параметра

заданного

 

в

 

переменной

#6997

.

ПРИМЕЧАНИЕ

:

Переменные

 

#6998

 

и

 

#6999

 – 

только

 

для

 

чтения

.

Кроме

 

того

можно

 

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

 

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

 

#30000

 - 

#39999

начиная

 

с

параметра

 1. 

За

 

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

 

информацией

 

о

 

номерах

 

параметров

 

обращайтесь

в

 

свой

 

дилерский

 

центр

 Haas.

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

Для

 

доступа

 

к

 

значению

 

параметра

скопируйте

 

номер

 

этого

 

параметра

 

в

переменную

 

#6996

Значение

 

этого

 

параметра

 

доступно

 

в

 

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

 

#6998

,

как

 

показано ниже

:

%

#6996=601 (

Задать

 

параметр

 601) ;

#10000=#6998 (

Копировать

 

значение

 

параметра

 601 

в

) ;

(

переменную

 #10000) ;

%

Для

 

доступа

 

к

 

конкретному

 

биту

 

параметра

 

копируйте

 

номер

 

параметра

 

в

переменную

 6996, 

а

 

номер

 

бита

 – 

в

 

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

 6997. 

Значение

 

бита

 

этого

параметра

 

доступно

 

в

 

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

 6999, 

как

 

показано ниже

:

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

 

опций

 

229

%

#6996=57 (

Задать

 

параметр

 57) ;

#6997=0 (

Задать

 

нулевой

 

бит

) ;

#10000=#6999 (

Копировать

 

параметр

 57 

бит

 0 

в

) ;

(

переменную

) ;

(#10000) ;

%

Переменные

 

устройства

 

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

 

смены

 

спутников

Состояние

 

спутников

 

из

 

устройства

 

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

 

смены

 

спутников

 

проверяется

 

с

помощью

 

следующих переменных

:

#8500-#8515 

Расширенное

 

управление

 

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

Эти

 

переменные

 

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

 

информацию

 

о

 

расширенном

 

управлении

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

  (

РУИ

). 

Назначьте

 

переменную

 #8500 

номеру

 

группы

 

инструмента

а

затем

 

обращайтесь

 

к

 

данным

 

выбранной

 

группы

 

инструмента

 

с

 

помощью

 

макроса

только

 

для

 

чтения

 #8501-#8515.

#7501

-

#7506

Приоритет

 

спутника

#7601

-

#7606

Состояние

 

спутника

#7701

-

#7706

Номера

 

программ

 

обработки

 

детали

назначенных

 

спутникам

#7801

-

#7806

Подсчет

 

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

 

спутника

#3028

Номер

 

спутника

загруженного

 

на

 

приемник

#8500

Расширенное

 

управление

 

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

 (

РУИ

Group ID (

индекс

 

группы

)

#8501

РУИ

Процент

 

имеющегося

 

ресурса

 

инструмента

 

для

 

инструментов

 

в

 

группе

.

#8502

РУИ

Суммарный

 

подсчет

 

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

 

инструмента

имеющегося

 

в

 

группе

.

#8503

РУИ

Суммарный

 

подсчет

 

выполненных

 

отверстий

 

в

 

группе

.

Подробнее

 

о

 

системных

 

переменных

 

230

#8550-#8567 

Оснастка

 

расширенного

 

управления

 

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

Эти

 

переменные

 

дают

 

информацию

 

об

 

инструменте

Назначьте

 

переменную

 

#8550

номеру

 

группы

 

инструмента

а

 

затем

 

обращайтесь

 

данным

 

выбранного

 

инструмента

с

 

помощью

 

макроса

 

только

 

для

 

чтения

 

#8551

-

#8567

.

ПРИМЕЧАНИЕ

:

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

 

#1601

-

#2800

 

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

 

доступ

 

к

 

тем

же

 

данным

 

для

 

отдельных

 

инструментов

которые

переменные

 

#8550

-

#8567

 

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

 

для

 

инструментов

 

в

группах

 

инструмента

.

#8504

РУИ

Суммарное

 

имеющееся

 

время

 

подачи

 (

в

 

секундах

в

 

группе

.

#8505

РУИ

Суммарное

 

имеющееся

 

время

 

инструментов

 

(

в

 

секундах

в

 

группе

.

#8510

РУИ

Номер

 

следующего

 

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

 

инструмента

.

#8511

РУИ

Процент

 

имеющегося

 

ресурса

 

следующего

 

инструмента

.

#8512

РУИ

Имеющийся

 

подсчет

 

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

 

следующего

 

инструмента

.

#8513

РУИ

Имеющийся

 

подсчет

 

выполненных

 

отверстий

 

следующего

 

инструмента

.

#8514

РУИ

Имеющееся

 

время

 

подачи

 

следующего

 

инструмента

 (

в

 

секундах

).

#8515

РУИ

Имеющееся

 

суммарное

 

время

 

следующего

 

инструмента

 (

в

 

секундах

).

#8550

Код

 

отдельного

 

инструмента

#8551

Количество

 

канавок

 

на

 

инструменте

#8552

Максимальная

 

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

 

вибрация

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

 

опций

 

231

6.14.4

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

 

переменных

Обращение

 

ко

 

всем

 

переменным

 

выполняется

 

с

 

помощью

 

символа

 

номера

 (

#

), 

после

которого

 

указывается

 

положительное

 

число

#1

#10001

 

и

#10501

.

Переменные

 - 

это

 

десятичные

 

значения

представленные

 

в

 

виде

 

числе

 

с

 

плавающей

точкой

Если

 

переменная

 

ни

 

разу

 

не

 

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

она

 

имеет

 

особое

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

 (undefined) 

значение

Оно

 

указывает

 

на

 

то

что

 

переменная

 

еще

 

не

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

Переменную

 

можно

 

назначить

 

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

 

с

 

помощью

специальной

 

переменной

 

#0

#0

 

имеет

 

значение

  «

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

» 

или

 0.0, 

в

зависимости

 

от

 

контекста

Косвенные

 

ссылки

 

на

 

переменные

 

можно

 

выполнять

заключением

 

номера

 

переменной

 

в

 

скобки

:

#[

Выражение

]

Выражение

 

вычисляется

 

и

 

его

 

результат

 

становится

 

номером

 

переменной

.

Например

:

#1=3 ;

#[#1]=3.5 + #1 ;

Это

 

выражение

 

присваивает

 

переменной

 #3 

значение

 6.5.

Переменную

 

можно

 

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

 

вместо

 

адреса

 G-

кода

где

 

адрес

 

относится

 

к

буквам

 

A

-

Z

.

В

 

блоке

#8553

Коррекция

 

на

 

длину

 

инструмента

#8554

Коррекции

 

на

 

длину

 

инструмента

 

с

 

учетом

 

износа

#8555

Коррекция

 

на

 

диаметр

 

инструмента

#8556

Износ

 

диаметра

 

инструмента

#8557

Фактический

 

диаметр

#8558

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

 

положение

 

СОЖ

#8559

Таймеры

 

подачи

 

инструмента

 (

секунд

)

#8560

Общие

 

таймеры

 

инструмента

 (

в

 

секундах

)

#8561

Предел

 

контроля

 

ресурса

 

инструмента

#8562

Счетчик

 

ресурса

 

инструмента

#8563

Контроль

 

нагрузки

 

инструмента

 (

максимальная

 

нагрузка

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

 

до

 

настоящего

 

времени

)

#8564

Предел

 

контроля

 

нагрузки

 

на

 

инструмент

Подстановка

 

адреса

 

232

N1 G0 G90 X1.0 Y0 ;

переменным

 

можно

 

присвоить

 

следующие

 

значения

:

#7=0 ; #11=90 ; #1=1.0 ; #2=0.0 ;

и

 

заменить

 

блок

 

на

:

N1 G#7 G#11 X#1 Y#2 ;

Значения

 

в

 

переменных

 

во

 

время

 

выполнения

 

программы

 

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

 

как

значения адресов

.

6.14.5

Подстановка

 

адреса

Обычно

 

для

 

задания

 

управляющих

 

адресов

 

A

 - 

Z

 

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

 

адрес

 

с

 

числом

 

после

него

Например

:

G01 X1.5 Y3.7 F20.;

задаёт

 

адресам

 

G

X

Y

 

и

 

F

 

значения

 1, 1.5, 3.7 

и

 20.0, 

соответственно

и

 

таким

образом

 

дает

 

указание

 

системе

 

управления

 

перемещаться

 

линейно

G01

в

положение

 X=1.5 Z=3.7 

со

 

скоростью

 

подачи

 20 (

дюйм

/

мм

). 

Синтаксис

 

макроса

позволяет

 

заменять

 

значение

 

адреса

 

на

 

любую

 

переменную

 

или выражение

.

Предыдущий

 

оператор

 

можно

 

заменить

 

следующим

 

кодом

:

#1=1 ; #2=1.5 ; #3=3.7 ; #4=20 ; G#1 X[#1+#2] Y#3 F#4 ;

Допустимый

 

синтаксис

 

адресов

 

A

 - 

Z

 (

исключая

 

N

 

или

 

O

следующий

:

Если

 

значение

 

переменной

 

не

 

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

 

диапазону

 

адреса

система

 

управления

выдает

 

сигнал

 

об

 

ошибке

Например

следующий

 

текст

 

программы

 

приводит

 

к

сигналу

 

об

 

ошибке

 

из

-

за

 

ошибки

 

диапазона

потому

 

что

 

значения

 

диаметра

инструментов

 

лежат

 

в

 

диапазоне

0-200.

#1=250 ; D#1 ;

Когда

 

переменная

 

или

 

выражение

 

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

 

в

 

качестве

 

значения

 

адреса

их

значение

 

округляется

 

до

 

наименьшего

 

значимого

 

разряда

Если

 #1=.123456, 

то

G01#1 

переместит

 

станок

 

в

 

положение

 .1235 

по

 

оси

X. 

Если

 

система

 

управления

работает

 

в

 

метрическом

 

режиме

станок

 

переместится

 

в

 

положение

 .123 

по

 

оси Х

.

Если

 

для

 

замены

 

значения

 

адреса

 

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

 

неопределенная

 

переменная

эта

адресная

 

ссылка

 

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

Например

если

 

переменная

 #1 

не

 

определена

,

то блок

G00 X1.0 Y#1;

<

адрес

><

переменная

>

A#101

<

адрес

><-><

переменная

>

A-#101

<

адрес

><->[<

выражение

>]

Z[#5041+3.5]

<

адрес

><->[<

выражение

>]

Z-[SIN[#1]]

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

 

опций

 

233

становится

G00 X1.0 ;

и

 

перемещения

 

по

 

оси

 Y 

не происходит

.

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

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

 - 

это

 

строки

 

кода

позволяющие

 

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

 

манипулировать

системой

 

управления

используя

 

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

свойственные

 

любому

стандартному

 

языку

 

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

Сюда

 

входят

 

функции

операторы

,

условные

 

и

 

арифметические

 

выражения

операторы

 

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

 

и

управляющие операторы

.

Функции

 

и

 

операторы

 

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

 

в

 

выражениях

 

для

 

изменения

 

переменных

 

или

значений

Выражения

 

обязательно

 

содержат

 

операторы

в

 

то

 

время

 

как

 

функции

просто

 

облегчают

 

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

.

Функции

Функции

 - 

это

 

встроенные

 

программы

которыми

 

может

 

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

 

программист

.

Все

 

функции

 

имеют

 

следующую

 

форму

: <

имя

_

функции

> [

аргумент

], 

и

 

возвращают

десятичные

 

значения

 

с

 

плавающей

 

точкой

В

 

систему

 

управления

 HAAS 

включены

следующие

 

функции

:

Функция

Аргумент

Возвращает

Примечания

SIN[ ]

Градусы

Десятичное

Синус

COS[ ]

Градусы

Десятичное

Косинус

TAN[ ]

Градусы

Десятичное

Тангенс

ATAN[ ]

Десятичное

Градусы

Арктангенс

 

То

 

же

 

что

 

и

 

FANUC ATAN[ ]/[1]

SQRT[ ]

Десятичное

Десятичное

Квадратный

 

корень

ABS[ ]

Десятичное

Десятичное

Модуль

 

числа

ROUND[ ]

Десятичное

Десятичное

Округление

 

десятичной

 

дроби

FIX[ ]

Десятичное

Целочисленное

Отбрасывание

 

младших

 

разрядов

ACOS[ ]

Десятичное

Градусы

Арккосинус

Подстановка

 

адреса

 

234

Примечания

 

по

 

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

 

функций

Функция

 

округления

 

ROUND

 

работает

 

по

-

разному

 

в

 

зависимости

 

от

 

контекста

в

котором

 

она

 

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

При

 

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

 

в

 

арифметическом

 

выражении

 

любое

число

с

 

дробной

 

частью

 

большей

 

или

 

равной

 .5 

округляется

 

до

 

следующего

 

целого

числа

в

 

остальных

 

случаях

 

дробная

 

часть

 

отсекается

 

от числа

.

%

#1=1.714 ;

#2=ROUND[#1] (

переменной

 #2 

присвоено

 

значение

 2.0) ;

#1=3.1416 ;

#2=ROUND[#1] (

переменной

 #2 

присвоено

 

значение

 3.0) ;

%

Если

 

оператор

 

ROUND

 (

округлить

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

 

в

 

адресном

 

выражении

метрические

и

 

угловые

 

размеры

 

округляются

 

с

 

точностью

 

до

 

трех

 

десятичных

 

знаков

Для

дюймовых

 

размеров

 

точность

 

по

 

умолчанию

 – 

четыре

 

знака

.

%

#1= 1.00333 ;

G00 X[ #1 + #1 ] ;

(

Ось

 X 

стола

 

перемещается

 

к

 2.0067) ;

G00 X[ ROUND[ #1 ] + ROUND[ #1 ] ] ;

(

Ось

 X 

стола

 

перемещается

 

к

 2.0067) ;

G00 A[ #1 + #1 ] ;

(

Ось

 

вращается

 

к

 2.007) ;

G00 A[ ROUND[ #1 ] + ROUND[ #1 ] ] ;

(

Ось

 

вращается

 

к

 2.007) ;

D[1.67] (

Диаметр

 

округляется

 

до

 2) ;

%

Разница

 

между

 

функциями

 Fix 

и

 Round

% ;

#1=3.54 ;

#2=ROUND[#1] ;

#3=FIX[#1]. % ;

#2 

будет

 

установлена

 

на

 4. #3 

будет

 

установлена

 

на

 3.

ASIN[ ]

Десятичное

Градусы

Арксинус

#[ ]

Целочисленное

Целочисленное

Косвенные

 

ссылки

см

страницу

 

231

Функция

Аргумент

Возвращает

Примечания

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

 

опций

 

235

Операторы

Операторы

 

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

 

на

 3 

категории

булевы

арифметические

 

и

 

логические

.

Булевы

 

операторы

Булевы

 

операторы

 

всегда

 

дают

 

в

 

результате

 1.0 (

ИСТИННО

или

 0.0 (

ЛОЖНО

).

Существует

 

шесть

 

булевых

 

операторов

Чаще

 

всего

 

они

 

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

 

в

 

условных

выражениях

но

 

не

 

ограничиваются

 

ими

Это

:

EQ

 - 

Равно

NE

 - 

Не

 

равно

GT

 - 

Больше

LT

 - 

Меньше

GE

 - 

Больше

 

или

 

равно

LE

 - 

Меньше

 

или

 

равно

Ниже

 

приводится

 

четыре

 

примера

 

того

как

 

можно

 

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

 

булевы

 

и

 

логические

операторы

:

Арифметические

 

операторы

Арифметические

 

операторы

 

состоят

 

из

 

обычных

 

унарных

 

и

 

бинарных

 

операторов

.

Они

 

указаны ниже

Пример

Пояснения

IF [#10001 EQ 0.0] GOTO100 ;

Переход

 

к

 

блоку

 100, 

если

 

значение

 

в

 

переменной

 

#10001 

равно

 0.0.

WHILE [#10101 LT 10] DO1 ;

Пока

 

переменная

 #10101 

меньше

 10, 

повторять

 

цикл

 DO1..END1.

#10001=[1.0 LT 5.0] ;

Переменной

 #10001 

установлена

 

на

 1.0 

(

ИСТИНА

).

IF [#10001 AND #10002 EQ 

#10003] GOTO1 ;

Если

 

переменная

 #10001 

И

 

переменная

 #10002 

равны

 

значению

 

в

 #10003, 

то

 

система

 

управления

 

выполняет

 

переход

 

в

 

блок

 1.

+

Унарный

 

плюс

+1.23

-

Унарный

 

минус

-[COS[30]] 

+

Бинарное

 

сложение

#10001=#10001+5

Подстановка

 

адреса

 

236

Логические

 

операторы

К

 

логическим

 

операторам

 

относятся

 

операторы

работающие

 

с

 

значениями

двоичных

 

битов

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

 - 

это

 

числа

 

с

 

плавающей

 

точкой

При

применении

 

логических

 

операторов

 

к

 

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

 

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

 

только

 

целая

часть

 

числа

 

с

 

плавающей

 

точкой

Логические

 

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

:

OR

 – 

Логическое

 

ИЛИ

 

для

 

двух

 

значений

XOR

 - 

Исключающее

 

ИЛИ

 

для

 

двух

 

значений

AND

 – 

Логическое

 

И

 

для

 

двух

 

значений

Примеры

:

%

#10001=1.0 ;

#10002=2.0 ;

#10003=#10001 OR #10002 ;

%

Здесь

 

переменная

 

#10003

 

будет

 

иметь

 

значение

 3.0 

после

 

выполнения

 

операции

ИЛИ

.

%

#10001=5.0 ;

#10002=3.0 ;

IF [[#10001 GT 3.0] AND [#10002 LT 10]] GOTO1 ;

%

 

Здесь

 

система

 

управления

 

переходит

 

к

 

блоку

 1, 

потому

 

что

 

#10001 GT 3.0

 

дает

результат

 1.0, 

а

 

#10002 LT 10

 

дает

 

результат

 1.0, 

таким

 

образом

, 1.0 

AND

 1.0 

дает

1.0 (

ИСТИНА

), 

значит

 

выполняется

 

команда

 

перехода

GOTO.

ПРИМЕЧАНИЕ

:

Чтобы

 

достичь

 

нужных

 

результатов

будьте

 

очень

осторожны

 

при

 

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

 

логических

 

операторов

.

-

Бинарное

 

вычитание

#10001=#10001-1

*

Умножение

#10001=#10002*#10003 

/

Деление

#10001=#10002/4

MOD

Остаток

#10001=27 MOD 20 (#10001 

содержит

 

7)

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

 

опций

 

237

Выражения

Выражения

 

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

 

как

 

любая

 

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

 

переменных

 

и

операторов

заключенная

 

в

 

квадратные

 

скобки

 

[

 

и

 

]

Есть

 

два

 

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

 

для

выражений

условные

 

выражения

 

или

 

арифметические

 

выражения

Условные

выражения

 

возвращают

 

значения

 

ЛОЖНО

 (0.0) 

или

 

ИСТИННО

 (

любое

 

отличное

 

от

нуля

). 

Арифметические

 

выражения

 

определяют

 

значение

 

с

 

помощью

арифметических

 

операторов

 

и функций

.

Арифметические

 

выражения

Арифметическим

 

является

 

любое

 

выражение

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

 

переменные

,

операторы

 

или

 

функции

Арифметическое

 

выражение

 

возвращает

 

некоторое

значение

Обычно

 

арифметические

 

выражения

 

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

 

в

 

операторах

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

но

 

не

 

ограничиваются ими

.

Примеры

 

арифметических

 

выражений

:

%

#10001=#10045*#10030 ;

#10001=#10001+1 ;

X[#10005+COS[#10001]] ;

#[#10200+#10013]=0 ;

%

Условные

 

выражения

В

 

системе

 

управления

 Haas 

все

 

выражения

 

задают

 

условное

 

значение

Это

 

значение

равно

 

либо

 0.0 (

ЛОЖНО

), 

либо

 

не

 

равно

 

нулю

  (

ИСТИННО

). 

Контекст

в

 

котором

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

 

выражение

определяет

является

 

ли

 

оно

 

условным

Условные

выражения

 

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

 

в

 

операторах

 

IF

 

и

 

WHILE

а

 

также

 

в

 

команде

 

M99

Условные

выражения

 

могут

 

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

 

булевы

 

операторы

 

для

 

определения

 

TRUE

(

ИСТИННОСТИ

или

 

FALSE

 (

ЛОЖНОСТИ

)

условия

.

Условная

 

конструкция

 

M99

 

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

 

только

 

в

 

системе

 

управления

 Haas. 

Без

макросов

 

M99

 

в

 

системе

 

управления

 Haas 

способна

 

выполнять

 

безусловный

 

переход

к

 

любой

 

строке

 

в

 

текущей

 

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

если

 

поместить

 

в

 

эту

 

строку

 

код

 

Р

.

Например

:

N50 M99 P10 ;

выполняет

 

переход

 

на

 

строку

 

N10

Команда

 

не

 

возвращает

 

управление

 

вызывающей

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

Если

 

макросы

 

включены

M99

 

можно

 

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

 

с

 

условным

выражением

 

для

 

выполнения

 

условного

 

перехода

Чтобы

 

выполнить

 

переход

 

с

переменной

 

#10000

 

меньше

 10, 

можно

 

составить

 

строку

 

выше

 

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

N50 [#10000 LT 10] M99 P10 ;

В

 

этом

 

случае

 

переход

 

произойдет

только

 

если

 

#10000

 

будет

 

меньше

 10. 

В

противном

 

случае

 

продолжится

 

обработка

 

следующей

 

строки

 

программы

В

 

примере

выше

 

условный

 

оператор

 

M99

 

можно

 

заменить на

 

N50 IF [#10000 LT 10] GOTO10 ;

 

 

 

 

 

 

 

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