Суть программирования для станков с чпу. Методы программирования систем чпу

Одним из самых интересных и эффективных методов программирования обработки является параметрическое программирование. Удивительно, но большинство технологов-программистов хоть и слышали об этом методе, но совершенно не умеют его использовать. В этом разделе вы познакомитесь с теорией параметрического программирования и коснетесь основ макроязыка системы ЧПУ современного станка.

Большинство станочных систем ЧПУ имеют в своем распоряжении специальный язык для параметрического программирования (макропрограммирования). Например, в СЧПУ Fanuc этот язык называется Macro В. Если вы хоть немного знакомы с языком программирования Бейсик (Basic), то вы без труда разберетесь и с Macro В. Команды и функции именно этого языка мы рассмотрим подробно. В обычной управляющей программе вы указываете различные G-коды, а также направления и величины перемещений при помощи числовых значений. Например, G10 или Х100. Однако СЧПУ станка может делать то же самое при помощи переменных.

Символом переменной в Macro В является знак #. Например, в программе можно указать следующие выражения:


#1=100
#2=200
#3=#1+#2

Это означает, что переменной #1 присваивается значение 100, а переменной #2 – значение 200. Переменная #3 будет являться результатом суммы переменной #1 и переменной #2. С таким же успехом можно записать и G-код:


#25=1
G#25

Переменной #1 присвоено значение 1. Тогда вторая строка по своей сути будет обозначать код линейной интерполяции G1. С переменными можно производить различные арифметические и логические операции, что позволяет создавать «умные» программы обработки или различные станочные циклы.

В памяти системы ЧПУ существует область, в которой хранятся значения переменных. Вы можете заглянуть в эту область, если найдете раздел памяти СЧПУ, который обычно называется MACRO или VARIABLES. Присваивать значения переменным можно не только внутри программы, но и непосредственно – вводя значения в регистры этой памяти. Приведу несколько примеров. Можно составить такую программу:

#1=25
#2=30
#3=#2+#1

В этом случае значения присваиваются переменным внутри программы. Чтобы в будущем изменить числовые значения переменных #1 и #2, придется отредактировать программу.

Можно реализовать более удобный вариант, который позволит изменять значения переменных в любой момент, не прибегая к изменению самой программы:

Как видите, переменным #1 и #2 в программе не присвоено никаких значений. Оператор станка может войти в область переменных MACRO и ввести любое числовое значение для любой переменной.

Все переменные системы ЧПУ можно условно разделить на 4 типа:

  • нулевые;
  • локальные;
  • общие;
  • системные.

Локальные переменные могут быть использованы внутри макросов для хранения данных. При выключении электропитания локальные переменные обнуляются. У большинства станков с СЧПУ Fanuc нулевой серии локальными являются переменные с номерами от 1 до 33.

Общие переменные могут работать внутри различных параметрических программ и макросов. При выключении электропитания некоторые общие переменные обнуляются, а некоторые сохраняют свои значения. У большинства станков с СЧПУ Fanuc нулевой серии общими являются переменные с номерами от 100 до 999.

Системные переменные используются для чтения и записи различной системной информации – данных о позиции инструмента, величинах компенсации, времени и др. Номера системных переменных для Fanuc нулевой серии начинаются с 1000.

Нулевые переменные всегда равны нулю.

Для выполнения арифметических и логических операций язык Macro В предоставляет набор команд и операторов.

Таблица 10.1. Основные арифметические и логические команды

Для управления переменными и для выполнения различных логических операций служат макрокоманды. Макрокоманды языка Macro В похожи на команды Бейсика.

Команда безусловного перехода GOTO предназначена для передачи управления определенному кадру программы. Формат команды следующий:

  • GOTO N – безусловный переход к кадру N;
  • GOTO #A – безусловный переход к кадру, установленному переменной #A.

Пример:

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 выполняется как обычно.

В выражении [#1 GT #2] используются операторы сравнения. В табл. 10.2 сведены операторы для сравнения переменных языка Macro В.

Таблица 10.2. Операторы сравнения

Команда WHILE позволяет повторять различные действия с условием. Пока указанное выражение считается справедливым, происходит выполнение части программы, ограниченной командами DO и END. Если выражение не справедливо, то управление передается кадру, следующему за END.

% О1000 #1=0 #2=1 WHILE [#2 LE 10] DO 1; #1=#1+#2 #2=#2+1 END 1 M30 %

Макропрограммой называется программа, которая находится в памяти СЧПУ и содержит различные макрокоманды. Макропрограмму можно вызывать из обычной программы с помощью G-кода, аналогично постоянным циклам. При вызове макропрограммы существует возможность прямой передачи значений для переменных макропрограммы.

Команда G65 предназначена для немодального вызова макропрограммы. Формат для этой команды следующий:

где G65 – команда вызова макропрограммы; Р_ – номер вызываемой макропрограммы; L_ – число повторений макропрограммы; А_ и В_ – адреса и значения локальных переменных.

G65 Р9010 L2 А121 В303 – макропрограмма 9010 вызывается 2 раза, соответствующим локальным переменным присваиваются значения 121 и 303.

Необходимо знать, какой локальной переменной присваивается значение с помощью того или иного адреса. Например, для СЧПУ Fanuc 0-MD будут справедливы следующие зависимости:

Таблица 10.3. Соответствие адресов локальным переменным

Адрес Переменная
A
B
C
D
E
F
H
I
J
K
M
Q
R
S
T
U
V
W
X
Y
Z
#1
#2
#3
#7
#8
#9
#11
#4
#5
#6
#13
#17
#18
#19
#20
#21
#22
#23
#24
#25
#26

Теперь можно приступить к созданию несложной, но очень полезной параметрической программы. Довольно часто возникает необходимость в обработке нескольких отверстий, находящихся на некотором радиусе и следующих через определенный угол (рис. 10.7). Чтобы освободить программиста от утомительного переделывания программы в случае изменения радиуса, угла или количества отверстий, создадим такую программу обработки, которая позволит оператору вводить значения радиуса и угла и выполнять операцию сверления по окружности с любыми размерами.

Для сверления отверстий будем использовать стандартный цикл G81. Угол, на котором находятся отверстия, отсчитывается от оси X против часовой стрелки (положительный угол).

Необходимо задать:

  • радиус окружности, на которой находятся отверстия;
  • начальный угол (угол, на котором находится первое отверстие);
  • относительный угол (угол, через который следуют остальные отверстия);
  • общее количество отверстий.

Все эти данные должны быть представлены в параметрическом виде, то есть при помощи переменных.

Пусть
#100= радиус окружности, на которой находятся отверстия;
#101= начальный угол;
#102= относительный угол;
#103= общее количество отверстий.

Рис. 10.7. Создадим параметрическую программу для обработки детали с неизвестными размерами

Для того чтобы создать параметрическую программу, необходимо придумать алгоритм, позволяющий изменять поведение программы обработки в зависимости от значений указанных переменных. В нашем случае основой УП является стандартный цикл сверления G81. Остается найти закон, по которому описываются координаты центров отверстий при любых первоначальных значениях радиуса, углов и произвольном количестве отверстий.

%
О2000
N10 G21 G90 G80 G54 G40 G49 G00
N20 G17

Первые кадры программы будут стандартными. Это номер программы, строка безопасности и код G17 выбора плоскости XY.

Так как координаты центров отверстий задаются с помощью радиуса и угла, то есть в полярной системе координат, то в кадре N30 укажем код G16.

N40 Т1 М6
N45 G43 HI Z100
N50 S1000 M03
#120=0

В кадр N60 поставим цикл сверления G81 и координаты центра первого отверстия. Как вы помните, в случае работы с полярными координатами X обозначает радиус, a Y определяет угол. Значения радиуса и начального угла известны, они устанавливаются переменными #100 (радиус) и #101 (начальный угол). Вводится некоторая переменная #120 с нулевым значением. Эта переменная представляет собой счетчик. Чуть позже вы поймете назначение данной переменной.

N60 G98 G81 Х#100 Y#101 Z-5 R0.5 F50

Переменная #103 отвечает за общее количество отверстий. Так как первое отверстие мы уже просверлили, то уменьшим #103 на 1. Таким образом, кадр N70 обеспечивает подсчет оставшихся отверстий. А кадр N75 увеличивает значение переменной #120 на 1.

N70 #103=#103-1
N75 #120=#120+1

Если количество отверстий, которые осталось просверлить, равно нулю, то следует отменить цикл сверления, выключить обороты шпинделя и завершить программу.

N80 IF [#103 EQ 0] GOTO 120

В кадре N80 происходит сравнение значения переменной #103 с нулем. Если переменная #103 равна нулю, то управление передается кадру N120 в конце программы. Если же переменная #103 не равна нулю, то выполняется следующий кадр.

N90 #130=#102*#120
N95#110=#101+#130

Кадр N90 предназначен для определения углового приращения. Новая переменная #110 является суммой #101 (начального угла) и #130 (углового приращения). Кадр N95 обеспечивает расчет угла последующего отверстия.

Затем указывается новый угол для сверления, и управление передается кадру N70.

N100 Y#110
N110 GOTO 70

При помощи кадра N70 образуется замкнутый цикл, который обеспечивает расчет координат центров отверстий и сверление до тех пор, пока значение переменной #103 не будет равно нулю. Если значение #103 станет равным нулю, то управление будет передано кадру N120.

N120 G80
N125 М05
N130 G15
N140 М30
%

Заключительные кадры программы предназначены для отмены постоянного цикла (G80), выключения оборотов шпинделя (М05), выключения режима полярных координат (G15) и завершения программы (М30).

% О2000 N10 G21 G90 G80 G54 G40 G49 G00 N20 G17 N30 G16 N40 T1 M6 N45 G43 H1 Z100 N50 S1000 M03 #120=0 N60 G98 G81 X#100 Y#101 Z-5 R0.5 F50 N70 #103=#103-1 N75 #120=#120+1 N80 IF [#103 EQ 0] GOTO 120 N90 #130=#102*#120 N95 #110=#101+#130 N100 Y#110 N110 GOTO 70 N120 G80 N125 M05 N130 G15 N140 M30 %

Любая параметрическая программа должна быть тщательно проверена, прежде чем она попадет на станок. Скорее всего, у вас не получится проверить такую программу при помощи редактора УП и бэкплота, так как в ней присутствуют переменные. Самая надежная проверка в данном случае – это подстановка значений для входных переменных и «раскручивание» алгоритма уже с конкретными числами.

Предположим, что оператор станка получил чертеж детали (рис. 10.8) для обработки отверстий. Он должен установить нулевую точку G54 в центр детали, замерить длину сверла и установить его в шпиндель. Затем следует войти в область переменных MACRO и ввести следующие числовые значения:

№ переменной Значение

100
101
102
103
104
105

12.5
45
20
4
0
0

Рис. 10.8. Вместо переменных на чертеже стоят конкретные размеры и известно количество отверстий

Для проверки созданной параметрической программы достаточно подставить конкретные значения переменных и, «прокручивая» алгоритм, получить обычную программу.

Эту же программу можно записать и в привычном виде:

% О2000 N10 G21 G90 G80 G54 G40 G49 G00 N20 G17 N30 G16 N40 T1 M6 N45 G43 H1 Z100 N50 S1000 M03 N60 G98 G81 X12.5 Y45 Z-5 R0.5 F50 N100 Y65 N100 Y85 N100 Y105 N120 G80 N125 M05 N130 G15 N140 M30 %

Теперь попробуем создать макропрограмму, которая будет функционировать аналогично постоянному циклу. Для обработки детали, показанной на рис. 10.8, оператор станка должен ввести и отработать следующую команду:

G65 P9010 I12.5 A45 B20 H4

При этом наша параметрическая программа (с новым номером О9010) уже должна находиться в памяти СЧПУ. Как правило, макропрограммы имеют номера с 9000 и выше, недоступны для свободного редактирования. Команда G65 предназначена для немодального вызова макропрограммы. При этом адреса I, А, В, Н в кадре с G65 передают свои числовые значения определенным локальным переменным. Для нахождения соответствия адресов локальным переменным можно воспользоваться табл. 10.3.

Можно подстроить переменные в нашей программе, вставив следующие строки в программу:

#100=#4
#101=#1
#102=#2
#103=#11

В результате получаем макропрограмму:

% О9010 #100=#4 #101=#1 #102=#2 #103=#11 N10 G21 G90 G80 G54 G40 G49 G00 N20 G17 N30 G16 N40 T1 M6 N45 G43 H1 Z100 N50 S1000 M03 #120=0 N60 G98 G81 X#100 Y#101 Z-5 R0.5 F50 N70 #103=#103-1 N75 #120=#120+1 N80 IF [#103 EQ 0] GOTO 120 N90 #130=#102*#120 N95 #110=#101+#130 N100 Y#110 N110 GOTO 70 N120 G80 N125 M05 N130 G15 N140 M30 %

Хотя созданная нами параметрическая программа и не является оптимальной, однако она наглядно демонстрирует широкие возможности этого метода по созданию эффективных УП и различных станочных циклов.

2.1 Структура и содержание программы ЧПУ

Указание

Руководством по разработке программы обработки деталей является DIN 66025.

Программа (ЧПУ/обработки деталей) состоит из последовательности кадров ЧПУ (см. следующую таблицу). Каждый кадр представляет собой один шаг обработки. В кадре записываются операторы в форме слов. Последний кадр в последовательности выполнения содержит специальное слово для конца программы: M2, M17 или M30.

;комментарий

;1-ый кадр

;2-ой кадр

;конец программы (последний кадр)

Имена программ

Каждая программы имеет собственное имя, которое свободно выбирается при создании программы с соблюдением следующих условий (кроме формата перфоленты):

первыми двумя символами должны быть буквы (также и буква с символом подчеркивания)

прочие буквы, цифры

MPF100 или WELLE или

На ЧПУ показываются только первые 24 знака идентификатора программы.

Формат перфоленты

Имена файлов:

Имена файлов могут включать знаки

0...9, A...Z, a...z или _ и иметь максимальную длину в 24 знака.

Имена файлов должны иметь 3-х буквенное расширение (_xxx).

Данные в формате перфоленты могут создаваться отдельно или обрабатываться в редакторе. Имя файла, сохраненного в памяти ЧПУ, начинается с "_N_ ".

Файл в формате перфоленты вводится % <имя>, "% " должен стоять в первой графе первой строки.

%_N_WELLE123_MPF = программа обработки детали WELLE123 или

%Flansch3_MPF = программа обработки детали Flansch3

Прочую информацию по передаче, созданию и сохранению программ обработки деталей можно найти в:

/BAD/, /BEM/ Руководство по эксплуатации HMI Advanced, HMI Embedded глава "Область управления Программа"/"Область управления Службы"

2.2 Языковые элементы языка программирования

Языковые элементы языка программирования определяются

набором символов с прописными/строчными буквами и цифрами

словами с адресом и последовательностью цифр

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

длиной кадра с макс. возможным количеством знаков

последовательностью слов в кадре с таблицей адресов и их значением

главными и вспомогательными кадрами

номером кадра

адресами с таблицей для важных адресов и объяснениями

адресами, действующими модально или в кадре

адресами с осевым расширением с таблицей расширенного написания адреса

фиксированными адресами с таблицей и данными по значению для стандартной установки

фиксированными адресами с осевым расширением с таблицей и указанием значения для стандартной установки

устанавливаемыми адресами с указанием устанавливаемых букв адреса

предопределенными вычислительными функциями, а также арифметическими, логическими операторами и операторами сравнения с соответствующим присваиванием значений

идентификаторами, к примеру, переменными, подпрограммами, кодовыми словами, адресами DIN и метками перехода

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Набор символов

Для создания программ ЧПУ имеются следующие символы:

Прописные буквы

A, B, C, D, E, F, G, H, I, J, K, L, M, N,(O),P, Q, R, S, T, U, V, W, X, Y, Z

При этом учитывать:

Не путать букву "O" с числом "0".

Строчные буквы

a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z

Указание Прописные и строчные буквы не различаются.

1, 2, 3, 4, 5, 6, 7, 8, 9

Специальные символы

% Символ начала программы (только для создания программы на внешнем PC)

< меньше

> больше

: Главный кадр, конец метки, связывающий оператор

= Присвоение, часть равенства

/ Деление, пропуск кадра

* Умножение

Сложение

- Вычитание, отрицательный знак

" Кавычки, идентификация для цепочки символов

" Апостроф, идентификация для специальных числовых данных: шестнадцатеричные, двоичные

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

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

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Указание Скрытые специальные символы обрабатываются как символы пробела.

Программы ЧПУ состоят из кадров; кадры в свою очередь состоят из слов.

Слово "Языка ЧПУ" состоит из символа адреса и цифры или последовательности цифр, представляющей арифметическое значение.

Символом адреса слова является буква. Последовательность цифр может включать знак и десятичную точку, при этом знак всегда стоит между буквами адреса и последовательностью цифр. Положительный знак (+) не записывается.

Кадры и структура кадров

Программа ЧПУ состоит из отдельных кадров, кадр – из (нескольких) слов.

Кадр должен включать в себя все данные для выполнения рабочей операции, и заканчивается символом "LF " (LINE FEED = новая строка).

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Указание

Символ "LF " не записывается; он создается автоматически при переключении строк.

Длина кадра

Кадр может состоять макс. из 512 символов (включая комментарий и символ конца кадра

"LF ").

Указание Обычно в актуальной индикации кадра на дисплее показываются три кадра с макс.

66 символов каждый. Комментарии также показываются. Сообщения показываются в отдельном окне сообщений.

Последовательность слов в кадре

Для наглядности структуры кадра, слова кадра должны располагаться следующим образом:

N10 G… X… Y… Z… F… S… T… D… M… H…

Значение

Адрес номера кадра

Номер кадра

Функция перемещения

Путевая информация

Число оборотов

Инструмент

Номер коррекции инструмента

Дополнительная функция

Вспомогательная функция

Указание Некоторые адреса могут использоваться многократно в одном кадре (к примеру, G…, M…, H…)

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Главный/вспомогательный кадр

Различаются два вида кадров:

главные кадры и

вспомогательные кадры

В главном кадре должны быть указаны все слова, необходимые для запуска технологического цикла с раздела программы, начинающегося с главного кадра.

Указание Главные кадры могут находиться как в главной, так и в подпрограммах. СЧПУ не

проверяет, содержит ли главный кадр всю необходимую информацию.

Номер кадра

Главные кадры обозначаются номером главного кадра. Номер главного кадра состоит из символа ":" и положительного целого числа (номер кадра). Номер кадра всегда стоит в начале кадра.

Указание Номера главных кадров внутри программы должны быть уникальными, чтобы получить

однозначный результат при поиске.

:10 D2 F200 S900 M3

Вспомогательные кадры обозначаются номером вспомогательного кадра. Номер вспомогательного кадра состоит из символа "N" и положительного целого числа (номер кадра). Номер кадра всегда стоит в начале кадра.

Указание Номера вспомогательных кадров внутри программы должны быть уникальными, чтобы

получить однозначный результат при поиске.

Последовательность номеров кадров может быть любой, но рекомендуется растущая последовательность номеров кадров. Можно программировать кадры ЧПУ и без номеров кадров.

Основы Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Адреса это фиксированные или устанавливаемые идентификаторы для осей (X, Y, ...) числа оборотов шпинделя (S), подачи (F), радиуса окружности (CR) и т.д.

Пример: N10 X100

Важные адреса

Примечание

Круговая ось

ливаемый

Интервал перешлифовки для траекторных функций

фиксированный

Круговая ось

ливаемый

Круговая ось

ливаемый

Снятие фасок угла контура

фиксированный

Номер режущей кромки

фиксированный

фиксированный

FA[ось ]=... или

Осевая подача

фиксирован-

FA[шпиндель ]=... или

(только если номер шпинделя задается через переменную)

Функция перемещения

фиксированный

Вспомогательная функция

фиксирован-

Вспом. функция без остановки чтения

Параметр интерполяции

устанавливаемый

Параметр интерполяции

устанавливаемый

Параметр интерполяции

устанавливаемый

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

фиксированный

Доп. функция

фиксирован-

Доп. функция без остановки чтения

Вспомогательный кадр

фиксированный

Процентовка траектории

фиксированный

Кол-во прогонов программы

фиксированный

Позиционирующая ось

фиксированный

POSА[ось]=…

фиксированный

Позиция шпинделя

фиксирован-

Позиция шпинделя за границу кадра

фиксирован-

устанавливаемый

R0=... до Rn=...

R-параметр, n может устанавливаться через MD

фиксирован-

(стандарт 0 - 99)

устанавливаемый

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Закругление угла контура

фиксированный

Закругление угла контура (модально)

фиксированный

Число оборотов шпинделя

фиксированный

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

фиксированный

устанавливаемый

устанавливаемый

устанавливаемый

устанавливаемый

" абсолютный

" инкрементальный

устанавливаемый

устанавливаемый

Апертурный угол

устанавливаемый

Полярный угол

устанавливаемый

Радиус окружности

устанавливаемый

Полярный радиус

фиксированный

Главный кадр

устанавливаемый

"фиксированный"

Этот идентификатор адреса доступен для определенной функции. Изготовитель станка

"устанавливаемый"

Этим адресам изготовитель станка через машинные данные может присвоить другое имя.

Адреса, действующие модально/покадрово

Модально действующие адреса сохраняют свою значимость с запрограммированным значением до тех пор (во всех последующих кадрах), пока по тому же адресу не будет запрограммировано новое значение. Действующие покадрово адреса сохраняют свою значимость только в том кадре, в котором они были запрограммированы. Пример:

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Расширенные адреса

Расширенное написание адресов позволяет систематизировать большее количество осей и шпинделей. Расширенный адрес состоит из цифрового расширения или из записанного в квадратных скобках идентификатора переменных и присвоенного с помощью символа "=" арифметического выражения.

Расширенное написание адреса допускается только для следующих простых адресов:

Значение

Адреса осей

Параметры интерполяции

Число оборотов шпинделя

Позиция шпинделя

Дополнительные функции

Вспомогательные функции

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

Число (индекс) при расширенном написании адреса для адресов M, H, S, а также для SPOS и SPOSA может заменяться переменной. При этом идентификатор переменных стоит в квадратных скобках.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Фиксированные адреса

Следующие адреса установлены фиксировано:

Значение (стандартная установка)

Номер режущей кромки

Функция перемещения

Вспомогательная функция

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

Дополнительная функция

Вспомогательный кадр

Число прогонов программы

R-параметр

Число оборотов шпинделя

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

: Главный кадр

Пример для программирования: N10 G54 T9 D2

Фиксированные адреса с осевым расширением

Значение (стандартная установка)

Осевое значение (переменное программирование оси)

Осевое ускорение

Осевая подача

Осевая подача для наложения маховичка

Осевое ограничение подачи

Параметры интерполяции (переменное программирование оси)

Осевая процентовка

Полиномиальный коэффициент

Позиционирующая ось

Позиционирующая ось через границу кадра

Объяснение:

При программировании с осевым расширением перемещаемая ось стоит в квадратных скобках.

Полный список всех фиксировано установленных адресов можно найти в приложении.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Устанавливаемые адреса

Адреса могут определяться либо как буква оси (при необходимости с цифровым расширением), либо как свободный идентификатор.

Указание Устанавливаемые адреса должны быть однозначными внутри СЧПУ, т.е. один и тот

же идентификатор адреса не может использоваться для различных типов адресов.

В качестве типов адресов при этом различаются:

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

параметры интерполяции

подачи

критерии перешлифовки

измерение

поведение осей и шпинделей

Устанавливаемыми буквами адреса являются: A, B, C, E, I, J, K, Q, U, V, W, X, Y, Z

Указание Имена устанавливаемых адресов могут изменяться пользователем через машинные данные.

X1, Y30, U2, I25, E25, E1=90, …

Цифровое расширение имеет одну или две позиции и всегда является положительным. Идентификатор адреса:

Написание адреса может дополняться добавлением других букв. Пример:

Сложение

Вычитание

Умножение

Внимание: (тип INT )/ (типINT )= (типREAL ); к примеру, 3/4 = 0.75

Деление, для типа переменных INT и REAL

Внимание: (тип INT )DIV (типINT )= (типINT ); к примеру, 3 DIV 4 = 0

Выделение дробной части (только для типа INT) дает остаток деления

INT, к примеру, 3 MOD 4=3

: Связывающий оператор (у фрейм-переменных)

Арксинус

Арккосинус

Арктангенс2

Квадратный корень

Значение

2-ая степень (квадрат)

Целочисленная часть

Округление до целого

Натуральный логарифм

Показательная функция

Операторы сравнения и логические операторы

Операторы сравнения и

Значение

логические операторы

больше или равно

меньше или равно

отрицание

исключающее "ИЛИ"

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

В арифметических выражениях с помощью круглых скобок можно устанавливать последовательность обработки всех операторов, отклоняясь тем самым от обычных правил очередности.

Присвоения значений Адресам могут присваиваться значения. Присвоение значений осуществляется

различными способами в зависимости от вида идентификатора адреса.

Символ "=" должен быть записан между идентификатором адреса и значением, если

идентификатор адреса состоит более чем из одной буквы,

значение состоит более чем из одной постоянной.

Символ "=" не нужен, если идентификатором адреса является одна единственная буква и значение состоит только из одной постоянной. Знаки разрешаются, допускается символ разделения после букв адреса.

Пример присвоения значений

;присвоение значения (10)

адресу X, "=" не требуется

;присвоение значения (10)

адресу (X) с;цифровым

расширением (1), "=" требуется

;имена осей из параметров передачи

;имя оси как индекс при обращении к данным осей

;косвенное программирование осей

X=10*(5+SIN(37.5))

;присвоение значения через цифровое выражение, "=" требуется

Указание За цифровым расширением всегда должен следовать специальный символ "=", "(", "[", ")",

"]", "," или оператор, чтобы отличать идентификатор адреса с цифровым расширением от букв адреса со значением.

Идентификатор Слова (по DIN 66025) дополняются идентификаторами (именами). Эти расширения имеют внутри кадра ЧПУ то же значение, что и слова. Идентификаторы должны быть однозначными. Один и тот же идентификатор не может использоваться для различных объектов.

Идентификаторы могут записываться для:

переменной

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

переменной пользователя

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

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ

кодовых слов

адресов DIN с несколькими буквами

меток перехода

Структура

Идентификатор состоит максимум из 32 символов. В качестве символов могут использоваться:

буквы

символов подчеркивания

цифры

Первыми двумя символами должны быть буквы или символы подчеркивания, между отдельными символами не должны находится символы разделения (см. следующие страницы).

Пример: CMIRROR, CDON

Указание Зарезервированные кодовые слова не могут использоваться в качестве

идентификаторов. Разделительные символы между отдельными символами запрещены.

Указание Количество символов для отдельных идентификаторов

имена программ: 24 символа

идентификатор оси: 8 символов

идентификатор переменных: 31 символ

Правила присвоения имен идентификаторов

Во избежание совпадения имен используются следующие правила:

Все идентификаторы, начинающиеся с "CYCLE” или "_”, зарезервированы для циклов

Все идентификаторы, начинающиеся с "CCS”, зарезервированы для циклов, компилируемых SIEMENS.

Пользовательские компилируемые циклы начинаются с "CC”.

Другие резервирования

Идентификатор "RL" зарезервирован для обычных токарных станков.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ

2.2 Языковые элементы языка программирования

Идентификаторы, начинающиеся с "E_ ", зарезервированы для программирования

Идентификаторы переменных

У переменных, используемых системой, первая буква заменяется символом "$". Этот символ не может использоваться для переменных, определяемых пользователем.

Примеры (см. "Список системных переменных"): $P_IFRAME, $P_F

У переменных с цифровым расширением вводные нули не имеют значения (R01 соответствует R1). Перед цифровым расширением разрешаются разделительные символы.

Идентификаторы массива

Для идентификаторов массива действуют те же правила, что и для элементарных переменных. Адресация R-переменных в качестве массива возможна.

Пример: R=…

Типы данных

За переменной может быть скрыто числовое значение (или несколько) или символ (или несколько), к примеру, буква адреса.

Какой тип данных допускается для соответствующей переменной, устанавливается при определении переменных. Для системных переменных и заранее определенных переменных тип установлен. Элементарными типами переменных/типами данных являются:

Значение

Диапазон значений

Целочисленные (целые)

величины со знаком

Действительные числа (дробные

±(10-300 … 10+300)

числа с десятичной точкой, LONG

Значения истинности: TRUE (1)

Символ ASCII, в соответствии с кодом 0 … 255

Цепочка символов, число символов

Последовательность значений

в […], макс. 200 символов

только имена осей (адреса осе)

все имеющиеся в канале

идентификаторы осей

Геометрические данные для

смещения, вращения,

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

Эти же элементарные типы могут составляться в массивы. Как максимум возможны двухмерные массивы.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Постоянные

Целые постоянные (Integer)

Целочисленная величина с или без знака, к примеру, как присвоение значения адресу Примеры:

; присвоение значения +10.25 адресу X

; присвоение значения -10.25 адресу X

; присвоение значения +0.25

; присвоение значения +0.25

адресу X, без вводного "0"

; присвоение значения –0.1*10-3 адресу X

Указание Если для адреса с допустимым вводом десятичной точки после десятичной точки

записано больше мест, чем предусмотрено для этого адреса, то он округляется до предусмотренного числа мест.

X0 не может заменяться на X.

G01 X0 не может заменяться на G01 X! Шестнадцатеричные постоянные

Возможны и постоянные, имеющие шестнадцатеричную интерпретацию. При этом буквы "A" до "F" служат шестнадцатеричными цифрами от 10 до 15.

Шестнадцатеричные постоянные заключаются между двумя апострофами и начинаются с буквы "H" с последующим шестнадцатеричным значением. Разрешаются разделительные символы между буквами и цифрами.

$MC_TOOL_MANAGEMENT_MASK="H3C7F" ;присвоение шестнадцатеричных чисел

машинным данным

Максимальное количество символов ограничивается диапазоном значений целочисленного типа данных.

Двоичные постоянные Возможны и постоянные, которые интерпретируются двоично. При этом используются только цифры "0" и "1".

Двоичные постоянные заключаются между апострофами и начинаются с буквы "B" с последующим двоичным значением. Разделительные символы между цифрами разрешаются.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Пример машинных данных (см. также “Расширенное программирование ”):

Сегмент программы

Сегмент программы состоит из одного главного кадра и нескольких вспомогательных кадров.

:10 D2 F200 S900 M3 N20 G1 X14 Y35

Пропуск кадров

Кадры, которые исполняются не при каждом выполнении программы (к примеру, отладка программы), могут быть пропущены.

Кадры, которые должны быть пропущены, обозначаются символом "/" (косая черта) перед номером кадра. Могут пропускаться и несколько последовательных кадров. Операторы в пропущенных кадрах не исполняются, программа продолжается на соответствующем следующем, не пропущенном кадре.

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Пример пропуска кадров

;выполняется

;пропущен

;выполняется

;пропущен

;выполняется

Может быть запрограммировано до 10 уровней пропуска. На один кадр программы

обработки деталей может быть указан только 1 уровень пропуска:

;кадр пропускается (1-ый уровень пропуска)

;кадр пропускается (2-ой уровень пропуска)

;кадр пропускается (3-ий уровень пропуска)

;кадр пропускается (8-ой уровень пропуска)

;кадр пропускается (9-ый уровень пропуска)

;кадр пропускается (10-ый уровень пропуска)

Изготовитель станка Количество уровней пропуска, которые могут использоваться, зависит от машинных

данных индикации. Пропуск кадров уровней пропуска /0 до /9 активируется через панель оператора в области управления "Станок" (см. /BAD, BEM/ Руководство по эксплуатации HMI Advanced/Embedded), в меню "Управление программой" или "Адаптивное управление".

Указание Изменяемые выполнения программы могут создаваться и посредством использования

системных и пользовательских переменных для обусловленных переходов.

Цели перехода (метки)

Посредством определения целей перехода (меток) можно запрограммировать ответвления внутри программы.

Имена меток задаются минимум с 2-мя и максимум с 32 знаками (буквы, цифры, символ подчеркивания). Первыми двумя знаками должны быть буквы или символы подчеркивания. После имени метки следует двоеточие (":").

Прочую информацию см.

Литература: /PGА/, Руководство по программированию "Расширенное программирование"

Руководство по программированию, выпуск 10.2004, 6FC5 298-7AB00-0PP1

Основы программирования ЧПУ 2.2 Языковые элементы языка программирования

Указание Метки должны быть уникальными в пределах программы.

Метки всегда стоят в начале кадра. Если имеется номер программы, то метка стоит непосредственно после номера кадра.

В самом деле, программирование станков с ЧПУ не представляет особых затруднений. В то же время необходимо создавать управляющие программы (УП) для этих устройство таким образом, чтобы по максимуму использовать их в работе.
Программирование выполняется на языке, известном как ISO 7 бит, также его именуют языком G и M кодов.
Программы могут разрабатываться тремя наиболее распространёнными способами:
посредством ручного программирования;
посредством создания программ на стойке станка ЧПУ;
наконец, с помощью CAM-систем.

Все три названных способах программирования используются в определённых случаях, ни один из них не следует рассматривать как универсальный. Именно их сочетание позволит добиться наибольшего эффекта. Овладеть ручным программированием не так сложно при наличии базовых представлений о программировании. В то же время работа с CAM-системой является довольно лёгкой для понимания.

Ручное программирование

Ручное программирование означает создание программы на собственном компьютерном устройстве, где имеется текстовый редактор. На нём и создаётся управляющая программа. Программа содержит координаты, куда передвигается инструмент, производящий обработку заготовок, а также требуемые сведения в форме кодов G и M. Она представляет собой файл с расширением.txt.
После того, как программа готова, её переносят на станок с ЧПУ в виде того же.txt файла. Компьютер и станок соединяют через COM-порт компьютера. Прежде всего проводят синхронизацию их программ, отвечающих за коммуникацию. После этого происходит простое отправление и приём данных. Особый случай - если программа имеет объём, который превосходит величину памяти станка с ЧПУ. В этом случае команды станку направляются непосредственно с компьютера.Особый вариант - написание программы ручкой на листе бумаги, оно имеет смысл, лишь если в производственном помещении нет доступа к компьютеру или иному устройству.
Чрезмерной сложности для понимания ручное программирование не представляет. Эту функцию в состоянии выполнять любой технолог, который знаком с его принципами. В то же время ручное программирование - это сравнительно трудоёмкий процесс, которые требует скрупулёзной точности. Этому варианту создания программ отдают предпочтение в том случае, когда необходимо выполнить несложную обработку заготовок стандартной формы. Второй случай - отсутствие требуемых для двух других методов средств разработки.
Кроме того, до сих пор на производстве присутствует масса станков с ЧПУ, управление которыми возможно исключительно с применением ручного программирования. Значительное количество предприятий используют подобные модели. Причина этого именно в том, что на таких предприятиях выполняются в основном простые операции с заготовками, да и количество станков сравнительно невелико. В результате программист-технолог, который отлично владеет навыками ручного программирования, способен добиться весьма высокой производительности труда.
Ещё более характерный вариант – когда операции с заготовками не просто несложные, но повторяющиеся, а их количество ограничено. Тогда сотрудник пишет программы под каждую из этих операций, и довольно долгое время её менять не требуется вовсе. Необходимость написания программ возникнет лишь при появлении потребности в новых операциях станков.
В итоге ручное программирование выигрывает по эффективности у двух других вариантов. Иначе говоря, для маленького предприятия ручное программирование может быть оптимальными решением.
По эффективности оно победит куда более продвинутый вариант с CAM-системой. К тому же и на предприятиях, где использование последнего метода целесообразно при потребности а коррекции управляющих программ используют ручное программирование. Также этот вариант коррекции используют, когда новую программу, написанную другими способами необходимо оттестировать на станке.

Программирование на пульте стойки станка

Поскольку сейчас многие станки с ЧПУ оборудуются дисплеем и клавиатурой, программировать в таких случаях можно непосредственно на станке, что даёт возможность разрабатывать рабочие программы для такой модели на ней самой. Программировать можно вводят в устройство G и M коды, а также в диалоговом режиме. Также имеется опция тестирования программы, для чего на дисплее станка выполняют визуальную имитацию обработки заготовки с помощью графического приложения.

Программирование с использованием системы CAM

Это специализированная система, позволяющая добиться большей производительности, нежели при программировании ручным способом либо на самом станке.
Система CAM выполняет вычисление траектории инструменты, который производит обработку заготовки. Она действует в автоматическом режиме. Её применяют, если нужна управляющая программа для руководства операциями над деталью сложной конфигурации. Также CAM востребована, если станки на предприятии выполняют массу различных операций. В этих случаях ручной обсчёт нецелесообразен и даже невозможен.

В целом же заниматься ручным программированием станков с ЧПУ весьма несложно, никакого специального образования при этом не требуется. Эта работа вполне доступна и непрофессионалам, поскольку язык ISO 7 бит довольно прост. В остальных случаях все трудные операции возьмёт на себя система CAM.
Мало затруднений вызывает работа по написанию управляющих программ для нескольких станков, выполняющих стандартные операции с заготовками простой формы. Но проще всего программирование для единственного станка, который владелец создал своими руками. Научиться писать программы для такой модели совсем несложно.

Введение

1. Основные понятия и определения

1.1 Интерполятор

1.2 Линейный интерполятор

1.3 Круговой интерполятор

2. Структура программы

3. Правила программирования для устройств четвертого поколения

Заключение

Литература

Введение

В настоящее время станок с числовым программным управлением (ЧПУ) является основным производственным модулем современного производства. Станки с ЧПУ используются как для автоматизации мелкосерийного или штучного производства, так и для производства больших серий. Ведущие фирмы постоянно совершенствуют и расширяют возможность систем ЧПУ, систем подготовки данных и проектирования. Одна из концепций этой стратегии неразрывно связана с совершенствованием регулируемого электропривода, придания ему новых качеств за счет цифрового управления.

Учитывая разнообразного потребителя, спрос на самые простые, маленькие станки, кроме многокоординатных ЧПУ предлагаются семейства ЧПУ для простых станков (2 оси + шпиндель для токарных и 3 оси + шпиндель для фрезерных станков). В качестве приводов могут быть использованы как шаговые двигатели, так и сервоприводы с аналоговым интерфейсом. Значительное внимание уделяется вопросам модернизации систем ЧПУ старого поколения и создания систем передачи данных. Современные УЧПУ разрабатываются с учетом их работы в гибком автоматизированном производстве (ГПС) и имеют разнообразный интерфейс для создания локальных сетей. Программное обеспечение их существенно расширило возможности технолога и оператора станка. Все шире в алгоритмах интерполяции используются сплайны и полиномы. Эти функции позволяют создавать плавные непрерывные кривые. Использование сплайнов в обработке позволяет сократить управляющую программу, улучшить динамику движения приводов, повысить качество обрабатываемых поверхностей, отказаться от ручной доводки пресс-форм. Хотя за последние годы язык программирования для УЧПУ претерпел серьезные изменения, однако остается преемственность программного обеспечения в виде набора базовых функций. Большинство программ, написанных для старых моделей УЧПУ, работают и с новыми моделями при минимальных переделках.

1. Основные понятия и определения

Системы числового программного управления (СЧПУ) - это совокупность функционально взаимосвязанных технических и программных средств, предназначенных для управления станками в автоматическом режиме. К техническим средствам относятся станок, устройства подготовки управляющих программ, устройства управления станком, устройства размерной настройки режущего инструмента и т.д. К программным средствам относятся инструкции, методики, техническое и функциональное программирование и т.д.

Программа управления - это группа команд, составленных на языке данной системы управления и предназначенных для управления станком в автоматическом режиме. Числовое программное управление базируется на программе, в которой команды выражены в виде чисел.

Устройство числового программного управления (УЧПУ) - это часть системы числового программного управления, управляющее работой станка по командам, поступающим из управляющей программы.

УЧПУ выполняют две основные функции:

1. формирование траектории движения режущего инструмента;

2. управление автоматикой станка.

В настоящее время в промышленности используются два вида устройств ЧПУ.

1. УЧПУ четвертого поколения типа NC (Numerical Control – цифровое управление). УЧПУ типа NC состоят из блоков, каждый из которых решает лишь одну конкретную задачу общей программы управления. Логика работы этих блоков реализуется за счет соответствующего построения их электрических схем.

2. УЧПУ пятого поколения типа CNC (ComputerNumericalControl - компьютерное цифровое управление).

УЧПУ типа CNC базируются на работе мини ЭВМ, в которой логика работы задается программным методом. Одно и то же УЧПУ с мини ЭВМ может реализовывать различные функции управления за счет изменения программы управления работой мини ЭВМ.

1.1 Интерполятор

Интерполятор - устройство, на вход которого кадр за кадром подается информация в виде цифровых кодов, а на выходе выдается информация для каждой координаты в виде унитарного кода, т.е. последовательности импульсов.

Решение задачи контурного управления разбивается обычно на этапы:

·подготовка исходной информации о требуемой траектории, которая включает аппроксимацию траектории заданным набором

·ввод информации в систему программного управления;

·расчет заданных значений координат, расположенных на траектории движения, с использованием выбранного метода интерполяции;

·расчет числа импульсов по каждой из координат и выдача управляющих воздействий на исполнительные приводы с требуемой частотой, которая определяет контурную скорость движения по каждой из координат.

Интерполяторы по способу реализации подразделяются на:

·аппаратные;

·программные.

По виду интерполируемой траектории движения интерполяторы делятся на:

·линейные;

·нелинейные (второго порядка - круговые, параболические, n-порядка).

В основном в системах ЧПУ применяются линейные и круговые интерполяторы, т.к. до 90 % траекторий могут быть с достаточной степенью точности представлены совокупностью отрезков прямых и дуг окружности.

Существуют различные алгоритмы интерполяции реального времени, которые условно можно разделить на две группы:

·алгоритмы единичных приращений (метод оценочной функции, метод цифро-дифференциальных анализаторов);

·алгоритмы равных времен (метод цифрового интегрирования, прогноза и коррекции, итерационно-табличные методы).

Во-первых, определяются моменты времени, необходимые для выдачи единичных приращений по одной или нескольким координатам.

Во-вторых рассчитываются координаты точек траектории, через определенные и равные промежутки времени, по истечении которых выдается требуемое количество импульсов на привода исполнительного механизма.

Практически интерполяцию организуют следующим образом. В результате очередного вычислительного цикла, выполняемого с максимально высокой скоростью в машинном масштабе времени, определяют в какие приводы подачи должны быть выданы дискреты на текущем этапе оперативного управления. Результат сохраняют в буфере, который опрашивают с частотой, соответствующей скорости подачи для ведущей координаты. Таким образом, расчеты машинного масштаба привязывают к реальному времени.

На рис. 1.1 показана типичная структурная схема устройства числового программного управления типа 2С-42-65.

Устройство является контурно-позиционным со свободным программированием алгоритмов. Количество управляемых координат - до 8. Одновременное управление при линейной интерполяции обеспечивается по 4-м координатам, а при круговой интерполяции - по 2-м координатам. Одноплатная микро ЭВМ МС 12.02 реализована на базе процессора 1801ВМ2. Обмен информацией между микро ЭВМ и внешними устройствами осуществляется по каналу ЭВМ типа «Общая шина». Для увеличения нагрузочной способности используется расширитель канала (РК).

Рисунок 1.1 – Структурная схема устройства числового программного управления типа 2С-42-65

Конструктивно ЧПУ содержит 2 корзины. Одна из них предназначена для установки блоков общесистемного пользования, а вторая предназначена для установки специальных блоков для управления станком. На станочной магистрали находятся блоки входных и блоки выходных сигналов, с помощью которых реализуется программная реализация задач логического управления. Формирование аналоговых сигналов управления приводами подач и главного движения осуществляется через цифроаналоговые преобразователи (ЦАП) - группа «Привод». Для реализации обратных связей по положению используются преобразователи фаза-код (ПФК), составляющие группу «Датчики». Для решения задач адаптивного управления (например, систем стабилизации мощности резания) могут быть использованы аналого-цифровые преобразователи (АЦП) - группа «Адаптивное управление». Пульт управления (ПУ) содержит набор алфавитно-цифровых клавиш, с помощью которых можно осуществлять ввод управляющей программы. Кроме того, имеются функциональные клавиши, с помощью которых задается режим работы УЧПУ и определяются специальные функции, соответствующие поиску, редактированию управляющих программ. Пульт коррекции (ПК) представляет собой набор декадных переключателей, с помощью которых можно осуществлять изменение значений скорости подачи и скорости вращения главного движения в процентном соотношении. Для отображения текущего значения координат и технологических параметров используется алфавитно-цифровой дисплей - блок отображения символьной информации (БОСИ) . Для ввода и вывода управляющей программы могут быть использованы фотосчитывающее устройство (ФСУ) и ленточный перфоратор (ПЛ). В качестве носителя информации в этом случае используется перфолента. Другой вариант ввода-вывода информации основан на использовании канала последовательной связи (ИРПС - интерфейс радиальной последовательной связи). Для увеличения быстродействия 6 используют аппаратный блок умножения (БУ) и блок преобразования кодов (БПК).

Базовое программное обеспечение УЧПУ записывается в постоянное запоминающее устройство (ПЗУ) и представляет собой набор подпрограмм, реализующих так называемые подготовительные G и вспомогательные функции М, а также сервисные функции по вводу и отработке управляющей программы.

Управляющая программа представляет собой последовательность кадров, определяющих траекторию движения инструмента. В кадре с помощью G и М-функций определяются тип интерполяции (линейная, круговая), перемещения по координатам, скорости подач и частоты вращения привода главного движения, тип и коррекция на вылет режущего инструмента и другая информация, определяющая работу на участке траектории. Рассмотрим отработку управляющей программы с точки зрения функционирования и использования блоков УЧПУ. Основное машинное время при отработке кадра затрачивается на расчет траектории движения инструмента. Движение по траектории в общем случае включает в себя участки разгона и торможения. Согласование движения по координатам и формирование задающих воздействий осуществляется программным интерполятором, который разворачивает требуемую траекторию во времени по прерываниям от таймера. Отработка этой траектории осуществляется следящими приводами подач. Сигнал ошибки по положению формируется программным способом, а затем выдается через ЦАП в качестве сигнала управления скоростью электропривода. Привод подачи (главного движения) при этом представляет собой автономное устройство, которое должно быть замкнуто обратной связью по скорости. Работа интерполятора должна осуществляться в реальном масштабе времени. При использовании численных методов интегрирования шаг интегрирования определяется периодом прерывания от таймера. Для обеспечения частоты среза приводов порядка 50 Гц прерывания от таймера должны производиться на частоте не менее 100 Гц. Во время отработки текущего кадра в фоновом режиме происходит подготовка информации для следующего кадра. Этот этап называется «Интерпретация кадра». Он включает в себя преобразование символьной информации в числовую. Числовая информация вводится в десятеричной системе счисления. Вначале символьная информация преобразуется в двоично-десятичную систему, а затем с помощью БПК - в двоичную. Аналогичная задача преобразования информации возникает и в каналах обратной связи по положению. Контроль положения осуществляется в двоично-десятичном коде. Для согласования информация с преобразователя фаза-код преобразуется к машинному (двоичному) представлению. При выводе информации возникает обратная задача - преобразование двоичной информации в двоично-десятичные числа, а затем в символьное представление.

Программирование обработки на станках с ЧПУ осуществляется на языке, который обычно называют языком ISO 7 бит или языком G и M кодов. Язык G и М кодов основывается на положениях Международной организации по стандартизации (ISO) и Ассоциации электронной промышленности (EIA).

Производители систем ЧПУ придерживаются этих стандартов для описания основных функций, но допускают вольности и отступления от правил, когда речь заходит о специальных возможностях своих систем.

Японские системы ЧПУ FANUC (FANUC CORPORATION) были одними из первых, адаптированных под работу с G и М кодами и использующими этот стандарт наиболее полно. В настоящее время стойки FANUC являются наиболее распространенными как за рубежом, так и в России.

Системы ЧПУ других известных производителей, например SINUMERIK (SIEMENS AG) и HEIDENHAIN, также имеют возможности по работе с G и М кодами, однако некоторые специфические коды могут отличаться. О разнице в программировании специфических функций можно узнать из документации к конкретной системе ЧПУ.

Существует три метода программирования обработки для станков с ЧПУ :

  • Ручное программирование.

Все операторы станков с ЧПУ, технологи-программисты должны иметь хорошее представление о технике ручного программирования. Это как начальные классы в школе, обучение в которых дает базу для последующего образования.

  • Программирование на пульте УЧПУ.

Когда программы создаются и вводятся прямо на стойке ЧПУ, используя клавиатуру и дисплей. Например, оператор станка может произвести верификацию УП или выбрать требуемый постоянный цикл при помощи специальных пиктограмм и вставить его в код управляющей программы.

  • Программирование при помощи CAD/CAM системы.

Программирование при помощи CAD/САМ системы позволяет "поднять" процесс написания программ обработки на более высокий уровень. Работая с CAD/CAM системой, технолог-программист избавляет себя от трудоемких математических расчетов и получает инструменты, значительно повышающие скорость написания управляющих программ.

Cовокупность команд на языке программирования, соответствующая алгоритму функционирования станка по обработке конкретной заготовки называется управляющая программа (УП) .

Управляющая программа состоит из последовательности кадров и обычно начинается с символа начало программы (%) и заканчивается М02 или М30.

Каждый кадр программы представляет собой один шаг обработки и (в зависимости от УЧПУ) может начинаться с номера кадра (N1...N10 и т.д.), а заканчиваться символом конец кадра (;).

Кадр управляющей программы состоит из операторов в форме слов (G91, M30, X10. и т.д.). Слово состоит из символа (адреса) и цифры, представляющее арифметическое значение.

Адреса X, Y, Z, U, V, W, P, Q, R, A, B, C, D, E являются размерными перемещениям, используют для обозначения координатных осей, вдоль которых осуществляются перемещения.

Слова, описывающие перемещения, могут иметь знак (+) или (-). При отсутствии знака перемещение считается положительным.

Адреса I, J, K означают параметры интерполяции.

G - подготовительная функция.

M - вспомогательная функция.

S - функция главного движения.

F - функция подачи.

T, D, H - функции инструмента.

Символы могут принимать другие значения в зависимости от конкретного УЧПУ.

G коды для ЧПУ

G00 - быстрое позиционирование.

Функция G00 используется для выполнения ускоренного перемещения режущего инструмента к позиции обработки или к безопасной позиции. Ускоренное перемещение никогда не используется для выполнения обработки, так как скорость движения исполнительного органа станка очень высока. Код G00 отменяется кодами: G01, G02, G03.

G01 - линейная интерполяция.

Функция G01 используется для выполнения прямолинейных перемещений с заданной скоростью (F) . При программировании задаются координаты конечной точки в абсолютных значениях (G90) или приращениях (G91) с соответственными адресами перемещений (например X, Y, Z). Код G01 отменяется кодами: G00, G02, G03.

G02 - круговая интерполяция по часовой стрелке.

Функция G02 предназначена для выполнения перемещения инструмента по дуге (окружности) в направлении часовой стрелки с заданной скоростью (F). При программировании задаются координаты конечной точки в абсолютных значениях (G90) или приращениях (G91) с соответственными адресами перемещений (например X, Y, Z).

Код G02 отменяется кодами: G00, G01, G03.

G03 - круговая интерполяция против часовой стрелки.

Функция G03 предназначена для выполнения перемещения инструмента по дуге (окружности) в направлении против часовой стрелки с заданной скоростью (F). При программировании задаются координаты конечной точки в абсолютных значениях (G90) или приращениях (G91) с соответственными адресами перемещений (например X, Y, Z).

Параметры интерполяции I, J, K, которые определяют координаты центра дуги окружности в выбранной плоскости, программируются в приращениях от начальной точки к центру окружности, в направлениях, параллельных осям X, Y, Z соответственно.

Код G03 отменяется кодами: G00, G01, G02.

G04 - пауза.

Функция G04 - команда на выполнение выдержки с заданным временем. Этот код программируется вместе с X или Р адресом, который указывает длительность времени выдержки. Обычно, это время составляет от 0.001 до 99999.999 секунд. Например G04 X2.5 - пауза 2.5 секунды, G04 Р1000 - пауза 1 секунда.

G17 - выбор плоскости XY.

Код G17 предназначен для выбора плоскости XY в качестве рабочей. Плоскость XY становится определяющей при использовании круговой интерполяции, вращении системы координат и постоянных циклов сверления.

G18 - выбор плоскости XZ.

Код G18 предназначен для выбора плоскости XZ в качестве рабочей. Плоскость XZ становится определяющей при использовании круговой интерполяции, вращении системы координат и постоянных циклов сверления.

G19 - выбор плоскости YZ.

Код G19 предназначен для выбора плоскости YZ в качестве рабочей. Плоскость YZ становится определяющей при использовании круговой интерполяции, вращении системы координат и постоянных циклов сверления.

G40 - отмена коррекции на радиус инструмента.

Функция G40 отменяет действие автоматической коррекции на радиус инструмента G41 и G42.

G41 - левая коррекция на радиус инструмента.

Функция G41 применяется для включения автоматической коррекции на радиус инструмента находящегося слева от обрабатываемой поверхности (если смотреть от инструмента в направлении его движения относительно заготовки). Программируется вместе с функцией инструмента (D).

G42 - правая коррекция на радиус инструмента.

Функция G42 применяется для включения автоматической коррекции на радиус инструмента находящегося справа от обрабатываемой поверхности (если смотреть от инструмента в направлении его движения относительно заготовки). Программируется вместе с функцией инструмента (D).

G43 - коррекция на положение инструмента.

Функция G43 применяется для компенсации длинны инструмента. Программируется вместе с функцией инструмента (H).

G54 - G59 - заданное смещение.

Смещение рабочей системы координат детали относительно системы координат станка.

G70 - ввод дюймовых данных.

Функция G70 активизирует режим работы с дюймовыми данными.

G71 - ввод метрических данных.

Функция G71 активизирует режим работы с метрическими данными.

G80 - отмена постоянного цикла.

Функция, которая отменяет любой постоянный цикл.

G81 - стандартный цикл сверления.

Цикл G81 предназначен для зацентровки и сверления отверстий. Движение в процессе обработки происходит на рабочей подаче. Движение в исходное положение после обработки идет на ускоренной подаче.

G82 - сверление с выдержкой.

Цикл G82 предназначен для сверления и зенкования отверстий. Движение в процессе обработки происходит на рабочей подаче с паузой в конце. Движение в исходное положение после обработки идет на ускоренной подаче.

G83 - цикл прерывистого сверления.

Цикл G83 предназначен для глубокого сверления отверстий. Движение в процессе обработки происходит на рабочей подаче с периодическим выводом инструмента в плоскость отвода. Движение в исходное положение после обработки идет на ускоренной подаче.

G84 - цикл нарезания резьбы.

Цикл G84 предназначен для нарезания резьбы метчиком. Движение в процессе обработки происходит на рабочей подаче, шпиндель вращается в заданном направлении. Движение в исходное положение после обработки идет на рабочей подаче с обратным вращением шпинделя.

G85 - стандартный цикл растачивания.

Цикл G85 предназначен для развертывания и растачивания отверстий. Движение в процессе обработки происходит на рабочей подаче. Движение в исходное положение после обработки идет на рабочей подаче.

G86 - цикл растачивания с остановкой вращения шпинделя.

Цикл G86 предназначен для растачивания отверстий. Движение в процессе обработки происходит на рабочей подаче. В конце обработки происходит остановка шпинделя. Движение в исходное положение после обработки идет на ускоренной подаче.

G87 - цикл растачивания с отводом вручную.

Цикл G87 предназначен для растачивания отверстий. Движение в процессе обработки происходит на рабочей подаче. В конце обработки происходит остановка шпинделя. Движение в исходное положение после обработки идет вручную.

G90 - режим абсолютного позиционирования.

В режиме абсолютного позиционирования G90 перемещения исполнительных органов производятся относительно нулевой точки рабочей системы координат G54-G59 (программируется, куда должен двигаться инструмент). Код G90 отменяется при помощи кода относительного позиционирования G91.

G91 - режим относительного позиционирования.

В режиме относительного (инкрементального) позиционирования G91 за нулевое положение каждый раз принимается положение исполнительного органа, которое он занимал перед началом перемещения к следующей опорной точке (программируется, на сколько должен переместиться инструмент). Код G91 отменяется при помощи кода абсолютного позиционирования G90.

G94 - скорость подачи в дюймах/миллиметрах в минуту.

При помощи функции G94 указанная скорость подачи устанавливается в дюймах или в миллиметрах за 1 минуту. Программируется вместе с функцией подачи (F). Код G94 отменяется кодом G95.

G95 - скорость подачи в дюймах/миллиметрах на оборот.

При помощи функции G95 указанная скорость подачи устанавливается в дюймах или в миллиметрах на 1 оборот шпинделя. Т.е. скорость подачи F синхронизируется со скоростью вращения шпинделя S. Код G95 отменяется кодом G94.

M коды для ЧПУ

М00 - программируемый останов.

Когда СЧПУ исполняет команду М00, то происходит останов. Все осевые перемещения останавливаются, при этом шпиндель (у большинства станков) продолжает вращаться. Работа по программе возобновляется со следующего кадра после нажатия кнопки "Старт".

М01 - останов с подтверждением.

Код М01 действует аналогично М00, но выполняется только после подтверждения с пульта управления станка. Если клавиша подтверждения нажата, то при чтении кадра с М01 происходит останов. Если же клавиша не нажата, то кадр М01 пропускается и выполнение УП не прерывается.

М02 - завершение программы.

Код М02 указывает на завершение программы и приводит к останову шпинделя, подачи и выключению охлаждения.

М0З - вращение шпинделя по часовой стрелке.

При помощи кода М0З включается прямое вращение шпинделя с запрограммированным числом оборотов (S) . Код М0З действует до тех пор, пока он не будет отменен с помощью М04 или М05.

М04 - вращение шпинделя против часовой стрелки.

При помощи кода М04 включается обратное вращение шпинделя с запрограммированным числом оборотов (S). Код М04 действует до тех пор, пока он не будет отменен с помощью М03 или М05.

М05 - останов шпинделя.

Код М05 останавливает вращение шпинделя, но не останавливает осевые перемещения.

М06 - смена инструмента.

При помощи кода М06 инструмент, закрепленный в шпинделе, меняется на инструмент, находящийся в положении готовности в магазине инструментов.

М07 - включение охлаждения №2.

Код М07 включает подачу СОЖ в зону обработки в распыленном виде, если станок обладает такой возможностью.

М08 - включение охлаждения №1.

Код М08 включает подачу СОЖ в зону обработки в виде струи.

М09 - отключение охлаждения.

Код М09 выключает подачу СОЖ и отменяет команды М07 и М08.

М10 - зажим.

Код М10 относиться к работе с зажимным приспособлением подвижных органов станка.

М11 - разжим.

Код М11 относиться к работе с зажимным приспособлением подвижных органов станка.

МЗ0 - конец информации.

Код МЗ0 информирует СЧПУ о завершении программы, приводит к останову шпинделя, подачи и выключению охлаждения.

Дополнительные функции и символы при программировании станков с ЧПУ

X, Y, Z - команды осевого перемещения.

А, В, С - команды кругового перемещения вокруг осей X, Y, Z соответственно.

I, J, К - параметры круговой интерполяции параллельные осям X, Y, Z соответственно.

При круговой интерполяции G02 или G03, R определяет радиус, который соединяет начальную и конечную точки дуги. В постоянных циклах R определяет положение плоскости отвода. При работе с командой вращения R определяет угол поворота координатной системы.

D - значение коррекции на радиус инструмента.

Н - значение компенсации длины инструмента.

F - функция подачи.

S - функция главного движения.

Т - значение определяющее номер инструмента, который необходимо переместить в позицию смены, путем поворота инструментального магазина.

N - нумерация кадров УП.

/ - пропуск кадра.

(...) - комментарии в УП.