Современный станок с ЧПУ и CAD/CAM-система [Андрей Анатольевич Ловыгин] (pdf) читать постранично, страница - 45
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
Можно реализовать более удобный вариант, который позволит изменять значения переменных в любой момент, не прибегая к изменению самой программы:
#3=#2+#1
Как видите, переменным #1 и #2 в программе не присвоено никаких значений.
Оператор станка может войти в область переменных MACRO и ввести любое числовое значение для любой переменной.
№ переменной
0
1
2
3
4
…
700
701
…
Значение
0
10
12
0
0
0
0
После того как оператор станка присвоил переменной #1 значение 10, а переменной #2 значение 12 и выполнил программу, значение переменной #3 станет
равным 22.
№ переменной
0
1
2
3
4
…
700
701
…
Значение
0
10
12
22
0
0
0
136
Основы эффективного программирования
Все переменные системы ЧПУ можно условно разделить на 4 типа:
нулевые;
локальные;
общие;
системные.
Локальные переменные могут быть использованы внутри макросов для хранения данных. При выключении электропитания локальные переменные обнуляются. У большинства станков с СЧПУ Fanuc нулевой серии локальными являются переменные с номерами от 1 до 33.
Общие переменные могут работать внутри различных параметрических программ и макросов. При выключении электропитания некоторые общие переменные
обнуляются, а некоторые сохраняют свои значения. У большинства станков с СЧПУ
Fanuc нулевой серии общими являются переменные с номерами от 100 до 999.
Системные переменные используются для чтения и записи различной системной информации – данных о позиции инструмента, величинах компенсации,
времени и др. Номера системных переменных для Fanuc нулевой серии начинаются с 1000.
Нулевые переменные всегда равны нулю.
Для выполнения арифметических и логических операций язык Macro В предоставляет набор команд и операторов.
Таблица 10.1. Основные арифметические
и логические команды
Функции
Равенство
Сложение
Вычитание
Умножение
Деление
Синус
Косинус
Тангенс
Арктангенс
Квадратный корень
Абсолютное значение
Округление
ИЛИ (OR)
И (AND)
Формат
#a=#b
#c=#a+#b
#c=#a-#b
#c=#a*#b
#c=#a/#b
#c=SIN[#b]
#c=COS[#b]
#c=TAN[#b]
#c=ATAN[#b]
#c=SQRT[#b]
#c=ABS[#b]
#c=ROUND[#b]
#c=#a OR #b
#c=#a AND #b
Для управления переменными и для выполнения различных логических операций служат макрокоманды. Макрокоманды языка Macro В похожи на команды
Бейсика.
Команда безусловного перехода GOTO предназначена для передачи управления определенному кадру программы. Формат команды следующий:
GOTO N – безусловный переход к кадру N;
GOTO #A – безусловный переход к кадру, установленному переменной #A.
Параметрическое программирование
137
Пример:
…
N10 G01 X100
N20 G01 X-100
N30 GOTO 10
…
После выполнения кадра N30 система ЧПУ переходит к кадру N10. Затем снова работает с кадрами N20 и N30 – получается бесконечный цикл.
Команда условия IF позволяет выполнять различные действия с условием.
После IF указывается некоторое выражение. Если это выражение оказывается
справедливым, то выполняется команда (например, команда безусловного перехода), находящаяся в кадре с IF. Если выражение оказывается несправедливым,
то команда, находящаяся в кадре с IF, не выполняется, а управление передается
следующему кадру.
Формат команды следующий:
IF [#a GT #b] GOTO N
Пример:
…
#1=100
#2=80
N10 G01 X200
N20 IF [#1 GT #2] GOTO 40
N30 G01 X300
N40 M30
…
В начале программного примера переменным #1 и #2 присваиваются значения 100 и 80 соответственно. В кадре N20 происходит проверка условия. Если
значение переменной #1 больше значения переменной #2, то выполняется команда перехода GOTO к кадру окончания программы N40. В нашем случае выражение считается справедливым, так как 100 больше, чем 80. В результате после
выполнения кадра N10 происходит переход к кадру N40, то есть кадр N30 не выполняется.
В этой же программе можно изменить значения переменных:
#1=100
#2=120
N10 G01 Х200
N20 IF [#1 GT #2] GOTO 40
N30 G01 Х300
N40M30
Во втором случае условие в кадре N20 не будет справедливым, так как 100 не
больше, чем 120. В результате после выполнения кадра N10 не происходит переход
к кадру N40, то есть кадр N30 выполняется как обычно.
138
Основы эффективного программирования
В выражении [#1 GT #2] используются операторы сравнения. В табл. 10.2 сведены операторы для сравнения переменных языка Macro В.
Таблица 10.2. Операторы сравнения
Оператор
EQ
NE
GT
GE
LT
LE
Смысл
Равно (=)
Не равно
Больше (>)
Больше или равно
Меньше (
Последние комментарии
11 часов 26 минут назад
14 часов 7 секунд назад
14 часов 28 минут назад
14 часов 35 минут назад
8 часов 51 минут назад
17 часов 38 минут назад