Для чего нужны подпрограммы чпу

Внешняя подпрограмма Это отдельная программа, к которой несколько раз обращается основная программа Локальные подпрограммы запускаются (вызываютс

Внешняя подпрограмма Это отдельная программа, к которой несколько раз обращается основная программа. Локальные подпрограммы запускаются (вызываются) при помощи M98 и Pnnnnn, который отсылает к номеру программы подпрограммы. Пример внешней подпрограммы O00104 (подпрограмма с M98) T1 M06 G90 G54 G00 X1.5 Y-0.5 S1406 M03 G43 H01 Z1. M08 G81 G99 Z-0.26 R0.1 F7. M98 P105 (Вызов подпрограммы O00105) T2 M06 G90 G54 G00 X1.5 Y-0.5 S2082 M03 G43 H02 Z1. M08 G83 G99 Z-.75 Q0.2 R0.1 F12.5 M98 P105 (Вызов подпрограммы O00105) T3 M06 G90 G54 G00 X1.5 Y-0.5 S750 G43 H03 Z1. M08 G84 G99 Z-.6 R0.1 F37.5 M98 P105 (Вызов подпрограммы O00105) G53 G49 Y0. M30 (Закончить программу) Подпрограмма O00105 X.5 Y-.75 Y-2.25 G98 X1.5 Y-2.5 G99 X3.5 X4.5 Y-2.25 Y-.75 X3.5 Y-.5 G80 G00 Z1.0 M09 G53 G49 Z0. M05 132 96-0117 ред. AL 07-2011 Подпрограммы Подпрограммы () обычно представляют собой последовательности команд, которые повторяются в программе несколько раз. Вместо повторения этих команд много раз в главной программе пишут отдельную подпрограмму. В основной программе есть одна команда, которая вызывает подпрограмму. Подпрограмма вызывается при помощи M97 и адреса P. P код совпадает с порядковым номером (Onnnnn) вызываемой подпрограммы, который находится после М30. Подпрограмма вызывается при помощи M98 и адреса P. P адрес с M98 составляют номер программы. Фиксированные циклы представляют собой самый распространенный пример использования подпрограммы. Положения X и Y отверстий помещаются в отдельной программе, а затем вызываются. Вместо записывания положений X и Y для каждого инструмента отдельно, они записываются один раз для любого количества инструментов. Подпрограммы могут включать в себя L или счетчик повторов. При наличии L вызов подпрограммы повторяется это количество раз, прежде чем главная программа перейдет к следующему блоку. Внешняя подпрограмма

Источник

Что такое программирование ЧПУ?

Для чего нужны подпрограммы чпу. Смотреть фото Для чего нужны подпрограммы чпу. Смотреть картинку Для чего нужны подпрограммы чпу. Картинка про Для чего нужны подпрограммы чпу. Фото Для чего нужны подпрограммы чпу

Что такое G-код?

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

Какие существуют методы программирования ЧПУ?

Станки с ЧПУ программируются одним из трех методов:

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

Зачем мне изучать программирование с ЧПУ?

Каждый машинист с ЧПУ должен знать g-код. Если вас интересуют ЧПУ и обработка, вы тоже должны это сделать.

Мы были впечатлены тем, сколько читателей могут писать программы с g-кодом с нуля. Фактически, подавляющее большинство регулярно читает, пишет или настраивает программы. Если вы еще не в состоянии сделать это, вам стоит этому научться.

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

Но быть способным программистом G-кода, способным работать с макросами, — это наивысшая точка профессионализма. Это может стать сюрпризом для большинства пользователей CAM, но есть много вещей, которые программист G-кода может сделать, что просто невозможно с CAM. В общем, программирование с помощью G-кода идеально подходит для таких задач:

Источник

G-код G65, M98 и M99: подпрограмма и макрос для станка с ЧПУ

Для чего нужны подпрограммы чпу. Смотреть фото Для чего нужны подпрограммы чпу. Смотреть картинку Для чего нужны подпрограммы чпу. Картинка про Для чего нужны подпрограммы чпу. Фото Для чего нужны подпрограммы чпу

Чтобы сделать g-код удобным для повторного использования, нам нужен способ централизовать его, а затем получить к нему доступ из программы детали. Язык G-Code предоставляет для этого два разных метода: подпрограмма и макрос. Думайте о каждом как о способе доступа к коду, который хранится в отдельной небольшой мини-программе. Вы «вызываете» этот код, он делает свое дело, а затем он «возвращается» в вашу основную программу, чтобы продолжить выполнение сразу после вызова.

Если у вас есть большая библиотека мощных сниппетов, у вас есть потенциал для реального повышения производительности. Даже если вы не пытаетесь повторно использовать код, использование вызовов может сделать ваш существующий код намного меньше и более легким для понимания. Рассмотрим процесс фрезерования кармана путем перехода на несколько уровней ниже и обработки той же траектории. Зачем повторять один и тот же путь для каждого уровня? GibbsCAM генерирует g-код, который генерирует путь для уровня один раз в качестве подпрограммы, а затем вызывает его несколько раз после установки z-уровня каждый раз глубже. Подходит для программ гораздо меньшего размера. Довольно крутой трюк!

G-коды M98 и M99: вызовы подпрограмм

Давайте начнем с вызовов подпрограмм, потому что они немного проще для понимания, чем вызовы макросов, хотя и менее эффективны. Вызов подпрограммы довольно прост. Сначала вставьте g-код подпрограммы под ее собственным номером подпрограммы — ее собственным номером «O». Ваша программа может выглядеть так:

Как видите, основная программа и подпрограмма имеют свой собственный номер «O». Вызов подпрограммы — «M98», который принимает параметр, сообщающий ему номер «O», где можно найти подпрограмму. Когда он достигает M98, выполнение переходит к подпрограмме. Когда он достигает «M99» в подпрограмме, это заставляет его вернуться в основную программу с того места, где она остановилась, и продолжить работу.

Подпрограмма. Синтаксис вызова

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

Хотя существует множество разных стилей, в основном они просто немного по-разному говорят об одном и том же:

— Где мне найти подпрограмму? Чаще всего буква «P», обозначающее адрес. Этот адрес обычно представляет собой букву «O», но многие контроллеры имеют возможность искать «N», если O # не найдено.

— А как насчет повторения? Часто бывает удобно закодировать повтор подпрограммы в той же строке, используя другую букву. Например, «L» может указывать, сколько раз вызывать подпрограмму, прежде чем, наконец, перейти к следующей строке.

— Насколько глубоко я могу вложить подпрограммы и макросы? Ваша программа может вызывать подпрограмму, которая может вызывать другую подпрограмму. Сколько уровней глубины разрешено? У контроллеров есть ограничение на это.

— G-код G65 — это вызов макроса, а G-код M98 — вызов подпрограммы.

— Некоторые контроллеры позволяют G-коду M99 возвращаться к определенной строке вместо того, чтобы просто возвращаться туда, где была вызвана подпрограмма. Я не считаю это хорошей практикой, потому что это сбивает с толку. Если вы хотите «перейти» к строке, для этого есть макрос «GOTO», но он есть не у всех контроллеров.

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

Особенности специальной подпрограммы Haas

Производители контроллеров нередко имеют свои собственные функции «Special Sauce», которые делают их контроллер особенным. То же самое и с локальной подпрограммой Haas, M97. M97 — это быстрая подпрограмма, потому что вам не нужно беспокоиться о настройке чисел «O». Вы можете просто вызвать любой номер «N» с помощью M97 и «пуф», это подпрограмма. Это удобно, хотя у других контроллеров есть возможность искать букву «N», если буква «O» отсутствует, что немного ослабляет паруса быстроходного M97.

Обратите внимание, что Haas также будет использовать M98, у него есть только M97 для быстрых вызовов.

M97 включен в GWE по умолчанию. Если ваш контроллер не поддерживает его, перейдите в раздел «Настройка G / M-кодов» и отключите M97.

Макрос-вызовы или подпрограмма

С помощью вызовов подпрограмм в стиле M98 можно сделать много интересных вещей. Как только вы начнете их использовать, первое, что вы заметите, — это необходимость передать информацию в подпрограмму. Другими словами, вы хотите задать ему параметры. С учетом того, что вы узнали до сих пор, вы, вероятно, готовы сделать это, вставив значения в общие переменные перед вызовом подпрограммы. Но если ваш контроллер поддерживает макросы, есть способ лучше.

Макро-вызовы инициируются с помощью G-кода G65 вместо G-кода M98 (или G-кода M97 на Haas). Макро-вызовы имеют так называемые «аргументы». Аргументы позволяют использовать формат словесного адреса для отправки информации в макрос. Допустим, у нас есть специальный цикл сверления глубоких отверстий, который мы создали. Мы хотим передать ему координаты X и Y, где необходимо отверстие, а также координату Z, указывающую глубину сверления. С пользовательским вызовом подпрограммы это может выглядеть так:

Как видите, мы загрузили X, Y и Z в локальные переменные. Подпрограмма знает, какие локальные переменные содержат какую информацию, и может продолжить свою работу после получения этих значений. Вот как это может выглядеть при вызове макроса:

Это намного легче для глаз, не так ли? И запомнить тоже легче. Как макрос получает доступ к X, Y и Z?

АргументЛокальная переменная
А# 1
B# 2
C# 3
D# 7
E# 8
F№9
H# 11
I# 4
J# 5
K№6
M# 13
Q# 17
P# 18
S# 19
Т# 20
U# 21
V# 22
W# 23
X# 24
Y# 25
Z# 26

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

Как видите, каждое возможное слово-аргумент имеет предварительно назначенную локальную переменную. Если вы используете X, Y и Z, как в нашем примере, их значения будут перенесены в # 24, # 25 и # 26. Довольно прост в использовании и очень удобен.

А что насчет этих уровней?

Как мы уже упоминали выше, подпрограммы и макросы могут быть вложенными. Одина может вызывать другую. Каждый раз, когда вызывается макрос, его локальные переменные сохраняются на уровне. Таким образом, когда выполнение вернется к этому макросу, локальные переменные будут сохранены на уровне, и их можно будет восстановить без изменений. Несмотря на то, что другие вызовы макросов могут использовать те же аргументы слов, которые отображаются на одни и те же локальные переменные, у них есть собственная копия этих локальных переменных на их собственном уровне, поэтому они не мешают. На практике, чтобы объяснить, что происходит с уровнями, требуется больше времени, чем просто использовать аргументы макроса и не беспокоиться о том, не перезаписывается ли локальная переменная другим макросом — это не так.

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

Примечание: многие контроллеры не имеют макросов.

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

Номера макросов и подпрограмм «O»

Первое, что нужно знать, это то, что числа «O» не должны появляться в каком-либо определенном порядке в вашем программном файле — они просто должны быть уникальными. У вас не может быть двух записей «O1000».

Во-вторых, следует отметить, что на некоторых контроллерах можно обеспечить защиту для некоторых диапазонов чисел О. Это позволяет размещать на машине стандартные макросы, которые невозможно подделать. Например, возможно, вы вложили большие средства в набор пробных макросов и не хотите, чтобы они менялись или перезаписывались. Вам нужно будет проконсультироваться с руководством к вашему контроллеру, чтобы узнать, предлагает ли он защиту, и если да, то как она работает. А пока просто предположим, что у защищенных макросов числа «O» находятся в верхнем диапазоне. Для Fanuc от O0001 до O7999 не защищены, и именно там вы должны разместить свои макросы.

Совет по преобразованию обычного G-кода в подпрограмму или макрос

Я собираюсь завершить это обсуждение советом, который поможет вам преобразовать ваш «обычный» g-код в подпрограмму или макрос.

Допустим, у вас есть g-код, который делает что-то полезное. Возможно, на нем выгравирован ваш логотип на детали. Вы сгенерировали его с помощью своего программного обеспечения CAM, и теперь вы хотите иметь подпрограмму, которая будет выгравировать логотип в любой выбранной вами координате XY. Какой самый быстрый и простой способ сделать это?

Я бы посоветовал преобразовать g-код логотипа для использования относительных координат. Кстати, в G-Wizard Editor есть команда, которая упрощает это — всего несколько шагов. В главе, посвященной кодам G91 и G90, в которой описывается, как относительные и абсолютные координаты работают в ЧПУ.

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

Заключение

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

Источник

Основные функции cистем программного управления на станках ЧПУ

При программировании обработки деталей на станках с ЧПУ в соответствии со стандартом DIN 66025 (ISO 6983), известном ранее как ISO 7bit, используются следующие операторы:

Для большей наглядности структуры кадра операторы в кадре должны быть расположены в следующей последовательности: N, G, X, Y, Z, А, В, С, F, S, T, D, M, H.

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

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

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

В отличие от команд по DIN 66025 команды высокоуровневого языка программирования ЧПУ состоят из нескольких букв адреса, к примеру:

Структура программы имеет следующий вид: «%» (только для программ, разработанных на ПЭВМ), заголовок программы «О» или «:» с последующим номером программ, содержащим не более четырех цифр. Каждая строка в программе является кадром.

Каждый кадр программы имеет структуру:

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

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

Каждый кадр заканчивается символом LF, запись символа LF не требуется, он автоматически создается при переключении строки. Программа заканчивается командами М2, М30 или М99. Кадр может состоять максимально из 512 символов (включая комментарий и символ конца кадра LF).

Подготовительные функции G обеспечивают все действия станка.

Х, Y, Z — линейные координатные оси станка, координата Z всегда параллельна оси шпинделя станка или перпендикулярна плоскости закрепления детали для станков с двухповоротной фрезерной головкой; А, С, В — угловые координаты вращения относительно линейных координатных осей. Если станок имеет больше двух шпинделей, а также инструментальных головок, то появляются дополнительные координатные оси Х’, Y’, Z’, А’, С’, В’ и т. д.

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

Дополнительные функции М отвечают за включение, выключение шпинделя, насосных станций для подачи СОЖ, направление вращения шпинделя, конец программы.

Функция шпинделя S задает частоту вращения шпинделя.

Функция инструмента Т задает номер инструмента или инструментальной наладки.

Функция подачи F задает значение подачи.

Для чего нужны подпрограммы чпу. Смотреть фото Для чего нужны подпрограммы чпу. Смотреть картинку Для чего нужны подпрограммы чпу. Картинка про Для чего нужны подпрограммы чпу. Фото Для чего нужны подпрограммы чпу

Рис. 1. Система координат рабочего пространства станка и направления положительных перемещений

Система координат станка и направления положительных перемещений приведены на рисунке 1.

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

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

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

Подготовительные функции G, дополнительные функции М приведены в таблицах 1, 2.

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

Для револьверных головок токарных станков для смены инструмента достаточно команды Т.

Функция шпинделя S задает частоту вращения шпинделя, функция инструмента Т задает номер инструментальной наладки или инструмента, функция подачи F задает значение подачи.

Таблица 1. Подготовительные функции G

ИнструкцияОписание
G00Линейная интерполяция при ускоренном перемещении
G01Линейная интерполяция при скорости подачи
G02Круговая интерполяция по часовой стрелке
G03Круговая интерполяция против часовой стрелки
G04Выдержка времени
G05Круговая интерполяция с выходом на круговую траекторию по касательной
G06Снижение допустимого уровня ускорения
G07Отмена снижения допустимого уровня ускорения
G0SУправление скоростью подачи в точках перегиба
G09Отмена управления скоростью подачи в точках перегиба
G10Ускоренное перемещение в полярных координатах
G11Линейная интерполяция в полярных координатах
G12Круговая интерполяция по часовой стрелке в полярных координатах
G13Круговая интерполяция против часовой стрелки в полярных координатах
G14Программирование величины коэффициента усиления по скорости следящего привода
G15Отмена G14
G16Программирование без указания плоскости
G17Выбор плоскости УХ
G1SВыбор плоскости ZX
G19Выбор плоскости УZ
G20Задание полюса и плоскости координат при программировании в полярных координатах
G21Программирование классификации осей
G22Активизация таблиц
G23Программирование условного перехода
G24Программирование безусловного перехода
G32Нарезание резьбы в режиме линейной интерполяции без компенсирующего патрона
G34Скругление угла для двух соседних прямолинейных участков (с допустимым отклонением под адресом Е)
G35Выключение сглаживания угла
G36Выключение запрограммированного при скруглении угла отклонения, которое становится равным машинному параметру
G37Программирование точки для зеркального отображения или поворота координат
G38Активизация зеркального отображения, поворота координат, масштабирования
G39Отмена зеркального отображения, поворота координат, масштабирования
G40Отмена эквидистантной коррекции
G41Эквидистантная коррекция слева по направлению подачи
G42Эквидистантная коррекция справа по направлению подачи
G53Отмена смещения нуля
G54-G59Инициация смещения нуля
G60Смещение координатной системы программы
G61Точное позиционирование при движении со скоростью подачи
G62Отмена точного позиционирования
G63Включение 100% от запрограммированного значения скорости
G64Привязывание скорости подачи к точке контакта фрезы и детали
G65Привязывание скорости подачи к центру фрезы
G66Активизация значения скорости заданной потенциометром
G67Отмена смещения координатной системы программы
G68Вариант сопряжения отрезков эквидистант по дуге
G69Вариант сопряжения отрезков эквидистант по траектории пересечения эквидистант
G70Программирование в дюймах
G71Отмена программирования в дюймах
G73Линейная интерполяция с точным позиционированием
G74Выход в начало координат
G75Работа с датчиком касания
G76Перемещение в точку с абсолютными координатами в системе координат станка
G78Активизация сверлильной оси
G79Деактивация одной сверлильной оси или всех сразу
G80Отмена вызова стандартных циклов
G81, G82Стандартный цикл сверления
G83Стандартный цикл глубокого сверления
G84Цикл нарезания резьбы с компенсирующим патроном
G85, G86Стандартный цикл рассверливания
G90Программирование в абсолютных координатах
G91Программирование в относительных координатах
G92Установка значений координат
G93Программирование времени отработки кадра
G94Программирование подачи в мм/мин
G95Программирование подачи в мм/об
G97Программирование скорости резания
G105Установка нуля для линейных бесконечных осей
G108Управление подачей в точках перегиба с учетом Look Ahead
G112Деактивация опережающего управления скоростью
G113Активация опережающего управления торможением
G114Активация опережающего управления скоростью
G115Деактивация опережающего управления скоростью
G138Включение компенсации положения заготовки
G139Выключение компенсации положения заготовки
G145-845Активизация внешней коррекции со стороны программируемого контролера
G146Выключение внешней коррекции инструмента
G147, G847Вторичная компенсационная группа коррекций инструмента; коррекции соотнесены с осями
G148Отмена дополнительной компенсации инструмента
G153Отмена первого аддитивного смещения нуля
G154-159Индикация первого аддитивного смещения нуля
G160-360Внешнее смещение нуля
G161Точное позиционирование при ускоренном перемещении
G162Отмена точного позиционирования при ускоренном перемещении
G163Точное позиционирование при ускоренном перемещении и перемещение со скоростью подачи
G164Первая опция точного позиционирования
G165Вторая опция точного позиционирования
G166Третья опция точного позиционирования
G167Отмена внешнего смещения нуля
G168Смещение координатной системы управляющей программы
G169Отмена всех смещений координатной системы
G184Цикл нарезания резьбы без компенсирующего патрона
G189Программирование в абсолютных координатах для бесконечных осей
G190Программирование в абсолютных координатах «слово за словом»
G191Программирование в относительных координатах «слово за словом»
G192Установка нижнего предела частоты вращения в управляющей программе
G194Программирование скорости (подачи, частоты вращения) с адаптацией ускорения
G200Линейная интерполяция на ускоренном перемещении без торможения до V = 0
G202Винтовая интерполяция по часовой стрелке
G203Винтовая интерполяция против часовой стрелки
G206Активизация и сохранение в памяти максимальных значений ускорений
G228Переходы от кадра к кадру без торможения
G253Отмена второго аддитивного смещения нуля
G254-259Инициация второго аддитивного смещения нуля
G268Аддитивное смещение координатной системы управляющей программы
G269Отмена аддитивного смещения координатной системы управляющей программы
G292Установка верхнего предела частоты вращения в управляющей программе
G301Включение осциллирующего движения
G350Установка параметров осциллирующего движения
G408Формирование гладкого ускорения при движении от точки к точке
G500Обнаружение возможных коллизий при опережающем просмотре кадров
G543Включение управления коллизиями при опережающем просмотре кадров
G544Выключение управления коллизиями при опережающем просмотре кадров
G575Переключение кадров высокоскоростным внешним сигналом
G580Расформирование координатных осей
G581Формирование координатных осей
G608Формирование гладкого ускорения при движении от точки к точке для каждой оси в отдельности

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

Таблица 2. Дополнительные функции М

ИнструкцияОписание
МООстановка программы
М1Остановка по требованию
М2Конец программы
М3Включение вращения шпинделя по часовой стрелке
М4Включение вращения шпинделя против часовой стрелки
М5Остановка шпинделя
М2=3Инструмент с механическим приводом включен по часовой стрелке
М2=4Инструмент с механическим приводом включен против часовой стрелки
М2=5Инструмент с механическим приводом выключен
М6Автоматическая смена инструмента
М7Включение обдува воздухом
МSВключение подачи СОЖ
М9Выключение охлаждения
М1ООтключение обдува воздухом
М11Зажим инструмента
М12Разжим инструмента
М13Включение вращения шпинделя по часовой стрелке совместно с включением СОЖ
М14Включение вращения шпинделя против часовой стрелке совместно с включением СОЖ
М15Включение СОЖ для смыва стружки
М17Конец подпрограммы
М19Ориентация шпинделя
М21Включение зеркального отображения программы вдоль оси Х
М22Включение зеркального отображения программы вдоль оси У
М23Отключение зеркального отображения программы
М29Включение режима жесткого резьбонарезания
М3ОКонец программы с возможностью одновременного выключения питания станка
М52Перемещение магазина на позицию вправо
М53Перемещение магазина на позицию влево
М7ОИнициализация магазина
М71Опускание активного кармана магазина
М72Поворот манипулятора на 60°
М73Разжим инструмента
М74Поворот манипулятора на 120°
М75Зажим инструмента
М76Поворот манипулятора на 180°
М77Поднятие активного кармана магазина
М98Вызов подпрограммы
М99Возврат в основную программу

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

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

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

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

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

1. Подготовка чертежа детали заключается:

2. Определение процесса обработки:

3. Создание технологической карты. Определить поочередно все процессы обработки станка, к примеру:

4. Перевод переходов на язык программирования: запись каждого перехода как кадра ЧПУ (или кадров ЧПУ).

5. Соединение всех отдельных переходов в операцию, как правило, в одной программе. Иногда, особенно при обработке крупногабаритных деталей в программу, могут быть выделены переходы черновой, получистовой и чистовой обработки. Это имело место при ограниченном объеме памяти, характерном для устаревших систем ЧПУ. Для современных систем программного управления объем памяти практически не ограничивает технологические возможности станков.

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

Некоторые постоянные цикла для систем управления, используемые в программном обеспечении WIN NC SINUMERIK, приведены ниже:

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

Для чего нужны подпрограммы чпу. Смотреть фото Для чего нужны подпрограммы чпу. Смотреть картинку Для чего нужны подпрограммы чпу. Картинка про Для чего нужны подпрограммы чпу. Фото Для чего нужны подпрограммы чпу

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

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

Программирование современных систем ЧПУ выполняется в соответствии со стандартом ISO 6983 (DIN 66025), которому уже более 50 лет и который, как считают программисты, якобы тормозит развитие ЧПУ-технологий. Термин «ЧПУ-технологии», по мнению автора, не правомерен, обработка деталей на станках с ЧПУ подчиняется всем закономерностям технологии машиностроения и обработки металлов резанием или других методов формообразования.

Нарушение закономерностей технологических наук приводит:

Основным отличием для многоцелевых станков является предельно выраженная концентрация операций, не только характерная для данного вида оборудования, но и реализуемая приводным инструментом и специальной шпиндельной оснасткой, а также методы обеспечения точности с использованием станочных измерительных систем. Стандарт поддерживает простые команды для элементарных перемещений и логических операций. В настоящее время для решения сложных геометрических и логических задач в системах программного управления кроме машинных кодов в соответствии с DIN 66025 (ISO 7bit) применяют языки программирования высокого уровня. Управляющие программы в стандарте ISO 6983 содержат незначительное количество информации, полученной на уровне CAD-CAM систем. Однако более серьезным недостатком, как считают разработчики систем программного управления, является невозможность двустороннего обмена информацией с этими системами, что означает, что любые изменения в управляющей программе не могут быть отображены в восходящем информационном потоке к системам CAD-CAM. Необходимо отметить, что это целесообразно не для всех отраслей промышленности. Так, например, сглаживание плавного сопряжений теоретических контуров сплайнами допустимо, а сопряжение двух поверхностей требует анализа возможных методов их формообразования, для ряда конструкционных материалов могут иметь место технологические ограничения, например, минимально допустимые радиусы сопряжения конструктивных элементов деталей из высокопрочных алюминиевых сплавов и т. д.

В отличие от DIN 66025 (ISO 6983) разрабатываемый стандарт STEP-NC ISO 14649 (на данный период разработаны не все его модули) определяет специальную структуру управляющей программы ЧПУ — program structure, которую используют для построения логических блоков в рамках структурного программирования обработки. Структура управляющей программы не является списком типовых обрабатываемых форм (features); она определяет план операции (workplan), который представляет собой последовательность исполняемых объектов (executables). STEP-NC предполагает широкий обмен информацией между инженерными службами, в том числе подготовки и планирования производства, а также цеховым уровнем.

Структура предполагаемого обмена информацией приведена на рисунке 3.

Структура планируемого информационного обмена вызывает массу вопросов:

Для чего нужны подпрограммы чпу. Смотреть фото Для чего нужны подпрограммы чпу. Смотреть картинку Для чего нужны подпрограммы чпу. Картинка про Для чего нужны подпрограммы чпу. Фото Для чего нужны подпрограммы чпу

Рис. 3. Планируемый обмен информацией между инженерными службами и цеховым уровнем

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

На эти проблемы много раз указывали пользователи различных станков, вовлеченные в процесс стандартизации STEP-NC. Производители оборудования и разработчики программного обеспечения стараются учесть требования пользователей и реализуют некоторые из указанных функций в своей продукции. Однако часто их работа не подчиняется единому стандарту, что, по существующему мнению, может тормозить обновление промышленных систем. Также нельзя не упомянуть о том, что выпускаемое оборудование редко пользуется всеми современными технологиями и в результате производственная база оказывается не такой эффективной и совершенной. С учетом этого изготовители систем программного управления выбрали компромиссный вариант, позволяющий работать как по DIN 66025 (ISO 6983), так и по ISO 14649 (рис. 4).

Для чего нужны подпрограммы чпу. Смотреть фото Для чего нужны подпрограммы чпу. Смотреть картинку Для чего нужны подпрограммы чпу. Картинка про Для чего нужны подпрограммы чпу. Фото Для чего нужны подпрограммы чпу

Рис. 4. Смешанная архитектура системы ЧПУ, поддерживающая стандарты DIN 66025 (ISO 6983) и ISO 14649 (STEP-NC)

Все это свидетельствует о том, что кроме совершенствования систем программного управления и методов программирования необходимо заниматься на системной основе и подготовкой технологической информации:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *