Haas Фрезерный станок Руководство 96-RU8200 (Редакция A Январь 2014 г.) - часть 15

 

  Главная      Книги - Разные     Haas Фрезерный станок Руководство 96-RU8200 (Редакция A Январь 2014 г.)

 

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

 

   

 

   

 

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

 

 

 

Haas Фрезерный станок Руководство 96-RU8200 (Редакция A Январь 2014 г.) - часть 15

 

 

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

 

опций

 

219

5.3.3

Подробнее

 

о

 

системных

 

переменных

Системные

 

переменные

 

связаны

 

с

 

определенными

 

функциями

Подробное

 

описание

этих

 

функций

 

приводится

 

ниже

#8558

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

 

положение

 

СОЖ

#8559

Таймеры

 

подачи

 

инструмента

 (

секунд

)

#8560

Таймеры

 

полного

 

времени

 

инструмента

 (

в

 

секундах

)

#8561

Ограничение

 

срока

 

службы

 

инструмента

#8562

Счетчик

 

срока

 

службы

 

инструмента

#8563

Контроль

 

нагрузки

 

инструмента

 (

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

 

нагрузка

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

 

до

 

настоящего

 

времени

)

#8564

Ограничение

 

срока

 

службы

 

инструмента

#14401

-

#14406

G154 P21

 

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

 

коррекции

 

детали

#14421

-

#14426

G154 P22

 

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

 

коррекции

 

детали

#14441

-

#14446

G154 P23

 

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

 

коррекции

 

детали

#14461

-

#14466

G154 P24

 

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

 

коррекции

 

детали

#14481

-

#14486

G154 P25

 

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

 

коррекции

 

детали

#14501

-

#14506

G154 P26

 

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

 

коррекции

 

детали

#14521

-

#14526

G154 P27

 

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

 

коррекции

 

детали

#14541

-

#14546

G154 P28

 

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

 

коррекции

 

детали

#14561

-

#14566

G154 P29

 

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

 

коррекции

 

детали

#14581

-

#14586

G154 P30

 

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

 

коррекции

 

детали

#14581

+(20n) - 

#14586

+(20n)

G154 P(30+n)

#15961

-

#15966

G154 P99

 

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

 

коррекции

 

детали

ПЕРЕМЕННЫЕ

ИСПОЛЬЗОВАНИЕ

Подробнее

 

о

 

системных

 

переменных

 

220

Переменные

 

с

 #550 

по

 #580

Если

 

фрезерный

 

станок

 

оборудован

 

системой

 

измерения

 

головкой

эти

 

переменные

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

 

для

 

хранения

 

данных

 

калибровки

 

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

 

головки

Если

 

эти

переменные

 

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

необходимо

 

полностью

 

выполнить

 

повторную

калибровку

 

измерительной головки

.

1-

разрядные

 

дискретные

 

входы

Входы

обозначенные

 

как

  «

резервные

» (spare), 

можно

 

подключать

 

к

 

внешним

устройствам

 

для

 

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

.

Максимальные

 

нагрузки

 

оси

Следующие

 

переменные

 

содержат

 

максимальные

 

нагрузки

 

оси

которые

 

ось

достигла

 

с

 

момента

 

последнего

 

включения

 

станка

 

или

 

с

 

момента

 

очистки

 

значения

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

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

 

нагрузка

 

оси

 – 

это

 

самая

 

большая

 

нагрузка

 (100.0

= 100 %), 

которую

 

испытала

 

ось

а

 

не

 

нагрузка

 

оси

 

на

 

момент

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

.

Коррекция

 

на

 

инструмент

Каждая

 

коррекция

 

на

 

инструмент

 

имеет

 

длину

 (H) 

и

 

радиус

 (D) 

вместе

 

с

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

 

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

.

#1064

 = 

ось

X

#1264

 = 

ось

 C

#1065

 = 

ось

Y

#1265

 = 

ось

 U

#1066

 = 

ось

Z

#1266

 = 

ось

 V

#1067

 = 

ось

 A

#1267

 = 

ось

 W

#1068

 = 

ось

 B

#1268

 = 

ось

 T

#2001

-

#2200

Коррекции

 

геометрии

 

H

 (1-200) 

для

 

длины

.

#2200

-

#2400

Износ

 

геометрии

 

H

 (1-200) 

для

 

длины

.

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

 

опций

 

221

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

 

сообщения

#3000

 

Сигналы

 

об

 

ошибке

 

можно

 

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

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

 

сигнал

 

об

ошибке

 

будет

 

действовать

 

как

 

встроенные

 

сигналы

 

об

 

ошибке

Сигнал

 

об

 

ошибке

выдается

 

путем

 

присвоения

 

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

 

#3000

 

числового

 

значения

 

от

  1

до

999.

#3000= 15 (

СООБЩЕНИЕ

ПОМЕЩАЕМОЕ

 

В

 

СПИСОК

 

ОШИБОК

);

Если

 

это

 

сделать

 

в

 

внизу

 

экрана

 

мигает

 

индикация

 

Сигнал

 

об

 

ошибке

а

 

в

 

список

сигналов

 

об

 

ошибке

 

заносится

 

текст

 

в

 

следующем

 

комментарии

К

 

номеру

аварийного

 

сообщения

 (

например

, 15) 

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

 1000 

и

 

эта

 

сумма

 

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

в

 

качестве

 

номера

 

аварийного

 

сообщения

При

 

выдаче

 

такого

 

аварийного

 

сообщения

все

 

перемещения

 

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

 

и

 

для

 

продолжения

 

требуется

 

сброс

 

программы

.

Номера

 

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

 

сигналов

 

об

 

ошибке

 

всегда

 

находятся

 

в

 

диапазоне

 

от

1000 

до

 1999. 

Первые

 34 

символа

 

комментария

 

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

 

в

 

качестве

 

сообщения

об ошибке

.

Таймеры

Можно

 

установить

 

два

 

таймера

 

на

 

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

 

значение

 

путем

 

присвоения

числового

 

значения

 

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

 

переменной

Программа

 

затем

 

может

выполнить

 

чтение

 

этой

 

переменной

 

и

 

определить

 

время

прошедшее

 

с

 

момента

запуска

 

таймера

Таймеры

 

можно

 

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

 

для

 

имитации

 

циклов

 

задержки

,

определения

 

времени

 

обработки

 

деталей

 

или

 

в

 

других

 

случаях

когда

 

необходимо

поведение

зависящее

 

от времени

.

#3001

 

Таймер

 

миллисекунд

 – 

Таймер

 

миллисекунд

 

обновляется

 

каждые

 20

миллисекунд

таким

 

образом

 

события

 

можно

 

хронометрировать

 

с

 

точностью

только

 20 

миллисекунд

При

 

включении

 

питания

 

показания

 

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

сбрасываются

Таймер

 

имеет

 

предел

 

работы

 - 497 

суток

Целое

 

число

,

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

 

при

 

обращении

 

к

 

#3001

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

 

собой

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

.

#3002

 

Часовой

 

таймер

 – 

Часовой

 

таймер

 

похож

 

на

 

таймер

 

миллисекунд

с

 

той

разницей

что

 

число

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

 

при

 

обращении

 

к

 

#3002

означает

количество

 

часов

Часовый

 

таймер

 

и

 

таймер

 

миллисекунд

 

независимы

 

друг

 

от

друга

 

и

 

могут

 

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

.

#2401

-

#2600

Коррекции

 

геометрии

 

D

 (1-200) 

для

 

диаметра

.

#2601

-

#2800

Износ

 

геометрии

 

D

 (1-200) 

для

 

диаметра

.

Подробнее

 

о

 

системных

 

переменных

 

222

Ручные

 

коррекции

 

системы

#3003

 

Переменная

 

является

 

параметром

 

блокировки

 

режима

 

одиночного

 

блока

.

Она

 

обходит

 

функцию

  "

покадровый

 

режим

" G-

кода

  (

т

.

е

является

 

более

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

В

 

следующем

 

примере

 

функция

 

одиночного

 

блока

 

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

если

#3003

 

равен

 1. 

После

 

того

как

 

#3003

 

установлен

 =1, 

все

 

команды

 

кода

 G (

строки

 2-5)

выполняются

 

непрерывно

несмотря

 

на

 

то

что

 

функция

 

одиночного

 

блока

 

ВКЛЮЧЕНА

.

Если

 

#3003

 

задается

 

равной

 

нулю

функция

 

одиночного

 

блока

 

действует

 

как

 

обычно

.

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

 

должен

 

нажимать

 

[CYCLE START]

 

для

 

выполнения

 

каждой

 

строки

программы

 (

строки

7-11).

#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]

Если

 

[FEED HOLD]

 

не

 

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

 

во

 

время

исполнения

 

части

 

текста

 

программы

необходимо

 

перед

 

этими

 

строками

 

программы

задать

 

переменной

 

#3004

 

значение

 1. 

После

 

этой

 

части

 

текста

 

программы

 

задайте

значение

 

#3004

 

равное

 0 

для

 

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

 

действия

 

[FEED HOLD]

Например

:

(

Текст

 

программы

 

для

 

подвода

 – 

[FEED HOLD]

 

допускается

;
#3004=1 (

Выключает

 

[FEED HOLD]

) ;

(

Текст

 

программы

 

без

 

остановки

 – 

[FEED HOLD]

 

не

 

допускается

) ;

#3004=0 (

Включает

 

[FEED HOLD]

) ;

(

Текст

 

программы

 

для

 

отвода

 – 

[FEED HOLD]

 

допускается

) ;

Ниже

 

приводится

 

карта

 

разрядов

 

переменной

 

#3004

 

и

 

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

 

функции

ручной

 

коррекции

. E – 

Включено

 D –

Выключено

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

 

опций

 

223

#3006 

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

 

останов

Можно

 

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

 

останов

 

с

 

поведением

аналогичным

 

M00

 - 

Система

управления

 

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

 

и

 

ожидает

 

нажатия

 

[CYCLE START]

После

 

нажатия

[CYCLE START]

 

программа

 

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

 

с

 

блоком

 

после

 

#3006

В

 

следующем

примере

 

первые

 15 

символов

 

комментария

 

отображаются

 

в

 

нижней

 

левой

части экрана

.

IF [#1 EQ #0] THEN #3006=101 (

здесь

 

комментарий

);

#4001-#4021 

Групповые

 

коды

 

последнего

 

блока

 

(

модальные

)

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

 G-

кодов

 

позволяет

 

повысить

 

эффективность

 

обработки

. G-

коды

 

с

близкими

 

функциями

 

обычно

 

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

 

в

 

одну

 

группу

Например

G90

 

и

 

G91

находятся

 

в

 

группе

 3. 

Эти

 

переменные

 

хранят

 

последний

 

код

 

или

 G-

код

 

по

умолчанию

 

для

 

одной

 

из

 21 

групп

При

 

чтении

 

группового

 

кода

 

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

может

 

изменить

 

поведение

 G-

кода

Если

 

#4003

 

содержит

 91, 

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

 

может

определить

что

 

все

 

перемещения

 

должны

 

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

а

 

не

 

абсолютными

.

Нулевой

 

группе

 

не

 

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

 

переменная

, G-

коды

 

нулевой

 

группы

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

.

#3004

Остановка

 

подачи

Коррекция

 

скорости

 

подачи

Проверка

 

абсолютной

 

остановки

0

Е

Е

Е

1

D

Е

Е

2

Е

D

Е

3

D

D

Е

4

Е

Е

D

5

D

Е

D

6

Е

D

D

7

D

D

D

Подробнее

 

о

 

системных

 

переменных

 

224

#4101-#4126 

Адресные

 

данные

 

последнего

 

блока

 

(

модальные

)

Адресные

 

коды

 

от

 

А

 

до

 Z (

исключая

 G) 

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

 

как

 

модальные

 

значения

.

Данные

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

 

последней

 

строкой

 

программы

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

процессом

 

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

 

просмотра

содержатся

 

в

 

переменных

 

с

 

#4101

 

по

 

#4126

.

Числовое

 

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

 

номеров

 

переменной

 

с

 

буквенными

 

адресами

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

 

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

 

под

 

буквенными

 

адресами

Например

значение

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

 

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

 

адреса

 

D

 

находится

 

в

 

#4107

а

 

последнее

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

 

значение

 

I

 – 

это

 

#4104

При

 

задании

 

псевдонима

 

макроса

 

для

M-

кода

 

нельзя

 

передавать

 

переменные

 

в

 

макрос

 

с

 

помощью

 

переменных

 

#1

-

#33

;

вместо

 

этого

 

необходимо

 

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

 

значения

 

из

 

#4101

-

#4126

 

в макросе

.

#5001-#5006 

Последняя

 

заданная

 

позиция

Доступ

 

к

 

последней

 

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

 

точке

 

последнего

 

блока

 

перемещения

можно

 

получить

 

через

 

переменные

 

#5001

-

#5006

X

Y

Z

A

B

 

и

 

C

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

.

Значения

 

даются

 

в

 

текущей

 

системе

 

координат

 

детали

и

 

их

 

можно

 

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

,

когда

 

станок

 

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

.

Переменные

 

положения

 

осей

#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

-

#5045

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

 

оси

 

X

Y

Z

A

B

 

и

 

C

,

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

.

ПРИМЕЧАНИЕ

:

Эти

 

значения

 

нельзя

 

прочитать

когда

 

станок

 

находится

 

в

движении

.

Значение

 

#5043

 (

Z

дается

 

с

 

коррекцией

 

на

 

длину

 

инструмента

примененной

 

к нему

.

#5061-#5069 

Текущая

 

позиция

 

сигнала

 

пропуска

Положение

в

 

котором

 

сработал

 

последний

 

сигнал

 

пропуска

можно

 

получить

 

с

помощью

 

#5061

-

#5069

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

 

X

Y

Z

A

B

C

U

V

 

и

 

W

 

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

.

Значения

 

даются

 

в

 

текущей

 

рабочей

 

системе

 

координат

 

и

 

могут

 

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

,

когда

 

станок

 

находится

 

в

 

движении

Значение

 

#5063

  (

Z

дается

 

с

 

коррекцией

 

на

длину

 

инструмента

примененной

 

к нему

.

#5081-#5085 

Коррекция

 

на

 

длину

 

инструмента

Возвращает

 

текущее

 

значение

 

коррекции

 

на

 

длину

 

инструмента

Это

 

включает

коррекцию

 

на

 

длину

 

инструмента

к

 

которой

 

обращается

 

текущее

 

значение

заданное

в

 

H

 (

#4008

плюс

 

значение

 

износа

.

ПРИМЕЧАНИЕ

:

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

 

осей

 

следующее

: x=1, y=2, … b=5. 

Таким

образом

для

 

примера

переменная

 Z 

системы

 

координат

станка

 

будет

 

#5023

.

#6996-#6999 

Доступ

 

к

 

параметрам

 

с

 

помощью

 

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

Программа

 

может

 

обращаться

 

к

 

параметрам

 1 - 1000 

и

 

любому

 

из

 

битов

 

параметра

следующим

 

образом

:

#6996

Номер

 

параметра

#6997

Номер

 

бита

 (

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

)

Подробнее

 

о

 

системных

 

переменных

 

226

#6998

Содержит

 

значение

 

номера

 

параметра

 

в

 

переменной

 

#6996

#6999

Содержит

 

значение

 

бита

 (0 

или

 1) 

бита

 

параметра

указанного

 

в

 

переменной

#6997

.

ПРИМЕЧАНИЕ

:

Переменные

 

#6998

 

и

 

#6999

 – 

только

 

для

 

чтения

.

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

Для

 

получения

 

доступа

 

к

 

значению

 

параметра

 

номер

 

этого

 

параметра

 

копируется

 

в

переменную

 

#6996

после

 

чего

 

значение

 

этого

 

параметра

 

становится

 

доступным

 

при

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

 

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

 

#6998

как

 

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

:

#6996=601 (

Задать

 

параметр

 601) ;

#100=#6998 (

Копировать

 

значение

 

параметра

 601 

в

 

переменную

 #100) ;

Для

 

получения

 

доступа

 

к

 

конкретному

 

биту

 

параметра

 

номер

 

параметра

 

копируется

в

 

переменную

 6996, 

а

 

номер

 

бита

 

копируется

 

в

 

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

 6997. 

Значение

бита

 

этого

 

параметра

 

становится

 

доступным

 

при

 

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

 

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

6999, 

как

 

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

:

#6996=57 (

Задать

 

параметр

 57) ;

#6997=0 (

Задать

 

нулевой

 

бит

) ;

#100=#6999 (

Копировать

 

параметр

 57 

бит

 0 

в

 

переменную

 

#100) ;

ПРИМЕЧАНИЕ

:

Биты

 

параметра

 

имеют

 

номера

 

от

 0 

до

 31. 32-

битные

параметры

 

выводятся

 

на

 

экран

 

с

 

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

бит

 0 –

вверху

 

слева

бит

 31 – 

внизу справа

.

УАСС

Состояние

 

спутников

из

 

устройства

 

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

 

смены

 

спутников

 

проверяется

 

с

помощью

 

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

:

#7501

-

#7506

Приоритет

 

спутника

#7601

-

#7606

Состояние

 

спутника

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

 

опций

 

227

Коррекция

 

детали

Внутри

 

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

 

можно

 

выполнить

 

чтение

 

и

 

задать

 

значения

 

всех

 

коррекций

детали

это

 

позволяет

 

задавать

 

координаты

 

приблизительного

 

положения

 

или

присваивать

 

координаты

 

значениям

основываясь

 

на

 

результатах

 

положения

сигнала

 

пропуска

 

и

 

расчетов

При

 

выполнении

 

чтения

 

любого

 

из

 

значений

 

коррекции

очередь

 

опережающей

 

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

 

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

 

до

 

выполнения

 

этого блока

.

#7701

-

#7706

Номера

 

программ

 

обработки

 

детали

назначенных

 

спутникам

#7801

-

#7806

Подсчет

 

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

 

спутника

#3028

Номер

 

спутника

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

 

на

 

приемник

#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

#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

#7001

#7006

ЗНАЧЕНИЯ

 

КОРРЕКЦИИ

 

G110

 

X

Y

Z

A

B

C

#7021

-

#7026

 

(

#14021

-

#14026

)

G111 (G154 P2)

 

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

 

коррекции

 

детали

#7041

-

#7046

 

(

#14041

-

#14046

)

G112 (G154 P3)

 

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

 

коррекции

 

детали

#7061

-

#7066

 

(

#14061

-

#14066

)

G113 (G154 P4)

 

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

 

коррекции

 

детали

#7081

-

#7086

 

(

#14081

-

#14086

)

G114 (G154 P5)

 

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

 

коррекции

 

детали

Подробнее

 

о

 

системных

 

переменных

 

228

#7101

-

#7106

 

(

#14101

-

#14106

)

G115 (G154 P6)

 

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

 

коррекции

 

детали

#7121

-

#7126

 

(

#14121

-

#14126

)

G116 (G154 P7)

 

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

 

коррекции

 

детали

#7141

-

#7146

 

(

#14141

-

#14146

)

G117 (G154 P8)

 

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

 

коррекции

 

детали

#7161

-

#7166

 

(

#14161

-

#14166

)

G118 (G154 P9)

 

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

 

коррекции

 

детали

#7181

-

#7186

 

(

#14181

-

#14186

)

G119 (G154 P10)

 

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

 

коррекции

 

детали

#7201

-

#7206

 

(

#14201

-

#14206

)

G120 (G154 P11)

 

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

 

коррекции

 

детали

#7221

-

#7226

 

(

#14221

-

#14221

)

G121 (G154 P12)

 

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

 

коррекции

 

детали

#7241

-

#7246

 

(

#14241

-

#14246

)

G122 (G154 P13)

 

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

 

коррекции

 

детали

#7261

-

#7266

 

(

#14261

-

#14266

)

G123 (G154 P14)

 

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

 

коррекции

 

детали

#7281

-

#7286

 

(

#14281

-

#14286

)

G124 (G154 P15)

 

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

 

коррекции

 

детали

#7301

-

#7306

 

(

#14301

-

#14306

)

G125 (G154 P16)

 

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

 

коррекции

 

детали

#7321

-

#7326

 

(

#14321

-

#14326

)

G126 (G154 P17)

 

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

 

коррекции

 

детали

#7341

-

#7346

 

(

#14341

-

#14346

)

G127 (G154 P18)

 

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

 

коррекции

 

детали

#7361

-

#7366

 

(

#14361

-

#14366

)

G128 (G154 P19)

 

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

 

коррекции

 

детали

#7381

-

#7386

 

(

#14381

-

#14386

)

G129 (G154 P20)

 

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

 

коррекции

 

детали

#7381

#7386

ЗНАЧЕНИЯ

 

КОРРЕКЦИИ

 

G129

 

X

Y

Z

A

B

C

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

 

опций

 

229

#8550-#8567

Эти

 

переменные

 

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

 

информацию

 

об

 

инструменте

Установите

переменную

 

#8550

 

на

 

номер

 

инструмента

 

или

 

номер

 

группы

 

инструмента

затем

обращайтесь

 

к

 

данным

 

для

 

выбранного

 

инструмента

/

группы

 

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

 

с

помощью

 

макросов

 

только

 

для

 

чтения

 

#8551

-

#8564

Если

 

задается

 

номер

 

группы

инструмента

выбранный

 

инструмент

 

будет

 

следующим

 

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

 

в

 

этой группе

.

5.3.4

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

 

переменных

Обращение

 

ко

 

всем

 

переменным

 

выполнятся

 

с

 

помощью

 

знака

  «

фунт

» (

#

и

следующего

 

за

 

ним

 

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

 

числа

#1

#101

 

и

#501

.

Переменные

 - 

это

 

десятичные

 

значения

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

 

в

 

виде

 

числе

 

с

 

плавающей

точкой

Если

 

переменная

 

ни

 

разу

 

не

 

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

она

 

имеет

 

особое

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

 

значение

Оно

 

указывает

 

на

 

то

что

 

переменная

 

еще

 

не

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

Переменной

 

можно

 

назначить

 

тип

 

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

 

с

 

помощью

специальной

 

переменной

 

#0

#0

 

имеет

 

значение

  «

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

» 

или

 0.0, 

в

зависимости

 

от

 

контекста

Косвенные

 

ссылки

 

на

 

переменные

 

можно

 

выполнять

заключением

 

номера

 

переменной

 

в

 

скобки

:

#[

выражение

]

Выражение

 

вычисляется

 

и

 

его

 

результат

 

становится

 

номером

 

переменной

.

Например

:

#1=3 ;
#[#1]=3.5 + #1 ;

Это

 

выражение

 

присваивает

 

переменной

 #3 

значение

 6.5.

Переменную

 

можно

 

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

 

вместо

 

адреса

 G-

кода

где

 

адрес

 

относится

 

к

буквам

 

A

-

Z

.

В

 

блоке

 

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 ;

Значения

 

в

 

переменных

 

во

 

время

 

выполнения

 

программы

 

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

 

как

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

.

Подстановка

 

адреса

 

230

5.3.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, 

то

G1X#1 

переместит

 

станок

 

в

 

положение

 .1235 

по

 

оси

X. 

Если

 

система

 

управления

работает

 

в

 

метрическом

 

режиме

станок

 

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

 

в

 

положение

 .123 

по

 

оси Х

.

При

 

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

 

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

 

переменной

 

в

 

качестве

 

значения

 

адреса

 

это

обращение

 

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

Например

если

 

переменная

 #1 

не

 

определена

то блок

G00 X1.0 Y#1;

становится

<

адрес

><-><

переменная

>

A-#101

<

адрес

><->[<

выражение

>]

Y[#5041+3.5]

<

адрес

><->[<

выражение

>]

Z-[SIN[#1]]

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

 

опций

 

231

G00 X1.0 ;

и

 

перемещения

 

по

 

оси

 Y 

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

.

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

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

 - 

это

 

строки

 

кода

позволяющие

 

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

 

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

системой

 

управления

используя

 

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

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

 

любому

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

 

языку

 

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

Сюда

 

входят

 

функции

операторы

,

условные

 

и

 

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

 

выражения

операторы

 

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

 

и

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

.

Функции

 

и

 

операторы

 

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

 

в

 

выражениях

 

для

 

изменения

 

переменных

 

или

значений

Выражения

 

обязательно

 

содержат

 

операторы

в

 

то

 

время

 

как

 

функции

просто

 

облегчают

 

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

.

Функции

Функции

 - 

это

 

встроенные

 

программы

которыми

 

может

 

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

 

программист

.

Все

 

функции

 

имеют

 

следующую

 

форму

: <

имя

_

функции

> [

аргумент

], 

и

 

возвращают

десятичные

 

значения

 

с

 

плавающей

 

точкой

В

 

систему

 

управления

 HAAS 

включены

следующие

 

функции

:

Функция

Аргумент

Возвращает

Примечания

SIN[ ]

Градусы

Десятичное

Синус

COS[ ]

Градусы

Десятичное

Косинус

TAN[ ]

Градусы

Десятичное

Тангенс

ATAN[ ]

Десятичное

Градусы

Арктангенс

 

То

 

же

 

что

 

и

 

FANUC ATAN[ ]/[1]

SQRT[ ]

Десятичное

Десятичное

Квадратный

 

корень

ABS[ ]

Десятичное

Десятичное

Модуль

 

числа

ROUND[ ]

Десятичное

Десятичное

Округление

 

десятичной

 

дроби

FIX[ ]

Десятичное

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

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

 

младших

 

разрядов

Подстановка

 

адреса

 

232

Примечания

 

по

 

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

 

функций

Функция

 

округления

 

ROUND

 

работает

 

по

-

разному

 

в

 

зависимости

 

от

 

контекста

в

котором

 

она

 

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

При

 

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

 

в

 

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

 

выражении

 

любое

число

с

 

дробной

 

частью

 

большей

 

или

 

равной

 .5 

округляется

 

до

 

следующего

 

целого

числа

в

 

остальных

 

случаях

 

дробная

 

часть

 

отсекается

 

от числа

.

#1= 1.714 ;
#2= ROUND[#1] ; (

переменной

 #2 

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

 

значение

 

2.0) ;
#1= 3.1416 ;
#2= ROUND[#1] ; (

переменной

 #2 

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

 

значение

 

3.0) ;

Если

 

округление

 

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

 

в

 

адресном

 

выражении

аргумент

 

функции

 

ROUND

округляется

 

до

 

значимого

 

разряда

Для

 

метрических

 

и

 

угловых

 

размеров

 

точность

 

по

умолчанию

 - 

три

 

знака

Для

 

дюймовых

 

размеров

 

точность

 

по

 

умолчанию

  –

четыре знака

.

#1= 1.00333 ;
G0 X[ #1 + #1 ] ;
(

Стол

 

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

 

к

 2.0067) ;

G0 X[ ROUND[ #1 ] + ROUND[ #1 ] ] ;
(

Стол

 

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

 

к

 2.0066) ;

G0 A[ #1 + #1 ] ;
(

Ось

 

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

 

к

 2.007) ;

G0 A[ ROUND[ #1 ] + ROUND[ #1 ] ] ;
(

Ось

 

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

 

к

 2.006) ;

D[1.67] (

Диаметр

 2 

сделан

 

текущим

) ;

ACOS[ ]

Десятичное

Градусы

Арккосинус

ASIN[ ]

Десятичное

Градусы

Арксинус

#[ ]

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

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

Разыменование

 

переменной

DPRNT[ ]

Текст

 

в

 

кодировке

 

ASCII

Внешний

 

вывод

Функция

Аргумент

Возвращает

Примечания

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

 

опций

 

233

Разница

 

между

 

функциями

 Fix 

и

 Round

#1=3.54 ;
#2=ROUND[#1] ;
#3=FIX[#1].

#2 

получит

 

значение

 4, 

а

 #3 - 

значение

 3.

Операторы

Операторы

 

можно

 

разделить

 

на

 

три

 

категории

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

логические

и булевы

.

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

 

операторы

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

 

операторы

 

состоят

 

из

 

обычных

 

унарных

 

и

 

бинарных

 

операторов

.

Они

 

указаны ниже

:

Логические

 

операторы

К

 

логическим

 

операторам

 

относятся

 

операторы

работающие

 

с

 

значениями

двоичных

 

битов

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

 

являются

 

числами

 

с

 

плавающей

 

точкой

При

применении

 

логических

 

операторов

 

к

 

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

 

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

 

только

 

целая

часть

 

числа

 

с

 

плавающей

 

точкой

Логические

 

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

:

OR

 – 

Логическое

 

ИЛИ

 

для

 

двух

 

значений

+

Унарный

 

плюс

+1.23

-

Унарный

 

минус

-[COS[30]] 

+

Бинарное

 

сложение

#1=#1+5

-

Бинарное

 

вычитание

#1=#1-1

*

Умножение

#1=#2*#3 

/

Деление

#1=#2/4

MOD

Остаток

#1=27 MOD 20 (#1 

содержит

 7)

Подстановка

 

адреса

 

234

XOR

 - 

Исключающее

 

ИЛИ

 

для

 

двух

 

значений

AND

 – 

Логическое

 

И

 

для

 

двух

 

значений

Примеры

:

#1=1.0 ;
#2=2.0 ;
#3=#1 OR #2 ;

Здесь

 

переменная

 

#3

 

будет

 

иметь

 

значение

 3.0 

после

 

выполнения

 

операции

 

ИЛИ

(OR).

#1=5.0 ;
#2=3.0 ;
IF [[#1 GT 3.0] AND [#2 LT 10]] GOTO1 ;

 

Здесь

 

система

 

управления

 

перейдет

 

к

 

блоку

 1, 

потому

 

что

 

#1 GT 3.0

 

дает

 

результат

1.0, 

а

 

#2 LT 10

 

дает

 

результат

 1.0, 

таким

 

образом

, 1.0 

AND

 1.0 

дает

 1.0 (

ИСТИНА

),

значит

 

выполняется

 

команда

 

перехода

GOTO.

ПРИМЕЧАНИЕ

:

Для

 

достижения

 

необходимого

 

результата

 

при

 

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

логических

 

операторов

 

необходимо

 

проявлять осторожность

.

Булевы

 

операторы

Булевы

 

операторы

 

всегда

 

дают

 

в

 

результате

 1.0 (

ИСТИННО

или

 0.0 (

ЛОЖНО

).

Существует

 

шесть

 

булевых

 

операторов

Чаще

 

всего

 

они

 

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

 

в

 

условных

выражениях

но

 

не

 

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

 

ими

Это

EQ

 - 

Равно

NE

 - 

Не

 

равно

GT

 - 

Больше

LT

 - 

Меньше

GE

 - 

Больше

 

или

 

равно

LE

 - 

Меньше

 

или

 

равно

Ниже

 

приводится

 

четыре

 

примера

 

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

 

булевых

 

и

 

логических

 

операторов

:

 

 

 

 

 

 

 

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