в чем преимущество модальных g кодов перед немодальными
§ 11. Модальность. Группы кодов
На фрагменте ниже программируется ускоренное перемещение (G0) в точку на безопасной плоскости, после чего происходит переключение на режим рабочего движения фрезы (кадр N30).
.
N10 G0 X0 Y0
N20 Z10
N30 G1 Z5 F100
N40 X10 Y5.5
.
В кадрах N20 и N40 движение происходит на режимах заданных кадром выше. Соответственно по принципу модальности вывод G0 и G1 в этих кадрах не нужен. В кадре N30 также задается скорость перемещения фрезы 100 мм/мин. Она будет действовать пока не встрится новое значение с адресом F или изменен режим движения.
Код, действующий в пределах одного кадра программы называется немодальным. Его действие прекращается уже в следующем кадре.
Группы кодов вспомогательных функций:
Группы кодов подготовительных функций:
Модальные и немодальные коды
Все станочные коды можно условно разделить на два класса в зависимости от их способности сохраняться в памяти СЧПУ. Немодальные коды действуют только в том кадре, в котором они находятся. Модальные коды, напротив, могут действовать бесконечно долго, пока их не отменят другим кодом.
Выделяют несколько групп кодов в зависимости от функции, которую они выполняют (табл. 5.2). Два модальных кода из одной группы не могут быть активными в одно и то же время. Например, G02 и G03 находятся в группе кодов осевых перемещений, и вы не можете применять оба этих кода сразу. Один из этих кодов обязательно отменит действие другого. Это как попытаться ехать на автомобиле одновременно и вправо, и влево. Однако вы можете одновременно использовать коды из разных функциональных групп. Например, в одном кадре можно написать G02 и G90.
Таблица 5.2. Коды по группам
Функциональная группа | Коды |
---|---|
Перемещения | G00, G01, G02, G03 |
Тип координатной системы | G90, G91 |
Единицы ввода данных G20, G21 | |
Постоянные циклы | G80, G81, G82, G83, G84, G85… |
Рабочая система координат | G54, G55, G56, G57, G58… |
Компенсация длины инструмента | G43, G44, G49 |
Коррекция на радиус инструмента | G40, G41, G42 |
Возврат в постоянных циклах | G98, G99 |
Активная плоскость обработки | G17, G18, G19 |
Особенностью модальных кодов является то, что не нужно вводить активный код в последующие кадры. Например, код G01 используется для перемещения инструмента по прямой линии. Если нам необходимо совершить множество прямых перемещений, то не обязательно в каждом последующем кадре писать G01. Для отмены кода G01 следует применить один из кодов той же самой функциональной группы (G00, G02 или G03). Большинство из G-кодов являются модальными. Программист должен знать, к какой группе и к какому классу принадлежит тот или иной код.
Хотя М-коды обычно не делят на модальные и немодальные, однако этот термин все же можно применить и к ним. Например, можно выделить группу М-кодов, отвечающих за подачу охлаждающей жидкости (М07, М08, М09) или за вращение шпинделя (М03, М04, М05). Тем не менее большинство М-кодов нужно рассматривать как немодальные. Некоторые стойки ЧПУ допускают программирование только одного М-кода в кадре.
Модальные и немодальные коды
Все станочные коды можно условно разделить на два класса в зависимости от их способности сохраняться в памяти СЧПУ. Немодальные коды действуют только в том кадре, в котором они находятся. Модальные коды, напротив, могут действовать бесконечно долго, пока их не отменят другим кодом.
Выделяют несколько групп кодов в зависимости от функции, которую они выполняют (табл. 5.2). Два модальных кода из одной группы не могут быть активными в одно и то же время. Например, G02 и G03 находятся в группе кодов осевых перемещений, и вы не можете применять оба этих кода сразу. Один из этих кодов обязательно отменит действие другого. Это как попытаться ехать на автомобиле одновременно и вправо, и влево. Однако вы можете одновременно использовать коды из разных функциональных групп. Например, в одном кадре можно написать G02 и G90.
Таблица 5.2. Коды по группам
Функциональная группа | Коды |
Перемещения | G00, G01, G02, G03 |
Тип координатной системы | G90, G91 |
Единицы ввода данных G20, G21 | |
Постоянные циклы | G80, G81, G82, G83, G84, G85… |
Рабочая система координат | G54, G55, G56, G57, G58… |
Компенсация длины инструмента | G43, G44, G49 |
Коррекция на радиус инструмента | G40, G41, G42 |
Возврат в постоянных циклах | G98, G99 |
Активная плоскость обработки | G17, G18, G19 |
Особенностью модальных кодов является то, что не нужно вводить активный код в последующие кадры. Например, код G01 используется для перемещения инструмента по прямой линии. Если нам необходимо совершить множество прямых перемещений, то не обязательно в каждом последующем кадре писать G01. Для отмены кода G01 следует применить один из кодов той же самой функциональной группы (G00, G02 или G03). Большинство из G-кодов являются модальными. Программист должен знать, к какой группе и к какому классу принадлежит тот или иной код.
Хотя М-коды обычно не делят на модальные и немодальные, однако этот термин все же можно применить и к ним. Например, можно выделить группу М-кодов, отвечающих за подачу охлаждающей жидкости (М07, М08, М09) или за вращение шпинделя (М03, М04, М05). Тем не менее большинство М-кодов нужно рассматривать как немодальные. Некоторые стойки ЧПУ допускают программирование только одного М-кода в кадре.
Формат программы
Одна и та же управляющая программа может выглядеть по-разному. В качестве примера этого явления приведем фрагмент все той же программы обработки паза:
…
N70 G01 Z-1 F25
N80 G01 X3 Y3
N90 G01 X7 Y3
N100 G01 X7 Y8
N110 G01 Z0.5
…
Так как G01 является модальным кодом, то совсем не обязательно указывать этот код в каждом кадре линейных перемещений. Поэтому данный фрагмент УП может выглядеть следующим образом:
…
N70 G01 Z-1 F25
N80 X3 Y3
N90 X7 Y3
N100 X7 Y8
N110 Z0.5
…
СЧПУ читает первый кадр, в котором задается линейное перемещение по оси Z на глубину 1 мм (Z-1). Затем считывается второй кадр, в котором присутствуют координаты, но нет другого G-кода. Так как G01 является модальным кодом, то он сохраняется в памяти и используется СЧПУ для работы с новыми координатами. Можно сказать, что адреса X и Y также являются модальными. То есть значения координат сохраняются в памяти, пока СЧПУ не заменит (обновит) их другими значениями координат. Таким образом, данный фрагмент УП можно переписать еще раз:
…
N70 G01 Z-1 F25
N80 X3 Y3
N90 X7
N100 Y8
N110 Z0.5
…
Система ЧПУ читает программу обработки кадр за кадром. При этом в буфер памяти системы попадает один или несколько кадров целиком. Для современных систем ЧПУ не принципиально, в каком месте кадра находится тот или иной код (слово данных). Однако некоторые станки, имеющие старые системы ЧПУ, могут быть очень придирчивы к порядку слов данных в кадре и к пробелам между ними. Для современной стойки три приведенных ниже кадра будут иметь совершенно одинаковый эффект:
N01 G55 G01 X30.45 Y2.35 M08
N02 M08 Y2.35 G55 X30.45 G01
N03 G01 X30.45 Y2.35 G55 M08
Для того чтобы программисту было легче создавать и читать УП, рекомендуется следующий порядок расположения слов данных и знаков программирования в кадре:
1. код пропуска кадра (/);
3. подготовительные функции (G-коды);
4. адреса осевых перемещений (X, Y, Z, I, J, К, А, В, С);
5. команда подачи (F);
6. команда числа оборотов (S);
7. вспомогательные функции (М-коды).
После номера кадра N обычно следует G-код. Это как глагол в предложении – G-коды говорят нам, какую функцию несет каждый кадр. Далее следуют адреса и координаты позиций осевых перемещений. М-коды обычно ставятся в конец кадра. Это правило действует, когда в кадре присутствует G-код. Тем не менее если в кад ре нет G-кода, то многие программисты предпочитают ставить М-код в начало:
…
N40 M03 S1000
N50 G00 X3 Y8
…
В УП не допускаются пробелы между адресом (буквой) и числом или внутри G- и М-кодов. В приведенном кадре есть несколько ошибок, и СЧПУ станка обязательно будет на них «ругаться»:
Большинство современных стоек прекрасно работает и без пробелов между словами данных. Удаление пробелов позволяет сократить размер управляющей программы. Однако человеку, в отличие от компьютера, будет непривычно читать УП в таком варианте. Сравните два варианта одного и того же кадра:
Первый вариант явно читается легче, что означает меньшую вероятность ошибки при написании или проверке программы обработки.
Номера кадров для большинства современных СЧПУ не обязательны. Они используются для облегчения поиска требуемой информации в УП и для создания переходов к определенному кадру в некоторых особых случаях. Поэтому фрагмент программы, с которым мы работаем:
…
N70 G01 Z-1 F25
N80 X3 Y3
N90 X7
N100 Y8
N110 Z0.5
…
перепишем следующим образом:
Необходимо уделить особое внимание числовому формату, с которым ваша стойка ЧПУ сможет работать. Обычно система ЧПУ работает с десятичным форматом и позволяет использовать несколько знаков до десятичной точки и несколько знаков после нее (например, 999.999). Возможны различные варианты употребления ведущих (перед десятичной точкой) и последующих (после десятичной точки) нулей. Сравните:
В некоторых случаях наличие десятичной точки в определенных словах данных обязательно, а в других случаях недопустимо. Поэтому внимательно ознакомьтесь с разделом документации станка с ЧПУ, в котором говорится о формате программирования.
При работе с положительными числами не требуется вводить знак «+», так как СЧПУ исходит из положительного значения числа, если не введен никакой знак. Но при необходимости ввода отрицательного числового значения знак «–» должен быть запрограммирован обязательно.
Теперь мы можем сравнить первоначальный вариант программы обработки паза и новый вариант, созданный в этой главе (табл. 5.3). Несмотря на то что второй вариант УП имеет меньший размер (экономия программной памяти системы ЧПУ), его гораздо труднее читать.
Следовательно, при работе с «экономичной» версией УП появляется вероятность сделать ошибку или ее не заметить. Так как современные СЧПУ и компьютеры обладают достаточно большим объемом памяти, то нет смысла «экономить байты», убирая пробелы между словами данных, не ставя номеров кадров и забывая про комментарии.
Таблица 5.3. Два варианта одной программы
Обычная УП | Сжатая УП |
% O0001 (PAZ) N10 G21 G40 G49 G54 G80 G90 N20 M06 T01 (FREZA D1) N30 G43 H01 N40 M03 S1000 N50 G00 X3 Y8 N60 G00 Z0.5 N70 G01 Z-1 F25 N80 G01 X3 Y3 N90 G01 X7 Y3 N100 G01 X7 Y8 N110 G01 Z0.5 N120 G91 G28 X0 Y0 Z0 N130 M05 N140 M30 % | % O0001 (PAZ) G21G40G49G54G80G90 M6T1 G43H1 M3S1000 G0X3Y8 Z.5 G1Z-1F25 X3Y3 X7 Y8 Z.5 G91G28X0Y0Z0 M5 M30 % |
Строка безопасности
Строкой безопасности называется кадр, содержащий G-коды, которые переводят СЧПУ в определенный стандартный режим, отменяют ненужные функции и обеспечивают безопасную работу с управляющей программой. В нашей программе для обработки паза строкой безопасности является кадр N10.
N10 G21 G40 G49 G54 G80 G90
Как вы уже знаете, многие коды являются модальными и остаются активными в памяти СЧПУ до тех пор, пока их не отменят. Возможны ситуации, когда ненужный модальный G-код не был отменен. Например, если программа обработки была прервана по каким-либо причинам в середине. Строка безопасности, которая обычно находится в начале УП или после кадра смены инструмента, позволяет «восстановить» забытые G-коды и выйти в привычный режим работы.
Давайте поближе познакомимся с G-кодами, находящимися в типичной строке безопасности.
Код G21 говорит станку о том, что все перемещения и подачи рассчитываются и осуществляются в миллиметрах, а не в дюймах (G20). Так как станки производятся и работают в разных странах, то существует возможность переключения между дюймовым и метрическим режимами. Поэтому включение этого кода в состав строки безопасности гарантирует работу в правильном режиме.
Код G40 отменяет автоматическую коррекцию на радиус инструмента. Коррекция на радиус инструмента предназначена для автоматического смещения инструмента от запрограммированной траектории. Коррекция может быть активна, если вы в конце предыдущей программы забыли ее отменить (выключить). Результатом этого может стать неправильная траектория перемещения инструмента и, как следствие, испорченная деталь.
Код G49 отменяет компенсацию длины инструмента.
Код G54 на большинстве современных станков позволяет активировать одну из нескольких рабочих систем координат. Предыдущая управляющая программа могла работать в другой системе координат, например в G55. Как и большинство G-кодов, G-код рабочей системы координат является модальным и сохраняется активным в памяти СЧПУ до тех пор, пока его не отменят. Для того чтобы избежать ошибки, в строку безопасности включают код требуемой рабочей системы координат (G54–G59).
Код G80 отменяет все постоянные циклы (например, циклы сверления) и их параметры. Отмена постоянных циклов необходима, так как все координаты после G-кода постоянного цикла относятся непосредственно к нему и для выполнения других операций нужно «сказать» системе ЧПУ, что цикл закончен.
Код G90 активирует работу с абсолютными координатами. Хотя большинство программ обработки создаются в абсолютных координатах, возможны случаи, когда требуется выполнять перемещения инструмента в относительных координатах (G91).
Важность форматирования УП
В начале этой главы мы рассмотрели пример, наглядно демонстрирующий, что нет особого смысла уменьшать размер УП, а есть смысл сделать так, чтобы программа обработки была хорошо читаемой. Хорошая читаемость программы обеспечивается четкой структурой, комментариями, номерами кадров и пробелами между словами данных, то есть ее форматом. Однако это не единственная причина для форматирования УП. Второй причиной является совместимость. Если все программисты в вашей компании будут использовать одинаковый формат, то каждый из них без особых хлопот разберется в программе своего коллеги, сможет найти ошибку и исправить ее.
Пожалуй, самой важной причиной для форматирования УП является специфика многоинструментальной обработки на современных станках с ЧПУ. Особенность этой работы заключается в частой смене инструмента и в многократном использовании одного и того же инструмента. У оператора станка с ЧПУ может возникнуть необходимость перезапуска программы с определенного номера инструмента или операции. Для этого требуется особая технология написания УП, нужна определенная избыточность информации.
Опытный программист всегда включает в УП некоторый набор дополнительных команд, позволяющих оператору станка «стартовать» из определенных кадров программы. Этими командами могут быть не только команды включения требуемых оборотов шпинделя S и М03, но и строки безопасности, команды на выполнение компенсации длины и коррекции на радиус инструмента.
Это означает, что одна управляющая программа может состоять из множества «мини-программ»:
%O0002(PROGRAM NAME – T)(DATE=DD-MM-YY – 15-09-04 TIME=HH:MM – 22:55)N100 G21N102 G00 G17 G40 G49 G80 G90(1 OPERATION)N104 T1 M6N106 G00 G90 G54 X-88.783 Y47.985 A0. S1000M3N108 G43 H1 Z100.…(2 OPERATION)N134 T2 M6N136 G00 G90 G54 X-88.783 Y47.985 A0. S1000M3N138 G43 H2 Z100.…(3 OPERATION)N164 T3 M6N166 G00 G90 G54 X-88.783 Y47.985 A0. S1000M3N168 G43 H3 Z100.…(4 OPERATION)N194 T4 M6N196 G00 G90 G54 X-88.783 Y47.985 A0. S1000M3N198 G43 H4 Z100. (5 OPERATION)N224 T5 M6N226 G00 G90 G54 X-88.783 Y47.985 A0. S2000M3N228 G43 H5 Z100.…N248 M08N250 G28 X0 Y0 Z0N252 M30%
Введение
Современные системы ЧПУ понимают более сотни различных команд, однако в своей повседневной работе технолог-программист использует лишь ограниченный, довольно узкий набор G- и М-кодов. Этому есть простое объяснение. Дело в том, что основная задача УП заключается в перемещении инструмента по заданным координатам. Для реализации таких перемещений нужно воспользоваться всего несколькими кодами, которые можно смело назвать базовыми. В этой главе вы подробно ознакомитесь с базовыми G-кодами, которые понимают практически все станки с ЧПУ. Для большей наглядности все программные примеры снабжены рисунками и схемами. Обратите внимание на графический символ, обозначающий нулевую точку.
Рис. 6.1. Условные обозначения на рисунках
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим.
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).
G- и M-коды для станков с ЧПУ – просто о сложном
Станочные комплексы с CNC используют для работы множество ПО. Однако руководить оборудованием можно с помощью одного и того же управляющего кода. Это буквенно-цифровой язык ISO 7-bit. Основывается на международных стандартах ISO и EIA.
Что такое G- и M-функции для CNC?
Большинство изготовителей систем ЧПУ описывают основные параметры с помощью стандартов ISO, но часто в своем оборудовании отступают от правил, чтобы расширить возможности систем.
Японские компании в своих системах ЧПУ FANUC широко раскрывают потенциал использования G- и М-кодов. Их оборудование одним из первых заработало на языке ISO 7-bit. Сейчас это самые распространенные пульты в мире.
G-коды настраивают СЧПУ на определенное действие. М-коды – вспомогательные, управляют режимами работы оборудования. Чтобы инструмент двигался по прямой траектории, вносится команда G01. А если необходимо заменить рабочий орган, используется код М06.
G- и M-коды для программирования станков с ЧПУ – что это?
Настройки оборудования с CNC пишутся на различных языках, но набора основных G- и М-команд достаточно, чтобы создать УП.
G-code (NC-код)
G-функция – язык программирования, осуществляет подготовительные функции для работы станка по управлению осевым перемещением инструмента.
«ИСО 7-бит» создан компанией EIA в 60-х гг. прошлого столетия, а доработан спустя 20 лет. G-код утвержден как стандарт ISO 6983-1:2009, в СССР – как ГОСТ 20999-83. Код записывает информацию на восьмидорожечной перфоленте и кодирует 128 символов.
Справка: многие производители дорабатывают код по-своему, и отличия от базового можно посмотреть в инструкции к конкретной системе управления.
В программе, написанной на языке ISO 7-bit, все команды формируют кадры – совокупности из одной или нескольких команд. Первый кадр состоит из единственного знака – «%». Иногда такой символ стоит и в последнем кадре. Так программа отделяет кадры друг от друга. Остальным присваиваются номера, а оканчиваются они знаком CR/LF – перевод строки. Чтобы завершить программу, вводится команда M02 или M30.
Комментарии пишутся в круглых скобках и несут конкретную информацию:
Примечание: СЧПУ не считывает текст в круглых скобках.
Чаще всего список кодов в кадре начинается с подготовительных. Затем вписываются команды перемещения, выбирается режим работы и технологические коды.
Модальные и немодальные G-коды.
Независимые части основного ПО описываются в промежутке обозначений M02–M30. Сначала идет номер, в конце прописывается M17.
М-code
М-функции — дополнительные коды, на разных станках CNC могут немного отличаться. Эти команды управляют рабочими органами и режимами оборудования с ЧПУ.
Вспомогательные команды используются одиночно или вместе с другими кодами. Когда кадр устанавливает рабочий орган в шпиндель, это выглядит так:
Здесь команда M6 на пульте подразумевает некоторый набор действий, чтобы заменить рабочий орган:
Если М- код включает какое-либо устройство, то обязательно существует его пара, которая выключает:
M8 – M9 – включить/выключить систему охлаждения;
M3 – M5 – включить/выключить обороты шпинделя.
В кадре разрешается использовать несколько М-функций. Для станков с внушительным набором сменных устройств задействуется больше М-кодов в управлении.
Примечание: М-код может вписываться самостоятельно или в кадре с G-кодами.
Вспомогательные команды делятся:
Важно: на разных станках одни и те же команды могут настраиваться на управление другими устройствами.
Таблица G-кодов ЧПУ с расшифровкой
Таблица представляет неполный перечень команд для управления станком, только важные:
Таблица M-кодов ЧПУ с расшифровкой
Вспомогательные команды программного кода маркируются буквой М и выполняют такие действия:
G-функции для станков ЧПУ
Код | Описание кода |
---|---|
Осевое движение | |
G00 | Ускоренный или холостой ход – перемещение на очень высокой скорости в указанную точку. Не используется для выполнения обработки. |
G01 | Линейная интерполяция – смещение по прямой траектории с заданной скоростью подачи. Рабочий ход |
G02 | Круговая интерполяция – перемещение по дуге вправо с запрограммированной скоростью подачи |
G03 | Круговая интерполяция – смещение по кривой влево с заданной скоростью подачи |
Наладка | |
G20 | Ввод дюймовых показателей |
G21 | Ввод метрической информации |
G90 | Абсолютное позиционирование – отсчет всех координат от постоянной нулевой точки |
G91 | Относительное позиционирование – все координаты рассчитываются от предыдущей позиции |
Работа с отверстиями | |
G81 | Фаза сверления |
G82 | Цикл сверления с задержкой на дне отверстия |
G83 | Прерывистый период сверления |
G85 | Режим растачивания отверстия |
До 4 кодов в кадре.
G-code окружности с координатами центра.
G-code для сверления отверстий.
Дополнительные обозначения при программировании станков CNC
Координаты точек движения инструмента в декартовых плоскостях– X, Y, Z.
Смещение вокруг осей X, Y, Z – А, В, С.
Круговая интерполяция параллельно осям координат X, Y, Z – I, J, К.
R – радиус, в повторяющихся периодах – положение плоскости отвода, в команде вращения – угол поворота системы координат.
D – параметр коррекции на радиус рабочего органа.
Н – показатель компенсации длины инструмента.
F – настройка подачи.
S – параметр основного перемещения.
Т – показатель номера инструмента, который требуется поставить на замену поворотом патрона.
N – номерное значение кадров управляющей программы.
/ – пропуск кадра, который не нужно выполнять, ставиться перед кадром.
Семиразрядный код ISO 7-bit – основной для современных отечественных станков CNC. Правила кодирования для станка с конкретным устройством ЧПУ определяются используемым общим кодом, инструкцией по эксплуатации оборудования и руководством по программированию систем ЧПУ.
- в чем назначение каналообразующих кодов в cdma
- в чем преимущество нового способа оплаты жкх через qr код