Загрузил Вадим Чекалов

RU High Level Language Milling Fundamentals v47

реклама
SINUMERIK Operate
SINUMERIK
828D/840D sl
Основы языка программирования
высокого уровня
Редакция 2018.03
Учебное руководство
Настоящий документ предназначен для целей обучения.
Компания Siemens не несет ответственности за его
SINUMERIK
Основы языка программирования высокого уровня
Действительно для:
SINUMERIK 828D
SINUMERIK 840D sl
SW4.7
SW4.7
Содержание
Начало
M200
Основы языка
программирования высокого
уровня
M203
M201
Подпрограмма
M209
Цикл
Расширенный
Конец
M202
R-параметр
M208
Цикл
глубины
сверления
Переходы и
пользовательс
кие
переменные
M207
Кадры
M205
Системная
переменная
Подпрограмма
M206
Системная
переменная
Запрос
безопасности
Основы языка программирования
высокого уровня
M200
SINUMERIK
Operate
Описание модуля:
В данном модуле описывается процедура темы «Основы языка программирования высокого
уровня»
Определяется и описывается термин «Язык высокого уровня» для SINUMERIK.
828D/840D sl SINUMERIK Operate
Здесь же демонстрируется структура модулей «Основы языка программирования высокого
уровня».
Назначение:
Вы узнаете, как применить «Основы языка программирования высокого уровня» в
целях упрощения использования и внедрения тем и примеров, содержащихся в
модуле.
Содержание:
Определение «Язык высокого уровня» в контексте SINUMERIK
Применение содержимого документации «Основы языка программирования
высокого уровня»
828D/840Dsl SINUMERIK Operate v4.7
Стр. 1
Настоящий документ предназначен для целей обучения.
Компания Siemens не несет ответственности за его
содержание.
M200
M200
M200
Стр. 2
828D/840Dsl SINUMERIK Operate
Основы языка программирования высокого уровня
M200
Основы языка
программировани
я высокого
уровня: НАЧАЛО
Статус
Команды
Задача
Блок-схема
Базовая
программа
Основы языка
программировани
я высокого
уровня: КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 3
M200
M200
Основы языка программирования высокого уровня
Статус:
В начале каждого модуля приведен график, показывающий его состояние, т. е. какие темы изучены, какие темы
изучаются в данный момент и какие будут изучаться в следующих модулях.
Название модуля
Текущий модуль
Следующие модули
Для модулей «Основы языка программирования высокого уровня» существуют готовые программы ЧПУ.
Эти программы ЧПУ четко соотнесены с соответствующими модулями и имеют свои названия. Они включают
рекомендуемое решение задач, содержащихся в модуле.
Это обеспечивает наличие исполняемой программы в каждом модуле.
Кроме того, рекомендуется использовать дополнительную документацию, поставляемую к существующим модулям:
Доступно в TAC EXTRANET.
Модуль:
DE800D_Complete Hígh-Level Language (Всё о языке высокого уровня)
Доступно в INTERNET.
SINUMERIK System Variables List Manual (Перечень переменных системы SINUMERIK).
Production Planning for SINUMERIK (Планирование производства SINUMERIK).
Fundamentals for SINUMERIK Programming Manual (Основы программирования SINUMERIK).
Доступно в DOC на CD или в сети Internet в формате pdf.
Просто введите указанные термины в строку поиска в Internet.
Примечания
M200
Стр. 4
828D/840Dsl SINUMERIK Operate
Основы языка программирования высокого уровня
M200
Различают две тематические области:
Программирование станка с ЧПУ.
Это команды языка высокого уровня, используемые для линейного программирования.
Программирование станка с ЧПУ
Операция
Преобразование
Операция
Конец
Язык программирования ЧПУ высокого уровня:
Это команды языка высокого уровня, используемые для процедурного функционально-ориентированного
программирования.
Язык программирования ЧПУ высокого уровня
Начало
Операция
Операция
Нет
Запрос
Да
Операция
Операция
Операция
Конец
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 5
M200
M200
Основы языка программирования высокого уровня
Команды:
Шаг 1:
В первом шаге кратко перечисляются команды, используемые программой.
Пример:
Общие
Команда
Значение
Команда 1
Описание
Команда 2
Описание
Команда 3
Описание
Команда 4
Описание
Задача:
Шаг 2:
Описание задачи:
В данном боксе описываются задача и программные требования.
Пример:
Сквозные отверстия
Примечания
M200
Стр. 6
828D/840Dsl SINUMERIK Operate
M200
Основы языка программирования высокого уровня
Статус:
Шаг 3:
Для задачи создается блок-схема.
Пример:
.
Начало
Операция
Операция
Нет
Запрос
Да
Операция
Операция
Операция
Конец
Шаг 4:
Создание программы.
Пример:
Цикл
PROC DRILL (REAL _STARTP, REAL _RETRAC, REAL _DEPTH_TOTAL, REAL _DEPTH_1, REAL _FEED, REAL
_FEED_1, REAL _DEPTH_MAX, REAL _DEPTH_MIN) ;DISPLOF SAVE
;-----------------------------DEF REAL _DEPTH_CAL
DEF REAL _LAST_STEP
DEF INT _STEP
DEF REAL _STEP_EV
DEF REAL _ACTPOS
DEF INT _TOOLTYPE
;------------------------------_DEPTH_TOTAL=ABS(_DEPTH_TOTAL)
_DEPTH_1=ABS(_DEPTH_1)
IF _FEED==0 GOTOF _ERROR2
ENDIF
_TOOLTYPE=$TC_DP1[$P_TOOLNO,1]
IF (_TOOLTYPE<200) OR (_TOOLTYPE>299) GOTOF _ERROR1
Каждый модуль содержит соответствующую программу в виде файла «MPF». Он может мгновенно загружаться и
моделироваться.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 7
M200
M200
Основы языка программирования высокого уровня
Базовая программа основывается на существующей документации: Обучение преподавателя, фрезерование.
В этой программе нет циклов и команд на языке высокого уровня. Они добавляются в нее пошагово.
Чертеж:
Сквозные отверстия
Блок-схема:
Начало
Центровка
Сверление
Нарезание резьбы
Технология
Технология
Технология
1-я позиция
1-я позиция
1-я позиция
Технология
Технология
Технология
2-я позиция
2-я позиция
2-я позиция
Положение
Положение
Положение
Технология
Технология
Технология
3-я позиция
3-я позиция
3-я позиция
Технология
Технология
Технология
4-я позиция
4-я позиция
4-я позиция
Технология
Технология
Технология
Конец
Примечания
M200
Стр. 8
828D/840Dsl SINUMERIK Operate
Основы языка программирования высокого уровня
M200
Базовая программа:
N10 G17 G64 G90 G54
N20 G40 G60 G71 G94
N30 WORKPIECE(,"",,"BOX",0,0,-20,-80,0,0,150,100)
N40 T="CENTERDRILL_12"
;CENTERTOOL
N50 M6 D1
N60 G95 S1200 F0.1 M3 M8
N70 G0 Z100
N80 G0 X30 Y25
N90 G0 Z3
N100 G1 Z-5
N110 G0 Z3
N120 G0 X120
N130 G1 Z-5
N140 G0 Z3
N150 G0 Y75
N160 G1 Z-5
N170 G0 Z3
N180 G0 X30
N190 G0 X30
N200 G1 Z-5
N210 G0 Z3
N220 G0 Z100
N230 T="DRILL_8.5"
;DRILLINGTOOL
N240 M6 D1
N250 G95 S1200 F0.1 M3 M8
N260 G0 Z100
N270 G0 X30 Y25
N280 G0 Z3
N290 G1 Z-27
N300 G0 Z3
N310 G0 X120
N320 G1 Z-27
N330 G0 Z3
N340 G0 Y75
N350 G1 Z-27
N360 G0 Z3
N370 G0 X30
N380 G1 Z-27
N390 G0 Z3
N400 G0 Z100
;THREAD CUTTING
N300 G0 Z3
N310 G0 X120
N320 G1 Z-27
N330 G0 Z3
N340 G0 Y75
N350 G1 Z-27
N360 G0 Z3
N370 G0 X30
N380 G1 Z-27
N390 G0 Z3
N400 G0 Z100
;THREAD CUTTING
N410 T="THREADCUTTER_M10" ;THREADTOOL
N420 M6 D1
N430 G95 S200 M3 M8
N440 G0 Z100
N450 G0 Z100
N460
N470
N480
G490
N500
N510
N520
N530
N540
N550
N560
N570
N580
N590
N600
G0 X30 Y25
G0 Z3
G331 Z-25 K1.5 S2000
G332 Z3 K1.5 S400
G0 Y75
G331 Z3 K1,5 S400
G332 Z3 K1.5 S400
G0 Y75
G331 Z-25 K1.5 S200
G332 Z3 K1.5 S400
G0 X30
G331 Z-25 K1.5 S200
G332 Z3 K1.5 S400
G0 Z100
M30
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 9
M200
M200
Основы языка программирования высокого уровня
Базовая программа завершена.
Данная программа оптимизирована с помощью команд на языке высокого уровня в следующем модуле.
Рекомендуется скопировать программу в SinuTrain, чтобы обеспечить возможность воспроизведения следующих
модулей.

Создайте новую программу G-code.

Скопируйте программу G-code из данного модуля в редактор созданной программы G-code.
Теперь у вас есть базовая программа для следующих модулей, и вы сможете легко воспроизвести следующие шаги.
Примечания
M200
Стр. 10
828D/840Dsl SINUMERIK Operate
Подпрограмма
M201
SINUMERIK
Operate
Описание модуля:
828D/840D sl SINUMERIK Operate
В данном модуле описывается создание подпрограмм на наглядном примере.
Назначение:
Изучив модуль, вы сможете программировать с помощью подпрограмм и таким
образом оптимизировать свои программы ЧПУ в отношении структуры и
конфигурации.
Это экономит время и позволяет конфигурировать программы ЧПУ таким образом,
чтобы они легко читались и использовались другими операторами.
Расшифровка команд для работы с подпрограммами
Использование материала на примере
828D/840Dsl SINUMERIK Operate v4.7
Настоящий документ предназначен для целей обучения.
Компания Siemens не несет ответственности за его
Стр. 1 содержание.
M201
M201
M201
Стр. 2
828D/840Dsl SINUMERIK Operate
M201
Подпрограмма
Подпрограмма
НАЧАЛО
Статус
Команды
Задача
Блок-схема
Пример
программы
Подпрограмма
КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 3
M201
M201
Статус:
Подпрограмма
M200
Основы языка программирования
высокого уровня
M206
Системная переменная, запрос безопасности
M201
Подпрограмма
M207
Кадры
M202
R-переменные
M208
Цикл
M203
Переходы и пользовательские переменные
M204
Точение, шпиндель, плоскости
M205
Системная переменная, подпрограмма
Работа с подпрограммами:



Создает четкую программную структуру. Программ становится понятнее и проще для чтения.
Сегменты программы могут повторяться как «кадры» из библиотеки механической обработки.
Поскольку не требуется постоянно записывать программные сегменты, это экономит время, необходимое
для создания программы, и объем памяти.
Структура подпрограммы:
Основная программа
1-я подпрограмма
В принципе, подпрограммы структурируются
таким же образом, что и основная программа.
Существуют специальные команды для
подпрограмм, зависящие от приложения.
Вызов подпрограммы подчиняется
определенной иерархии:
2-я подпрограмма
Файл «Programname.MPF» распознается, если он
находится в той же директории (WPD).
Файл «Programname.SPF» распознается при
точном соблюдении следующей
последовательности поиска:
1.
В активной директории
2.
В папке «Subprograms» (Подпрограммы)
3.
В директории циклов пользователя
4.
В директории циклов производителя
5.
В стандартной директории циклов
Эта тема подробно раскрыта в следующих модулях.
Примечания
M201
Стр. 4
828D/840Dsl SINUMERIK Operate
M201
Подпрограмма
Команды:
Команда
Значение
M17
Конец подпрограммы
RET
Конец подпрограммы
Имя
Произвольное имя, идентифицирующее подпрограмму
M17: Обозначает конец подпрограммы с инструкциями по возврату к основной программе. Возврат осуществляется
с помощью ПЛК.
RET: Тоже конец подпрограммы, но без прерывания режима контурной обработки и без функционального вывода на
ПЛК. (Более быстрый возврат, чем в M17)
Имя: Аналогичные правила (преобразования DOS), что и для основной программы, применяются для имен
подпрограмм:

Имя программы может состоять не более чем из 24 символов. Они отображаются в ЧПУ.

Буквы A...Z и a...z

Цифры 0...9

Нижние подчеркивания _
Зарезервированные ключевые слова, например «RET», не могут использоваться в именах.
Задача:
Существующая базовая программа из модуля M200 поделена на подпрограммы, в зависимости от процесса
обработки. Основная программа и подпрограммы оканчиваются на MPF и должны находиться в одной директории.
Базовая программа теперь оптимизирована с помощью подпрограмм.
Чертеж:
Сквозные отверстия
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 5
M201
M201
Блок-схема:
Подпрограмма
Начало
1. Технология
Центровка
2. Технология
Сверление
3. Технология
Нарезание резьбы
Конец
Пример программы:
Основная программа
N10 G17 G64 G90 G54
N20 G40 G60 G71 G94
N30 WORKPIECE(,"",,"BOX",0,0,-20,-80,0,0,150,100)
N40 T="CENTERDRILL_12"
N50 M6 D1
N60 G17 G40 G60 G71 G90
N70 G95 S1200 F0.1 M3 M8
;SUBPROGRAM CALL
N80 _CENTERING
N90 T="DRILL_8.5"
N100 M6 D1
N110 G95 S1200 F0.1 M3 M8
;SUBPROGRAM CALL
N120_DRILLING
N130 T="THREADCUTTER_M10"
N140 M6 D1
N150 G95 S1200 M3 M8
;;SUBPROGRAM CALL
N160 _THREAD CUTTING
N170 G0 Z100
N180 M30
1. Технология
2. Технология
3. Технология
Примечания
M201
Стр. 6
828D/840Dsl SINUMERIK Operate
M201
Подпрограмма
Подпрограмма центровки
N10 G0 Z100
N20 G0 X30 Y25
N30 G0 Z3
N40 G1 Z-5
N50 G0 Z3
N60 G0 X120
N70 G1 Z-5
N80 G0 Z3
N90 G0 Y75
N100 G1 Z-5
N110 G0 Z3
N120 G0 X30
N130 G1 Z-5
N140 G0 Z3
N150 G0 Z100
N160 M17
Подпрограмма сверления
N10 G0 Z100
N20 G0 X30 Y25
N30 G0 Z3
N40 G1 Z-27
N50 G0 Z3
N60 G0 X120
N70 G1 Z-27
N80 G0 Z3
N90 G0 Y75
N100 G1 Z-27
N110 G0 Z3
N120 G0 X30
N130 G1 Z-27
N140 G0 Z3
N150 G0 Z100
N160 RET
Подпрограмма нарезания резьбы
N10 G0 Z100
N20 G0 X30 Y25
N30 G0 Z3
N40 G331 Z-25 K1.5 S200
N50 G332 Z3 K1.5 S400
N60 G0 X120
N70 G331 Z-25 K1.5 S200
N80 G332 Z3 K1.5 S400
N90 G0 Y75
N100 G331 Z-25 K1.5 S200
N110 G332 Z3 K1.5 S400
N120 G0 X30
N130 G331 Z-25 K1.5 S200
N140 G332 Z3 K1.5 S400
N150 M17
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 7
M201
M201
Подпрограмма
Примечания
M201
Стр. 8
828D/840Dsl SINUMERIK Operate
R-переменные
M202
SINUMERIK
Operate
Описание модуля:
828D/840D sl SINUMERIK Operate
В данном модуле описывается работа с R-переменными (арифметическими параметрами).
Назначение:
Изучив модуль, вы сможете более эффективно конфигурировать программы ЧПУ,
программные статусы и актуальные запросы, а также визуализировать их.
Программы ЧПУ станут более понятными и прозрачными.
Инструкции по работе с R-переменными
Использование материала на примере
828D/840Dsl SINUMERIK Operate v4.7
Настоящий документ предназначен для целей обучения.
Компания Siemens не несет ответственности за его
Стр. 1 содержание.
M202
M202
M202
Стр. 2
828D/840Dsl SINUMERIK Operate
M202
M202
R-переменные
R-переменные
R-переменные
НАЧАЛО
Статус
Команды
Задача
Блок-схема
Пример
программы
R-переменные
КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 3
M202
M202
Статус:
R-переменные
M200
Основы языка программирования высокого
уровня
M206
Системная переменная, запрос безопасности
M201
Подпрограмма
M207
Кадры
M202
R-переменные
M208
Цикл
M203
Переходы и пользовательские переменные
M204
Точение, шпиндель, плоскости
M205
Системная переменная, подпрограмма
Команды:
Команда
R...
Значение
Заданные арифметические параметры, обозначенные
буквой «R» после классификационного номера.
Арифметические параметры доступны для любых систем управления SINUMERIK и могут использоваться как
программистами, так и пользователями.
Количество арифметических параметров варьируется и определяется машинными параметрами. Обычно
используется 99 переменных.
Изучите спецификации производителя станка.
Функция:
Арифметические параметры могут использоваться, когда необходимо обеспечить гибкость программы ЧПУ,
поскольку значения могут различаться в пределах программы в зависимости от заготовки.
Этим параметрам могут быть произвольно присвоены адреса ЧПУ в рамках программы с переменным значением.
Присвоенные значения должны быть числовыми.
Важно, чтобы переменным присваивались корректные значения, поскольку они не проверяются на достоверность.
R-переменные - это переменные, которые сохраняются (сохраняемые переменные) после выключения станка.
R-переменные являются локальными, видимыми только в активном канале.
Примечания
M202
Стр. 4
828D/840Dsl SINUMERIK Operate
M202
R-переменные
Требования к R-переменным:

Значение R-переменной должно быть присвоено в блоке
Пример:
R12=100





Допускается не более восьми позиций после десятичной запятой.
Десятичная запятая может опускаться, если значение представляет собой целое число.
У положительных чисел знак может опускаться.
Арифметические функции могут выполняться с использованием R-переменных - при этом применяется
математическое обозначение.
Значениям можно присвоить практически любые адреса с R-переменными, кроме (N, G и L).
R-переменные в SINUMERIK:
Отображение R-переменных в системе управления
Задача:
1.
Задача:
Расстояние до отверстия относительно нулевой точки заготовки программируется переменными в программе.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 5
M202
M202
R-переменные
Чертеж:
Расстояние
Расст. 3
Расст. 4
Расстояние
Сквозные отверстия
Блок-схема:
Начало
Задание R-переменных
Центровка
Сверление
Нарезание резьбы
Установка R-переменных на ноль
Конец
Программа может использоваться для разных заготовок, запрограммированных с R-переменными.
Примечания
M202
Стр. 6
828D/840Dsl SINUMERIK Operate
M202
R-переменные
Пример программы
;PLEASE ASSIGN CORRECT VALUES TO THE R VARIABLES
;R1= DISTANCE 1 IN THE DRAWING
;R2= DISTANCE 2 IN THE DRAWING
;R3= DISTANCE 3 IN THE DRAWING
;R4= DISTANCE 4 IN THE DRAWING
;ASSIGN VALUES TO VARIABLES
N10 R1=30
N20 R2=90
N30 R3=25
N40 R4=50
N50 MSG("FILLED IN THE CORRECT VALUES?")
N60 M0
N70 MSG()
N80 MSG("R1="<<R1<<"__R2="<<R2<<"__R3="<<R3<<"__R4="<<R4)
N90 G17 G64 G90 G54 G94 G71
N100 WORKPIECE(,"",,"BOX",0,0,-20,-80,0,0,150,100)
N110 T="CENTERDRILL_12"
Центровка
N120 M6 D1
N130 G40 G60
N140 G95 S1200 F0.1 M3 M8
N150 G0 Z100
N160 G0 X=R1 Y=R3
N170 G0 Z3
N180 G1 Z-5
N190 G0 Z3
N200 G0 X=R1+R2
N210 G1 Z-5
N220 G0 Z3
N230
N240
N250
N260
N270
N280
N290
N300
N310
N320
N330
N340
N350
N360
N370
N380
N390
N400
N410
N420
N430
N440
N450
N460
N470
N480
N490
N500
N510
N520
G0 Y=R3+R4
G1 Z-5
G0 Z3
G0 X=R1
G1 Z-5
G0 Z3
G0 Z100
T="DRILL_8.5"
M6 D1
G95 S1200 F0.1 M3 M8
G0 Z100
G0 X=R1 Y=R3
G0 Z3
G1 Z-27
G0 Z3
G0 X=R1+R2
G1 Z-27
G0 Z3
G0 Y=R3+R4
G1 Z-27
G0 Z3
G0 X=R1
G1 Z-27
G0 Z3
G0 Z100
T="THREADCUTTER_M10"
M6 D1
G95 S1200 M3 M8
G0 Z100
G0 X=R1 Y=R3
Сверление
Нарезание резьбы
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 7
M202
M202
R-переменные
N530 G0 Z3
N540 G331 Z-25 K1.5 S200
N550 G332 Z3 K1.5 S400
N560 G0 X=R1+R2
N570 G331 Z-25 K1.5 S200
N580 G332 Z3 K1.5 S400
N590 G0 Y=R3+R4
N600 G331 Z-25 K1.5 S200
N610 G332 Z3 K1.5 S400
N620 G0 X=R1
N630 G331 Z-25 K1.5 S200
N630 G331 Z-25 K1.5 S200
N640 G332 Z3 K1.5 S400
N650 G0 Z100
N660 M30
;RESET THE VARIABLES
N670 R1=0
N680 R2=0
N690 R3=0
N700 R4=0
Сброс R-переменных
Введенные значения присваиваются R-переменным в перечне R-переменных и отменяются в конце выполнения
программы.
Примечания
M202
Стр. 8
828D/840Dsl SINUMERIK Operate
M202
R-переменные
Тексты сообщения:
Команда
MSG
Значение
Произвольные тексты, а также значения переменных,
могут быть выведены в строке сигнализации в области
управления «Automatic» (Автоматический режим).
Сообщения могут быть запрограммированы оператором с помощью команды MSG, которая будет отображаться при
выполнении программы.
Произвольные тексты, а также значения переменных, могут отображаться с помощью команды MSG.
Пример текста сообщения:
MSG(«This is a sample text»)
Текст остается активным и видимым до завершения выполнения программы .
MSG()
Данная команда удаляет весь отображаемый текст в произвольном месте программы.
Пример текста сообщения с переменной:
MSG(«Value of variable R1=»<<R1)
Текст, заключенный в кавычки, может быть произвольным «Value of variable R1=» (Значение переменной R1=). Два
символа «меньше» (<<) в данном случае показывают значение R-переменной R1.
Описание задачи
2
Задача:
Текст сообщения предназначен для демонстрации оператору, что значения R-переменных введены корректно.
В конце программы текущие значения R-переменных отображаются в области управления
«Automatic» (Автоматический режим).
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 9
M202
M202
Блок-схема:
R-переменные
Начало
Параметры запроса
R-переменные
Останов
Начало
Задание R-переменных
Отображение
R-переменных
Центровка
Сверление
Нарезание резьбы
Сброс R-переменных
Конец
;PLEASE ASSIGN CORRECT VALUES TO THE R VARIABLES
;R1= DISTANCE 1 IN THE DRAWING
;R2= DISTANCE 2 IN THE DRAWING
;R3= DISTANCE 3 IN THE DRAWING
;R4= DISTANCE 4 IN THE DRAWING
N10 R1=20
N20 R2=120
N30 R3=20
N40 R4=80
N50 MSG("FILLED IN THE CORRECT VALUES?")
N60 M0
N70 MSG()
N80 MSG("R1="<<R1<<"__R2="<<R2<<"__R3="<<R3<<"__R4="<<R4)
N90 G17 G64 G90 G54 G94
.
…
M30; DELETES MESSAGE TEXT
Отображение
R-переменных
Останов
Отображение
R-переменных
Примечания
M202
Стр. 10
828D/840Dsl SINUMERIK Operate
M202
R-переменные
Текст 1-го сообщения
Удаляется нажатием Cycle Start (Запуск цикла).
Текст 2-го сообщения
Остается видимым до завершения выполнения программы M30.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 11
M202
M202
R-переменные
Примечания
M202
Стр. 12
828D/840Dsl SINUMERIK Operate
Переходы и пользовательские переменные
M203
SINUMERIK
Operate
Описание модуля:
828D/840D sl SINUMERIK Operate
В данном модуле вы узнаете, как задать свои собственные переменные, и ознакомитесь с
инструкциями по переходу.
Назначение модуля:
Изучив модуль, вы сможете задавать простые пользовательские переменные и
программировать запросы с помощью инструкций
по переходу. Ваша работа станет более эффективной и гибкой.
Описание переменных
Описание переходов
Программирование запросов
828D/840Dsl SINUMERIK Operate v4.7
Стр. 1
Настоящий документ предназначен для целей обучения.
Компания Siemens не несет ответственности за его
содержание.
M203
M203
M203
Стр. 2
828D/840Dsl SINUMERIK Operate
Переходы и пользовательские переменные
M203
Переходы и
пользовательские
переменные
НАЧАЛО
Статус
Команды
Задача
Блок-схема
Пример
программы
Переходы и
пользовательские
переменные
КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 3
M203
M203
Статус:
Переходы и пользовательские переменные
M200
Основы языка программирования
высокого уровня
M206
Системная переменная, запрос безопасности
M201
Подпрограмма
M207
Кадры
M202
R-переменные
M208
Цикл
M203
Переходы и пользовательские переменные
M204
Точение, шпиндель, плоскости
M205
Системная переменная, подпрограмма
Команды:
Команда
Значение
DEF INT
Пользовательские переменные
IF
Условия
ЯРЛЫК
Ярлыки переходов
GOTO; GOTOF; GOTOB
Инструкции по переходу
DEF INT:
С помощью этой команды вы можете задавать свои собственные переменные и присваивать им значения. Это так
называемые пользовательские переменные.






Пользовательские переменные должны всегда начинаться с нижнего подчеркивания для исключения
использования запрограммированных имен.
Пользовательская переменная не может состоять более чем из 15 символов.
Обозначения должны быть всегда одинаковыми (все символы в верхнем регистре).
INT всегда означает целые числа. Существует множество типов переменных, подробно описанных в
руководстве «Всё о языке высокого уровня».
Значение присваивается переменной с помощью знака равенства (VALUE =).
Запрос о значимости переменной выполняется с помощью двух знаков равенства (IF VALUE ==1).
IF:
Данная команда является ключевым словом, с которым всегда связано какое-либо условие. Таким образом,
программист может менять заданную последовательность программ ЧПУ для интеграции структуры управления.
Примечания
M203
Стр. 4
828D/840Dsl SINUMERIK Operate
Переходы и пользовательские переменные
M203
Ярлык:
Ярлыки перехода могут задаваться с помощью так называемых ярлыков, на которые дается ссылка из других
положений в той же программе. Имя ярлыка можно выбрать произвольно. Рекомендуется использовать
«говорящие» имена ярлыков, например, THREAD CUTTING (Нарезание резьбы).
Если ссылка на ярлык дается как назначение перехода, после слова должно стоять двоеточие.
LABEL_1:
Это означает ярлык как таковой.
GOTO/GOTOF/GOTOB:
GOTO это прямые команды перехода, которые всегда используются вместе с ярлыками перехода.
Направление перехода определяется ярлыками GOTOF или GOTOB. Это ускоряет поиск.
Назначение перехода с таким же именем может быть ярлыком в пределах активной программы или подпрограммы,
оканчивающейся на MPF или SPF.
При работе с «говорящими» идентификаторами необходимо использовать уникальные имена.
Если назначение перехода не найдено, выводится предупреждение 14080 «Jump destination not found» (Назначение
перехода не найдено).
Задача:
Задача:
Используется базовая программа с подпрограммами из модуля 201

Оператор должен выбрать между тремя программами с разными расстояниями до отверстия.

Соответствующая подпрограмма с необходимыми расстояниями выбирается посредством ввода значения
между 1 и 3.

Если значение между 1 и 3 не выбрано, программа прерывается. Появляется сообщение о некорректном
вводе данных.
1-я программа
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 5
M203
M203
Переходы и пользовательские переменные
50
2-я программа
110
3-я программа
Примечания
M203
Стр. 6
828D/840Dsl SINUMERIK Operate
M203
Переходы и пользовательские переменные
Блок-схема:
Выбор заготовки
1-3
Начало
1-3
Если значение = не 1, 2 или 3
Сообщение
Если значение = 1
1-я подпрограмма
Если значение = 2
Если значение = 3
2-я подпрограмма
3-я подпрограмма
Конец
Пример программы:
Основная программа:
N10 DEF INT _WORKPIECE
;ENTER NUMBER OF THE WORKPIECE IN THE NEXT BLOCK
N20 WORKPIECE=3
;QUERY VALUE WITH ASSIGNMENT JUMP
N30 IF _WORKPIECE==1 GOTOF LABEL_1
N40 IF _WORKPIECE==2 GOTOF LABEL_2
N50 IF _WORKPIECE==3 GOTOF LABEL_3
N60 MSG("INCORRECT VALUE") ;DISPLAY IF VALUE NOT 1-3
N70 M0
N80 M30 ;END OF PROGRAM IF VALUE INCORRECT
N90 LABEL_1: ;JUMP LABEL
N100 PROGRAM_1
N110 M30
N120 LABEL_2:
N130 PROGRAM_2
N140 M30
N150 LABEL_3:
N160 PROGRAM_3
N170 M30
Выбор заготовки
1-3
Если значение = 1
Если значение = 2
Если значение = 3
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 7
M203
M203
Переходы и пользовательские переменные
Подпрограмма для заготовки 1
N10 G17 G64 G90 G54
N20 G40 G60 G71 G94
N30 WORKPIECE(,"",,"BOX",0,0,-20,-80,0,0,150,100)
;CENTERING
N40 T="CENTERDRILL_12"
N50 M6 D1
N60 G95 S1200 F0.1 M3 M8
N70 G0 Z100
N80 G0 X30 Y25
N90 G0 Z3
N100 G1 Z-8
N110 G0 Z3
N120 G0 X120
N130 G1 Z-8
N140 G0 Z3
N150 G0 Y75
N160 G1 Z-8
N170 G0 Z3
N180 G0 X30
N190 G1 Z-8
N200 G0 Z3
N210 G0 Z100
;DRILLING
N220 T="DRILL_8.5"
N230 M6 D1
N240 G95 S1200 F0.1 M3 M8
N250 G0 Z100
N260 G0 X30 Y25
N270 G0 Z3
N280 G1 Z-27
N290 G0 Z3
N300 G0 X120
N310 G1 Z-27
N320 G0 Z3
N330 G0 Y75
N340 G1 Z-27
N350 G0 Z3
N360 G0 X30
N370 G1 Z-27
N380 G0 Z3
N390 G0 Z100
;THREAD CUTTING
N400 T="THREADCUTTER_M10"
N410 M6 D1
N420 G95 S200 M3 M8
N430 G0 Z100
N440 G0 X30 Y25
N450 G0 Z3
N460 G331 Z-25 K1.5 S200
N470 G332 Z3 K1.5 S400
N480 G0 X120
N490 G331 Z-25 K1.5 S200
N500 G332 Z3 K1.5 S400
N510 G0 Y75
N510 G0 Y75
N520 G331 Z-25 K1.5 S200
N530 G332 Z3 K1.5 S400
N540 G0 X30
N550 G331 Z-25 K1.5 S200
N560 G332 Z3 K1.5 S400
N570 G0 Z100
N580 M17
Примечания
M203
Стр. 8
828D/840Dsl SINUMERIK Operate
M203
Переходы и пользовательские переменные
Подпрограмма для заготовки 2
N10 G17 G64 G90 G54
N20 G40 G60 G71 G94
N30 WORKPIECE(,"",,"BOX",0,0,-20,-80,0,0,150,100)
;CENTERING
N40 T="CENTERDRILL_12"
N50 M6 D1
N60 G95 S1200 F0.1 M3 M8
N70 G0 Z100
N80 G0 X50 Y25
N90 G0 Z3
N100 G1 Z-8
N110 G0 Z3
N120 G0 X120
N130 G1 Z-8
N140 G0 Z3
N150 G0 Y75
N160 G1 Z-8
N170 G0 Z3
N180 G0 X50
N190 G1 Z-8
N200 G0 Z3
N210 G0 Z100
;DRILLING
N220 T="DRILL_8.5"
N230 M6 D1
N240 G95 S1200 F0.1 M3 M8
N250 G0 Z100
N260 G0 X50 Y25
N270 G0 Z3
N280 G1 Z-27
N290 G0 Z3
N300 G0 X120
N310 G1 Z-27
N320 G0 Z3
N330 G0 Y75
N340 G1 Z-27
N350 G0 Z3
N360 G0 X50
N370 G1 Z-27
N380 G0 Z3
N390 G0 Z100
;THREAD CUTTING
N400 T="THREADCUTTER_M10"
N410 M6 D1
N420 G95 S200 M3 M8
N430 G0 Z100
N440 G0 X50 Y25
N450 G0 Z3
N460 G331 Z-25 K1.5 S200
N470 G332 Z3 K1.5 S400
N480 G0 X120
N490 G331 Z-25 K1.5 S200
N500 G332 Z3 K1.5 S400
N510 G0 Y75
N520 G331 Z-25 K1.5 S200
N530 G332 Z3 K1.5 S400
N540 G0 X50
N550 G331 Z-25 K1.5 S200
N560 G332 Z3 K1.5 S400
N570 G0 Z100
N580 M17
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 9
M203
M203
Переходы и пользовательские переменные
Подпрограмма для заготовки 3
N10 G17 G64 G90 G54
N20 G40 G60 G71 G94
N30 WORKPIECE(,"",,"BOX",0,0,-20,-80,0,0,150,100)
;CENTERING
N40 T="CENTERDRILL_12"
N50 M6 D1
N60 G95 S1200 F0.1 M3 M8
N70 G0 Z100
N80 G0 X30 Y25
N90 G0 Z3
N100 G1 Z-8
N110 G0 Z3
N120 G0 X110
N130 G1 Z-8
N140 G0 Z3
N150 G0 Y75
N160 G1 Z-8
N170 G0 Z3
N180 G0 X30
N190 G1 Z-8
N200 G0 Z3
N210 G0 Z100
;DRILLING
N220 T="DRILL_8.5"
N230 M6 D1
N240 G95 S1200 F0.1 M3 M8
N250 G0 Z100
N260 G0 X30 Y25
N270 G0 Z3
N280 G1 Z-27
N290 G0 Z3
N300 G0 X110
N310 G1 Z-27
N320 G0 Z3
N330 G0 Y75
N340 G1 Z-27
N350 G0 Z3
N360 G0 X30
N370 G1 Z-27
N380 G0 Z3
N390 G0 Z100
;THREAD CUTTING
N400 T="THREADCUTTER_M10"
N410 M6 D1
N420 G95 S200 M3 M8
N430 G0 Z100
N440 G0 X30 Y25
N450 G0 Z3
N460 G331 Z-25 K1.5 S200
N470 G332 Z3 K1.5 S400
N480 G0 X110
N490 G331 Z-25 K1.5 S200
N500 G332 Z3 K1.5 S400
N510 G0 Y75
N520 G331 Z-25 K1.5 S200
N530 G332 Z3 K1.5 S400
N540 G0 X30
N550 G331 Z-25 K1.5 S200
N560 G332 Z3 K1.5 S400
N570 G0 Z100
N580 M17
Примечания
M203
Стр. 10
828D/840Dsl SINUMERIK Operate
Переходы и пользовательские переменные
M203
Моделирование:
Заготовка 1 Заготовка 2
Заготовка 3
Дополнительная задача:
Программу необходимо оптимизировать. Для всех трех вариантов используется подпрограмма 1.

Совет: Решение: Использовать R-параметр.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 11
M203
M203
Переходы и пользовательские переменные
Примечания
M203
Стр. 12
828D/840Dsl SINUMERIK Operate
Системная переменная, подпрограмма
M205
SINUMERIK
Operate
Описание модуля:
828D/840D sl SINUMERIK Operate
В данном модуле приводятся основы работы с системными переменными программ ЧПУ.
Назначение модуля:
Изучив модуль, вы сможете программировать простые циклы с помощью
системных переменных. Разработать решение можно для каждой задачи
Содержание:
Описание системных переменных
Описание подпрограмм, расположенных в других папках
Программирование пользовательских переменных
828D/840Dsl SINUMERIK Operate v4.7
Настоящий документ предназначен для целей обучения.
Компания Siemens не несет ответственности за его
Стр. 1 содержание.
M205
M205
M205
Стр. 2
828D/840Dsl SINUMERIK Operate
M205
Системная переменная, подпрограмма
Системная
переменная,
подпрограмма
НАЧАЛО
Статус
Команды
Задача
Блок-схема
Пример
программы
Системная
переменная,
подпрограмма
КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 3
M205
M205
Статус:
Системная переменная, подпрограмма
M200
Основы языка программирования
высокого уровня
M206
Системная переменная, запрос безопасности
M201
Подпрограмма
M207
Кадры
M202
R-переменные
M208
Цикл
M203
Переходы и пользовательские переменные
M204
Точение, шпиндель, плоскости
M205
Системная переменная, подпрограмма
Команды:
Команда
Значение
$AA_IW[MZ1]
Системная переменная
CALL
Call
RET
Возврат из подпрограммы
Системная переменная:

В дополнение к двум другим типам переменных - пользовательские переменные (DEF) и арифметические
переменные (R-переменные) - существуют также системные переменные. Эти переменные предоставляются
производителем станка и имеют специальное обозначение.

С помощью этих системных переменных можно узнать состояние станка и управления и внести его в
программу ЧПУ.

Например, рабочее смещение, положения осей и коррекция инструмента.

Все эти переменные можно считать, а некоторые из них также допускают изменение.

Перечень системных переменных и их значение можно найти в сети Internet поиском по термину «Siemens
system variables» (Системные переменные Siemens), а также в pdf-документе «Системные переменные».
Его можно скачать бесплатно.
Вызов:

Подпрограммы можно вызывать косвенно с помощью этой команды. «Косвенно» означает, что они не
находятся в той же папке, что и основная программа. Команду Call необходимо написать вместе с именем
подпрограммы и типом файла.

Можно также ввести полный путь к местонахождению подпрограммы. В этом случае переход к подпрограмме
будет быстрее. Пример: Call "_Name.spf
RET:
Данная команда может использоваться для возврата из подпрограммы, минуя ПЛК и не прерывая режима
контурной обработки.
Примечания
M205
Стр. 4
828D/840Dsl SINUMERIK Operate
M205
Системная переменная, подпрограмма
Задача:
Описание задачи
В заготовке необходимо просверлить три отверстия.



Положение отвода после операции обработки определяется с помощью системной переменной и является
одинаковым для всех трех отверстий.
Цикл с системной переменной записывается в подпрограмму.
Режим контурной обработки остается активным по завершении вызова подпрограммы.
Чертеж:
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 5
M205
M205
Системная переменная, подпрограмма
Блок-схема:
Начало
Положение 1
Цикл
Положение 2
Цикл
Положение 3
Цикл
КОНЕЦ
Пример программы:
Основная программа:
N10 G17 G64 G90 G54
N20 G40 G60 G71 G94
N30 WORKPIECE(,"",,"BOX",0,0,-10,-80,0,0,200,200)
;DRILL
N40 T="SOLID DRILL_25"
N50 M6 D1
N60 G95 S1200 F0.1 M3 M8
N70 G0 Z100
N80 G0 X25 Y25
N90 G0 Z5
N100 Call "sub_1.spf"
N110 G0 Z100
N120 G0 X100 Y100
N130 G0Z5
N140 Call "sub_1.spf"
N150 G0 Z100
N160 G0 X175 Y175
N170 G0Z5
N180 Call "sub_1.spf"
N190 G0 Z100
N200 M30
Положение 1
Цикл
Положение 2
Цикл
Положение 3
Цикл
Примечания
M205
Стр. 6
828D/840Dsl SINUMERIK Operate
M205
Системная переменная, подпрограмма
Циклическая подпрограмма:
DEF real _Merk1
N110_Merk1=$AA_IW[Z]
N120 G1 Z-27
N130 Z=_MERK1
Ret
Задание пользовательской переменной
Текущее положение оси Z привязано к пользовательской переменной
Аппроксимация к системной переменной
Быстрый переход к основной программе
Примечание: Обозначение оси Z ($AA_IW[Z]) должно соответствовать имени оси, зафиксированному для станка.
Хранение основной программы
Хранение подпрограммы цикла:
Положение отвода всегда обеспечивается данным циклом. В программе предусмотрен безопасный зазор.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 7
M205
M205
Системная переменная, подпрограмма
Примечания
M205
Стр. 8
828D/840Dsl SINUMERIK Operate
Системная переменная, запрос
M206
SINUMERIK
Operate
Описание модуля:
828D/840D sl SINUMERIK Operate
В данном модуле продолжается рассмотрение принципов работы с системными переменными,
начатое в модуле M205. Здесь изучается процедура запроса типа инструмента с помощью
соответствующих переменных.
В программе всегда предусмотрен цикл безопасности на случай ошибки выбора инструмента.
Назначение:
Изучив модуль, вы узнаете о дополнительных системных переменных и сможете
запрограммировать цикл безопасности, чтобы программа ЧПУ не запускалась при
наличии неверных условий.
Содержание:
Описание типов инструмента
Описание используемых системных переменных
Программирование цикла безопасности, который приводит к безусловному сбросу
Настоящий документ предназначен для целей обучения.
828D/840Dsl SINUMERIK Operate v4.7
Стр. 1 Компания Siemens не несет ответственности за его
содержание.
M206
M206
M206
Стр. 2
828D/840Dsl SINUMERIK Operate
Системная переменная, запрос безопасности
M206
Системная
переменная,
запрос безопасности
НАЧАЛО
Статус
Команды
Задача
Блок-схема
Пример
программы
Системная
переменная,
запрос безопасности
КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 3
M206
M206
Статус:
Системная переменная, запрос безопасности
M200
Основы языка программирования
высокого уровня
M206
Системная переменная, запрос безопасности
M201
Подпрограмма
M207
Кадры
M202
R-переменные
M208
Цикл
M203
Переходы и пользовательские переменные
M204
Точение, шпиндель, плоскости
M205
Системная переменная, подпрограмма
Команда:
Команда
Значение
$TC_DP[N]
Тип инструмента
$P_TOOLNO
Номер активного инструмента
$P_TOOL
Режущая кромка активного инструмента
$TC_DP[N]:
Тип инструмента определяется этой системной переменной.
В SINUMERIK инструменты классифицируются по типам. Каждому типу инструмента присвоен 3-значный номер.
Первая цифра означает группу инструментов с соответствующей технологией.
Тип инструмента
Группа инструмента
1
Фрезы
2
Сверла
3
Резерв
4
Шлифовальные инструменты
5
Токарные инструменты
6
Резерв
7
Специальные инструменты, например пазовая пила
Примечания
M206
Стр. 4
828D/840Dsl SINUMERIK Operate
Системная переменная, запрос безопасности
M206
Фрезерные инструменты:
Группа 1 «Фрезы» включает следующие типы:
100 Фрезерная головка согласно CLDATA (данные траектории перемещения режущего инструмента)
110 Сферическая фрезерная головка (цилиндрическая фреза для обработки полостей штампов)
111 Сферическая фрезерная головка (коническая фреза для обработки полостей штампов)
120 Концевая фреза (не галтельная)
121 Концевая фреза (галтельная)
130 Фреза для обработки под углом (не галтельная)
131 Фреза для обработки под углом (галтельная)
140 Подрезной резец
145 Резьбонарезная фреза
150 Дисковая фреза
151 Отрезная фреза
155 Кромкострогальная фреза (не галтельная)
156 Кромкострогальная фреза (галтельная)
157 Коническая фреза для обработки полостей штампов
160 Сверлильно-резьбонарезная фреза
Сверла:
Группа 2 «Сверла» включает следующие типы:
200 Спиральное сверло
205 Бур
210 Расточная оправка
220 Центровочное сверло
230 Зенкер
231 Зенковка
240 Стандартный метчик
241 Метчик для мелкой резьбы
242 Метчик для дюймовой резьбы
250 Развёртка
Токарный инструмент:
500 Черновой резец
510 Чистовой резец
520 Инструмент для врезания
530 Отрезной резец
540 Резьбовой резец
550 Фасонный / строгальный резец (TOOLMAN)
560 Электросверло (ECOCUT)
580 Ручной бур с параметром позиционирования режущей кромки
В данном модуле перечисляются только наиболее важные группы токарного и фрезерного инструмента.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 5
M206
M206
Системная переменная, запрос безопасности
Номер инструмента отображается в SINUMERIK Operate, когда в системе управления инструментом выбирается
соответствующее обозначение «TYPE» (Тип). При этом открывается перечень номеров типов возможного
инструмента.
$P_TOOLNO
Эта системная переменная описывает номер активного инструмента, т. е. активного инструмента в ЧПУ:
Активный инструмент
Примечания
M206
Стр. 6
828D/840Dsl SINUMERIK Operate
Системная переменная, запрос безопасности
M206
$P_Tool
Данная системная переменная описывает режущую кромку активного инструмента и текущие смещения.
Режущая кромка
активного инструмента
Задача:
Описание задачи
В основе данного модуля используется заготовка из модуля M205.



Определяется целочисленная переменная с именем «TOOLTYPE» (Тип инструмента).
С помощью данной переменной производится запрос типа инструмента, инструмента, используемого в ЧПУ,
и активной режущей кромки.
Если тип инструмента для обработки некорректный, программа переходит к циклу, который оператор может
покинуть, только нажав «Program reset» (Сброс программы). Для оператора будет выведено текстовое
сообщение о том, что выбран некорректный активный инструмент.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 7
M206
M206
Системная переменная, запрос безопасности
Чертеж:
Блок-схема:
НАЧАЛО
Запрос
состояния
инструмента
TOOLTYPE OK
TOOLTYPE NOT OK
Сообщение
Положение 1
Цикл
LOOP
Положение 2
Цикл
Положение 3
Цикл
КОНЕЦ
Примечания
M206
Стр. 8
828D/840Dsl SINUMERIK Operate
M206
Системная переменная, запрос безопасности
Пример программы:
Основная программа:
;_TOOLTYPE= VARIABLE FOR TOOL TYPE WITH CURRENT
;TOOL NUMBER AND CUTTING EDGE NUMBER
N10 DEF INT _TOOLTYPE DEF
как целочисленная переменная (целое)
N20 G17 G64 G90 G54 G94
N30 WORKPIECE(,"",,"BOX",0,0,-10,-80,0,0,200,200)
;Drilling
N40 T="DRILL"
Пример корректного типа инструмента
;T="CUTTER 4"
Пример некорректного типа инструмента
N50 M6 D1
N60 _TOOLTYPE = $TC_DP1[$P_TOOLNO,$P_TOOL]
N70 IF (_TOOLTYPE <200) OR (_TOOLTYPE >299) GOTOF _ERROR1
Запрос
N80 G17 G40 G60 G71 G90
состояния
N90 G95 S1200 F0.1 M3 M8
N100 G0 Z100
N110 G0 X25 Y25
N120 G0 Z5
N130 Call "sub_1.spf"
N140 G0 Z100
N150 G0 X100 Y100
N160 G0 Z5
N170 Call "sub_1.spf"
N180 G0 Z100
N190 G0 X175 Y175
N200 G0Z5
N210 Call "sub_1.spf"
N220 G0 Z100
N230 M30
N240 _ERROR1:
N250 MSG("INCORRECT TOOL TYPE")
N260 M0
STOPRE
N270 GOTOB _ERROR1
Сообщение
LOOP
Дополнительная задача:

Данная программа может использоваться, только если выбрано цельное сверло.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 9
M206
M206
Системная переменная, запрос безопасности
Примечания
M206
Стр. 10
828D/840Dsl SINUMERIK Operate
Кадры
M207
SINUMERIK
Operate
Описание модуля:
828D/840D sl SINUMERIK Operate
В данном модуле описывается считывание и запись кадров.
Назначение:
Изучив модуль, вы сможете программировать пользовательские кадры для
сверления, а также считывать и записывать кадры.
Содержание:
Структура кадров
Описание используемых команд и переменных
828D/840Dsl SINUMERIK Operate v4.7
Настоящий документ предназначен для целей обучения.
Компания Siemens не несет ответственности за его
Стр. 1 содержание.
M207
M207
M207
Стр. 2
828D/840Dsl SINUMERIK Operate
M207
Кадры
Кадры
НАЧАЛО
Статус
Команды
Задача
Блок-схема
Пример
программы
Кадры
КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 3
M207
M207
Статус:
Кадры
M200
Основы языка программирования
высокого уровня
M206
Системная переменная, запрос безопасности
M201
Подпрограмма
M207
Кадры
M202
R-переменные
M208
Цикл
M203
Переходы и пользовательские переменные
M204
Точение, шпиндель, плоскости
M205
Системная переменная, подпрограмма
Команды:
В данном модуле рассматриваются только кадры настраиваемого рабочего смещения, например G54, $P_UIFR[1]
Команда
Значение
$P_GG[n]
Считывание активной G-функции функционально группы
G
$P_UIFR
Активный настраиваемый кадр
CTRANS
Грубый сдвиг
CFINE
Тонкий сдвиг
$P_GG[n]:
G-функции разделяются на так называемые функциональные группы. Это предотвращает двойной вызов команд из
группы в одном блоке.
Примечания
M207
Стр. 4
828D/840Dsl SINUMERIK Operate
M207
Кадры
Пример:
G-команды G0, G1, G2, G3 находятся в функциональной группе 1.
Согласно логике они не могут быть записаны в одном блоке, поскольку принадлежат к одной функциональной
группе. (Руководство «Основы SINUMERIK», гл. 12 «Таблицы», Перечень инструкций).
Активные группы G-code и их состав в любой момент можно отобразить в SINUMERIK Operate.
В области управления «Станок»
имеются два варианта.
Вариант 1:
Нажатием
командой.
функциональной клавиши отображаются наиболее важные группы G-функций с активной
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 5
M207
M207
Кадры
Вариант 2
Если открыть строку экранных
клавиш и нажать функциональную клавишу,
отобразятся все активные группы G-функций с активной командой.
Это окно может оставаться активным при обработке, так что вы можете следить за тем, какая команда является
активной в тот или иной момент и в какой группе в процессе выполнения программы.
$P_UIFR:
Эта системная переменная открывает прямой доступ к значениям настраиваемых рабочих смещений.
$P_UIFR[N]
Цифра в квадратных скобках означает, какое рабочее смещение будет использоваться.
Команда, описывающая действия со значениями рабочего смещения, стоит после системной переменной.
CTRANS:
Рабочее смещение (грубый сдвиг) может быть записано с помощью данной функции кадра.
Сначала определяется ось, а затем значение следующего параметра.
Команда CTRANS не может использоваться отдельно, она работает только с системной переменной.
Примечание: Если значение присвоено только одной оси, все остальные устанавливаются на ноль.
Пример:
Активные значения рабочего смещения G54
Примечания
M207
Стр. 6
828D/840Dsl SINUMERIK Operate
M207
Кадры
Ввод в MDI:
SP_UIFR[1]
Число в квадратных скобках означает G54
=CTRANS (X,110)
Оси X присвоено значение 110
При нажатии,
значение для «X» присваивается рабочему смещению G54. Значения для всех осей
устанавливаются на ноль.
CFINE:
Функциональные возможности CFINE аналогичны таковым у CTRANS. Все активные значения тонкого сдвига
устанавливаются на ноль, если значение присвоено только одной оси. См. пример выше.
CFINE используется, если вы не хотите менять значения рабочих смещений (грубых сдвигов).
Вы можете использовать уровни доступа, чтобы, например, ограничить доступ оператора только значениями
тонкого сдвига.
Максимальную величину тонкого сдвига также можно настроить.
Примечание:
Значения CFINE всегда активны для рабочего смещения и включены в расчет соответствующих осей.
Важно, чтобы тонкий сдвиг также учитывался для рабочего смещения.
Если в кадре будут удаляться не все значения, а только значения для одной оси, это можно сделать с
помощью команды TR в кадре.
Пример: $P_UIFR[1,X,TR]=25
В кадре G54 только значение для оси X меняется на 25. Все остальные значения остаются неизменными.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 7
M207
M207
Кадры
Задача:
Описание задачи
В основе данного модуля используется заготовка из модуля M206.
Допущение: Заготовка зафиксирована в постоянной системе зажимов в нулевой точке. Ее координаты заданы и
записаны относительно нулевой точки.




Программа конфигурируется так, чтобы запрашивалась группа G-code и рабочее смещение G54 было
активным. Оператор не должен менять рабочие смещения.
Если активным смещением нулевой точки не является G54, программа зацикливается и может быть
прервана только нажатием «RESET» (Сброс).
Оператор вносит высоту заготовки в программу.
Запрос системных переменных для системного кадра и описание помимо грубого сдвига должны учитывать
и тонкий сдвиг.
Чертеж:
Примечания
M207
Стр. 8
828D/840Dsl SINUMERIK Operate
M207
Кадры
Блок-схема:
G54 NOT ACTIVE
НАЧАЛО
Запрос ЧПУ
Нулевая точка
G54 ACTIVE
Сообщение
Запрос
состояния
инструмента
TOOLTYPE OK
TOOLTYPE NOT OK
Сообщение
Положение 1
LOOP
Цикл
LOOP
Положение 2
Цикл
Положение 3
Цикл
КОНЕЦ
Пример программы:
Основная программа
;_TOOLTYPE= VARIABLE FOR TOOL TYPE WITH CURRENT
;TOOL NUMBER AND CUTTING EDGE NUMBER
N10 DEF INT _TOOLTYPE
N20 DEF REAL _POSITION_X
N30 DEF REAL _POSITION_Y
N40 DEF REAL _POSITION_Z
N50 DEF REAL _WORKPIECE
;-------------------------------;POSITION OF THE ZERO POINT CLAMPING SYSTEM
N60 _POSITION_X=100
N70 _POSITION_Y=100
N80 _POSITION_Z=10
;------------------------------;ENTER HEIGHT OF WORKPIECE
N90 _WORKPIECE=50
;------------------------------N110 IF $P_GG[8] <> 1 GOTOF _ERROR2
N120 $P_UIFR[$P_GG[8]]=CTRANS (X, _POSITION_X, Y, _POSITION_Y, Z,
_POSITION_Z):CFINE(X,0,Y,0,Z,0)
N130 ATRANS Z=_WORKPIECE
N140 G17 G64 G90 G94 G54
N150 WORKPIECE(,"",,"BOX",0,0,-10,-80,0,0,200,200)
;Drilling
N160 T="DRILL_Tool"
;T="CUTTER 4"
N170 M6 D1
Запрос ЧПУ
Нулевая точка
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 9
M207
M207
Кадры
N180 _TOOLTYPE = $TC_DP1[$P_TOOLNO,$P_TOOL]
N190 IF (_TOOLTYPE <200) OR (_TOOLTYPE >299) GOTOF _ERROR1
N200 G17 G40 G60 G71 G90
N210 G95 S1200 F0.1 M3 M8
N220 G0 Z100
N230 G0 X25 Y25
N240 G0 Z5
N250 Call "sub_1"
N260 G0 Z100
N270 G0 X100 Y100
N280 G0 Z5
N290 Call "sub_1"
N300 G0 Z100
N310 G0 X175 Y175
N320 G0Z5
N330 Call "sub_1"
N340 G0 Z100
N350 M30
;--------------------------------N360 _ERROR1:
N370 MSG("INCORRECT TOOL TYPE")
N380 M0
N390 GOTOB _ERROR1
N400 _ERROR2:
N410 MSG("INCORRECT ZERO POINT!! G54 MUST BE SELECTED")
N420 M0
N430 GOTOB _ERROR2
Дополнительная задача:



Цель: Пользователь не может изменять программу ЧПУ. Уровень защиты
Высота заготовки, записанная в программе пользователем, должна быть включена непосредственно в
смещение нулевой точки.
Если высота заготовки составляет более 60 мм, будет выдано предупреждение. Запуск программы
становится невозможен, поскольку система зажимов не сможет зафиксировать эту заготовку.
Примечания
M207
Стр. 10
828D/840Dsl SINUMERIK Operate
Цикл глубины сверления
M208
SINUMERIK
Operate
Описание модуля:
828D/840D sl SINUMERIK Operate
В данном модуле описывается работа с самопрограммируемым циклом.
Цикл действует в любой программе и вызывается из основной программы переносом
параметров, требуемых для операции обработки.
Назначение:
Изучив модуль, вы сможете записать цикл, в точности соответствующий вашим
требованиям и работающий во всех программах. Таким образом можно сократить
время программирования и увеличить производительность. Количество ошибок
программирования также снижается, поскольку циклы уже содержат важные
программные сегменты.
Содержание:
Конфигурирование цикла, работающего в любой программе, и управление им
Запись собственного цикла для глубины сверления
828D/840Dsl SINUMERIK Operate v4.7
Настоящий документ предназначен для целей обучения.
Компания Siemens не несет ответственности за его
Стр. 1 содержание.
M208
M208
M208
Стр. 2
828D/840Dsl SINUMERIK Operate
M208
Цикл глубины сверления
Базовый цикл
НАЧАЛО
Статус
Команды
Задача
Блок-схема
Пример
программы
Базовый цикл
КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 3
M208
M208
Статус:
Цикл глубины сверления
M200
Основы языка программирования
высокого уровня
M206
Системная переменная, запрос безопасности
M201
Подпрограмма
M207
Кадры
M202
R-переменные
M208
Базовый цикл
M203
Переходы и пользовательские переменные
M207
Расширенный цикл
M204
Точение, шпиндель, плоскости
M205
Системная переменная, подпрограмма
Команды:
Команда
Значение
PROC
Первая инструкция программы с объявлением переменных
на прием значений из основной программы
DISPLOF
Запрещение отображения текущего блока
SAVE
Сохранение модальных G-функций
IF/ENDIF
Программные циклы для проверки пересылаемых
переменных на достоверность
PROC:
Данная команда используется для подпрограмм, значения параметров которых принимаются вызывающей
программой.
Пример:
Цикл MY_DRILLSPF - это самозаписываемый пользовательский цикл. Цикл является активным в основной
программе, т. е. запрограммированные значения и параметры принимаются основной программой.
Если для пользовательского цикла такие условия приемлемы, первой командой всегда будет «PROC».
Все циклы от Siemens начинаются с этой команды.
Примечания
M208
Стр. 4
828D/840Dsl SINUMERIK Operate
M208
Цикл глубины сверления
DISPLOF:
Отображение текущего блока может быть запрещено этой командой.
Пример: Если циклы вызываются в основной программе, отдельные блоки ЧПУ текущего цикла MY_DRILL.SPF
оказываются невидимыми. Их отображение подавляется. Циклы обычно программируются таким образом.
ENDIF/ELSE:
Эти команды используются, если программный цикл должен содержать альтернативный программный блок.
Если условие IF удовлетворяется, то блок IF запускается.
Если условие IF не удовлетворяется, то запускается программный блок, стоящий после команды ELSE.
Команда ENDIF означает конец цикла IF. Программа возвращается в начало цикла.
SAVE:
Командой SAVE модальные G-функции и текущий кадр, бывший активным до вызова подпрограммы, сохраняются
основной программой и снова становятся активными после возврата.
Использование циклов в SINUMERIK:
В Siemens циклы это всегда подпрограммы, оканчивающиеся на «.SPF».
Принцип их использования является следующим:
В области
управления
имеются три папки в папке Cycles.
Стандартные циклы
Все циклы SINUMERIK Operate находятся в данной папке. Эти циклы являются подпрограммами и могут быть
открыты и записаны.
Однако когда управление снова активируется, циклы возвращаются в их первоначальное состояние.
Циклы производителя
В данной папке находятся циклы производителя.
Модифицированные циклы являются активными и сохраняются. Они подлежат изменению только производителем
станка.
Пользовательские циклы
В данной папке находятся циклы, записанные оператором.
Модифицированные циклы являются активными и сохраняются.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 5
M208
M208
Цикл глубины сверления
Порядок действий:
При создании пользовательского цикла он не обязательно должен быть записан полностью.
Возможно, например, изменить стандартные циклы.
Если необходимо модифицировать существующий цикл, выполните следующее:
Стандартный цикл «Drilling depth» (Глубина сверления) из папки «Standard cycles» (Стандартные циклы)
программируется в папке «User cycles»(Пользовательские циклы).
Переход из папки «Standard cycles»в папку «User cycles»
Имя цикла сохраняется, изменения вносятся и управление возобновляется.
После возобновления измененный цикл «Глубина сверления» становится доступным.
Примечание: Не рекомендуется изменять стандартные циклы, но если это необходимо, будьте очень
осторожны.
Для вызова цикла применяется следующая процедура:
Система проверяет, находится ли вызываемый цикл в папке «User cycles». Если да, он запускается.
Если вызываемый цикл находится не в папке «User cycles», а в папке «Manufacturer cycles» (Циклы производителя),
он запускается.
Если вызываемый цикл находится только в папке «Standard cycles», используется он.
Данная процедура гарантирует, что всегда используется самый последний цикл программы и все изменения
активируются.
Если вы записываете новый цикл, он сохраняется прямо в папку «User cycles».
Если вызывается собственный цикл, оператор не имеет непосредственного влияния на него, потому что он
обычно невидим и оператор не знает, где его найти.
Если управления возобновляется, цикл становится активным в папке «User cycles».
Примечания
M208
Стр. 6
828D/840Dsl SINUMERIK Operate
M208
Цикл глубины сверления
Задача:
Простой цикл сверления с именем «My_drill»необходимо запрограммировать и использовать как пользовательский
цикл.




Цикл программируется в основной программе и невидим при исполнении программы.
Цикл берет значения основной программы: Безопасный зазор, глубина сверления, скорость подачи и отвода.
Если безопасный зазор составляет меньше нуля, появляется сообщение об ошибке.
Если глубина сверления не представляет собой отрицательное значение, также появляется сообщение об
ошибке.
НАЧАЛО
Блок-схема:
Main program M208.MPF
Вызов пользовательского цикла My_drill» с передачей значений
Запрос
безопасного
зазора
Безопасный зазор не OK
Сообщение об ошибке
Безопасный зазор OK
Запрос глубины
сверления
Глубина сверления не OK
Сообщение об ошибке
Глубина сверления OK
Обработка положений
КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 7
M208
M208
Цикл глубины сверления
Пример программы
Для создания пользовательского цикла MY_DRILL.SPF откройте папку «User cycles» и создайте файл
MY_DRILL.SPF, нажав клавишу New.
Main program M208.MPF
;================================================================
;M208 MAIN PROGRAM FOR DRILLING WITH PARAMETER TRANSFER TO MY_DRILL CYCLE
;================================================================
;
;TRANSFER PARAMETERS TO THE MY_DRILL CYCLE
;------------------------------------------------;_SAFE
;SAFETY CLEARANCE- POSTIVE NUMERIC VALUE
;_DEPTH
;DRILLING DEPTH- NEGATIVE NUMERIC VALUE
;_FEED
;FEEDRATE MM/REV- POSTIVE NUMERIC VALUE
;_RETR
;RETRACTION AFTER DRILLING- POSTIVE NUMERIC VALUE
;===========================
;PROGRAM CODE MAIN PROGRAM
;===========================
;
G17 G64 G95 G90
;Set environment
;
G54
;Select 1st WO
;
WORKPIECE(,"",,"BOX",112,0,-10,-80,0,0,200,200)
Примечания
M208
Стр. 8
828D/840Dsl SINUMERIK Operate
M208
Цикл глубины сверления
;
T="CENTERDRILL_12" ;TOOL CALL CENTER DRILL
M06 D1
;
G95 S2000 M03 ;SET TECHNOLOGY
;
MCALL MY_DRILL(1,-4.5,0.08,10) ;
Вызов пользовательского цикла «My_drill»с переходом значений
G00 X25 Y25
G00 X100 Y100
G00 X175 Y175
MCALL
T="DRILL_D8.5"
M06 D1
;
G95 S850 M03 ;Set technology
MCALL MY_DRILL(1,-12,0.12,10)
G00 X25 Y25
G00 X100 Y100
G00 X175 Y175
MCALL
G00 Z100
G00 X-100 Y300
M05
M30
;DESELECT MODAL USER CYCLE
;Tool call drill
;Modal call user cycle
;Deselect modal execution
;RETRACTION
;SPINDLE STOP
;=================================================================
;USER CYCLE MY_DRILL.SPF
;=================================================================
;SAFE=SAFETY CLEARANCE- POSTIVE NUMERIC VALUE
;DEPTH=DRILLING DEPTH- NEGATIVE NUMERIC VALUE
;FEED= FEEDRATE MM/REV- POSTIVE NUMERIC VALUE
;RETR= RETRACTION AFTER DRILLING- POSTIVE NUMERIC VALUE
,
PROC MY_DRILL(REAL _SAFE,REAL _DEPTH,REAL _FEED,REAL _RETR) DISPLOF SAVE
IF _SAFE <0 GOTOF _ERROR1
ENDIF
Запрос безопасного
зазора
IF _DEPTH >0 GOTOF _ERROR2
ENDIF
G00 Z=_SAFE
Запрос глубины
G01 Z=_DEPTH F=_FEED
сверления
G00 Z=_RETR
;---------------------------------------------------------------RET
;----------------------------------------------------------------_ERROR1:
MSG("THE SAFETY CLEARANCE MUST BE GREATER THAN ZERO!")
M00
GOTOB _ERROR1
_ERROR2:
MSG("THE DRILLING DEPTH MUST BE LESS THAN ZERO!")
M00
GOTOB _ERROR2
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 9
M208
M208
Цикл глубины сверления
Программирование заготовки завершено.
Дополнительная задача:
Необходимо изменить цикл. Должна быть обеспечена возможность работы с отрицательным безопасным зазором.
Сверление всегда начинается с уровня поверхности материала.
Пример: Сверление начинается в кармане.
Примечания
M208
Стр. 10
828D/840Dsl SINUMERIK Operate
Расширенный цикл
M209
SINUMERIK
Operate
Описание модуля:
828D/840D sl SINUMERIK Operate
В данном модуле описывается работа с самопрограммируемым расширенным циклом.
Расширенный цикл действует в любой программе.
Назначение:
Изучив модуль, вы сможете записать расширенный цикл, работающий в любой
программе.
Содержание:
Описание структуры расширенного цикла
Описание используемых системных переменных и команд
828D/840Dsl SINUMERIK Operate v4.7
Настоящий документ предназначен для целей обучения.
Компания Siemens не несет ответственности за его
Стр. 1 содержание.
M209
M209
M209
Стр. 2
828D/840Dsl SINUMERIK Operate
M209
Расширенный цикл
Расширенный
цикл
НАЧАЛО
Статус
Команды
Задача
Блок-схема
Пример
программы
Расширенный
цикл
КОНЕЦ
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 3
M209
M209
Статус:
Расширенный цикл
M200
Основы языка программирования
высокого уровня
M206
Системная переменная, запрос безопасности
M201
Подпрограмма
M207
Кадры
M202
R-переменные
M209
Расширенный цикл
M203
Переходы и пользовательские переменные
M204
Точение, шпиндель, плоскости
M205
Системная переменная, подпрограмма
Команды:
Команда
Значение
PROC
Первая инструкция программы
DISPLOF
Запрещение отображения текущего блока
SAVE
Сохранение модальных G-функций
ABS
Абсолютный размер
ENDIF/ELSE
Программный цикл
Примечания
M209
Стр. 4
828D/840Dsl SINUMERIK Operate
M209
Расширенный цикл
Команда
Значение
SBLOF
Запрет запуска отдельного блока
SBLON
Разрешение запуска отдельного блока
LOOP
Запуск бесконечного цикла
ENDLOOP
Конечная строка бесконечного цикла
ENDIF/ELSE
Программные циклы
SETAL
Настройка сигнализаций
PROC:
Данная команда используется для подпрограмм, программные параметры которых принимаются вызывающей
программой.
Пример:
Расширенный цикл это всегда подпрограмма. Расширенный цикл является активным в основной программе, т. е.
запрограммированные значения и параметры принимаются основной программой.
Если подпрограмма удовлетворяет таким условиям, первой командой всегда будет «PROC»
Все циклы от Siemens начинаются с этой команды.
DISPLOF:
Отображение текущего блока может быть запрещено этой командой.
Пример: Если циклы вызываются в основной программе, отдельные блоки ЧПУ текущего расширенного цикла
оказываются невидимыми. Их отображение подавляется. Циклы обычно программируются таким образом.
SAVE:
Командой SAVE модальные G-функции и текущий кадр, бывший активным до вызова подпрограммы, сохраняются
основной программой и снова становятся активными после возврата.
ABS:
Значение всегда означает абсолютный размер.
ENDIF/ELSE:
Эти команды используются, если программный цикл должен содержать альтернативный программный блок.
Если условие IF удовлетворяется, то блок IF запускается.
Если условие IF не удовлетворяется, то запускается программный блок, стоящий после команды ELSE.
Команда ENDIF означает конец цикла IF. Программа возвращается в начало цикла.
SBLOF:
В программах, в которых имеется SBLOF, следующие блоки выполняются полностью, даже если запущено
выполнение
отдельного блока.
Пример:
связанная операция обработки должна быть выполнена отдельными блоками, поскольку в противном случае будет
поврежден инструмент или заготовка.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 5
M209
M209
Расширенный цикл
SBLON:
После данной команды следующие блоки ЧПУ выполняются отдельными блоками.
LOOP/ENDLOOP:
Данной командой часто программируются бесконечные циклы.
Запуск цикла программируется командой «LOOP».
ENDLOOP означает конец цикла и приводит к возврату к операции «LOOP», то есть в начало цикла.
Пример:
Данная команда используется, если определенная операция обработки повторяется очень часто.
С помощью R-переменных в данный программный цикл может быть встроен счетчик.
После выполнения определенного количества операций обработки происходит переход к другому программному
сегменту.
SETAL:
C помощью данной программы можно запрограммировать аварийный сигнал.
Команда SETAL должна быть записана в другой блок ЧПУ вместе с номером сигнала.
Номера сигналов и аварийные сигналы структурируются следующим образом:
Номера с 60000 по 64999 зарезервированы за циклами Siemens.
Номера с 65000 по 69999 доступны пользователям. Здесь также можно добавить текст.
Пример:
N100 SETAL (65000) ;Set alarm no. 65000.
Использование циклов в SINUMERIK:
В Siemens циклы это всегда подпрограммы, оканчивающиеся на «.SPF».
Принцип их использования является следующим:
В области управления
имеются три папки в папке Cycles.
Стандартные циклы
Все циклы SINUMERIK Operate находятся в данной папке. Эти циклы являются подпрограммами и могут быть
открыты и записаны.
Однако когда управление снова активируется, циклы возвращаются в их первоначальное состояние.
Циклы производителя
В данной папке находятся циклы производителя.
Модифицированные циклы являются активными и сохраняются. Они подлежат изменению только производителем
станка.
Пользовательские циклы
В данной папке находятся циклы, записанные оператором.
Модифицированные циклы являются активными и сохраняются.
Примечания
M209
Стр. 6
828D/840Dsl SINUMERIK Operate
M209
Расширенный цикл
Порядок действий:
При создании расширенного пользовательского цикла он не обязательно должен быть записан полностью.
Возможно, например, изменить стандартные циклы.
Если необходимо модифицировать существующий расширенный цикл, выполните следующее:
Расширенный стандартный цикл из папки «Standard cycles» (Стандартные циклы) программируется в папке «User
cycles» (Пользовательские циклы).
Копирование расширенного цикла из папки «Standard cycles» в папку «User cycles»
Имя расширенного цикла сохраняется, изменения вносятся и управление возобновляется.
После возобновления измененный расширенный цикл становится доступным.
Примечание: Не рекомендуется изменять стандартные циклы, но если это необходимо, будьте очень
осторожны.
Для вызова расширенного цикла применяется следующая процедура.
Система проверяет, находится ли вызываемый расширенный цикл в папке «User cycles». Если да, он запускается.
Если вызываемый расширенный цикл находится не в папке «User cycles», а в папке «Manufacturer cycles»(Циклы
производителя), он запускается.
Если вызываемый расширенный цикл находится только в папке «Standard cycles», используется он.
Данная процедура гарантирует, что всегда используется самый последний расширенный цикл программы и все
изменения активируются.
Если вы записываете новый расширенный цикл, он сохраняется прямо в папку «User cycles».
Если вызывается собственный расширенный цикл, оператор не имеет непосредственного влияния на него,
потому что он обычно невидим и оператор не знает, где его найти.
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 7
M209
M209
Расширенный цикл
Задача:
Описание задачи
Необходимо запрограммировать расширенный цикл сверления и использовать его как расширенный
пользовательский цикл.

Расширенный цикл программируется в основной программе, но является невидимым.

Расширенный цикл должен содержать следующие значения: Начальное положение, положение отвода,
полная глубина сверления, глубина сверления на первом этапе, скорость подачи, скорость подачи на
первом этапе, макс. глубина обработки, мин. глубина обработки.

Если скорость подачи не запрограммирована, необходимо создать программный цикл, который может быть
отменен только командой «RESET».

Тип инструмента должен быть проверен. Если он является некорректным, необходимо создать программный
цикл, который может быть отменен только командой
«RESET».

Перед обработкой необходимо включить подачу охлаждающей жидкости с помощью M-функции.

Сверление до первой глубины обработки производится за один проход, а не в режиме одного блока.

Дальнейшая подача осуществляется поэтапно, пока последней подачей не будет достигнута глубина
сверления.

Затем из отверстия удаляется стружка.

Поперечное перемещение осуществляется до глубины сверления на последнем этапе и затем в положение
отвода.
НАЧАЛО
Блок-схема:
Создание подпрограммы
Определение функций расширенного цикла
Определение пользовательских переменных
FEEDRATE NOT OK
Запрос скорости
подачи
FEEDRATE OK
Запрос
состояния
инструмента
Сообщение
TOOLTYPE OK
TOOLTYPE NOT OK
Сообщение
Выполнение расчета расширенного цикла
LOOP
Программная последовательность для
программирования расширенного цикла
LOOP
КОНЕЦ
Примечания
M209
Стр. 8
828D/840Dsl SINUMERIK Operate
M209
Расширенный цикл
Пример программы:
Расширенный цикл
PROC DRILL (REAL _STARTP, REAL _RETRAC, REAL _DEPTH_TOTAL, REAL _DEPTH_1, REAL _FEED, REAL
_FEED_1, REAL _DEPTH_MAX, REAL _DEPTH_MIN)SAVE;DISPLOF
;-----------------------------DEF REAL _DEPTH_CAL
DEF REAL _LAST_STEP
DEF INT _STEP
DEF REAL _STEP_EV
DEF REAL _ACTPOS
DEF INT _TOOLTYPE
;------------------------------_DEPTH_TOTAL=ABS(_DEPTH_TOTAL)
_DEPTH_1=ABS(_DEPTH_1)
IF _FEED==0 GOTOF _ERROR2
ENDIF
_TOOLTYPE=$TC_DP1[$P_TOOLNO,1]
IF (_TOOLTYPE<200) OR (_TOOLTYPE>299) GOTOF _ERROR1
;--------------------------------_DEPTH_CAL=(_DEPTH_TOTAL)-(_DEPTH_1)
_STEP=ROUNDUP(_DEPTH_CAL)/(_DEPTH_MAX)
_LAST_STEP=_DEPTH_CAL-(_STEP*_DEPTH_MAX)
IF _LAST_STEP<_DEPTH_MIN
_LAST_STEP=_DEPTH_MIN
_DEPTH_CAL=_DEPTH_CAL-_DEPTH_MIN
_STEP_EV=_DEPTH_CAL/_STEP
ELSE
_DEPTH_CAL=_DEPTH_MAX*_STEP
_STEP_EV=_DEPTH_CAL/_STEP
ENDIF
;------------------------------------------
Примечания
828D/840Dsl SINUMERIK Operate
Стр. 9
M209
M209
Расширенный цикл
G0 Z=_RETRAC
M=$MCS_M_CODE_COOLANT_1_ON
G1 Z=_STARTP F=_FEED_1
G1 Z=-_DEPTH_1
G0 Z=_RETRAC
G0 Z=(-_DEPTH_1)+1
SBLOF
G1 Z=(-_DEPTH_1) F=_FEED
LOOP
G1 Z=IC(-_STEP_EV)
SBLON
_ACTPOS=$AA_IW[Z]
G0 Z=_RETRAC
IF _ACTPOS==(_DEPTH_TOTAL-_LAST_STEP)*(-1) GOTOF _END
G0 Z=_ACTPOS+1
SBLOF
G1 Z=IC(-1)
ENDLOOP
_END:
;--------------------------------------------G0 Z=_ACTPOS+1
G1 Z=_DEPTH_TOTAL*(-1)
G0 Z=_RETRAC
;----------------------------------------------M17
_ERROR1:
MSG("INCORRECT TOOL TYPE")
M0
GOTOB _ERROR1
_ERROR2:
SETAL(61003)
M0
GOTOB _ERROR2
M17
Примечания
M209
Стр. 10
828D/840Dsl SINUMERIK Operate
Скачать