джи коды для чпу фрезера

Описание G и M кодов для программирования ЧПУ (CNC) станков

На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют «G-код». В данном материале представлена общая информация по G-коду (G-code).

G-code это условное именование языка для программирования устройств с ЧПУ (CNC) (Числовое программное управление). Был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980-о года как RS274D стандарт. Комитет ИСО утвердил G-code, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР — как ГОСТ 20999-83. В советской технической литературе G-code обозначается, как код ИСО-7 бит.

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

Программа, написанная с использованием G-code, имеет жесткую структуру. Все команды управления объединяются в кадры — группы, состоящие из одной или более команд. Кадр завершается символом перевода строки (ПС/LF) и имеет номер, за исключеним первого кадра программы. Первый кадр содержит только один символ» %». Завершается программа командой M02 или M30.

Основные (в стандарте называются подготовительными) команды языка начинаются с буквы G:

Сводная таблица кодов:

Подготовительные (основные) команды / КодыОписание
G00-G04Позиционирование инструмента
G17-G19Переключение рабочих плоскостей (XY, XZ, YZ)
G20-G21Не стандаризовано
G40-G44Компенсация размера различных частей инструмента (длина, диаметр)
G53-G59Переключение систем координат
G80-G84Циклы сверления, нарезания резьбы
G90-G92Переключение систем координат (абсолютная, относительная)

Таблица основных команд:

Таблица технологических кодов:

Технологические команды языка начинаются с буквы М. Включают такие действия, как:

Источник

Программирование обработки на станках с ЧПУ

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

джи коды для чпу фрезера. operator. джи коды для чпу фрезера фото. джи коды для чпу фрезера-operator. картинка джи коды для чпу фрезера. картинка operator. На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют «G-код». В данном материале представлена общая информация по G-коду (G-code).

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

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

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

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

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

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

Программирование при помощи 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 коды для ЧПУ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

M коды для ЧПУ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

G-коды для станков с ЧПУ: таблица с примерами и обучение

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

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

Что такое программирование ЧПУ G-кодами

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

Написанный алгоритм отличается жесткой структурой и представляет собой последовательность кадров – групп из нескольких команд. Каждый такой блок, объединенный общей функцией, обладает порядковым номером и отделен от последующих и предыдущих переводом строки (символ ПС/LF). Это сделано для наглядности листинга.

джи коды для чпу фрезера. f365d1a3258bcec32080f154757c448f. джи коды для чпу фрезера фото. джи коды для чпу фрезера-f365d1a3258bcec32080f154757c448f. картинка джи коды для чпу фрезера. картинка f365d1a3258bcec32080f154757c448f. На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют «G-код». В данном материале представлена общая информация по G-коду (G-code).

Что такое G-код ЧПУ

Это система команд, воспринимаемых станками с программным управлением. Была создана еще на заре 60-х годов – ассоциацией EIA (Electronic Industries Alliance), – но до готового к использованию формата (RS274D) ее доработали только в 1980-м году. Позднее, на очередном заседании профильного комитета, ее утвердили в качестве стандарта ISO 6983-1:1982. В Советском Союзе для регламентации ее положений ввели ГОСТ 20999-83, а обозначать ее в технической литературе стали ИСО-7 бит.

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

Методы программирования обработки деталей ДЖИ-кодами для ЧПУ

Существуют 3 принципиально разных варианта – каждый со своими особенностями, плюсами, минусами и спецификой применения. Кратко рассмотрим каждый способ из этой тройки, выделяя основные моменты.

джи коды для чпу фрезера. 39c1599f4527c984439007d91654ba3d. джи коды для чпу фрезера фото. джи коды для чпу фрезера-39c1599f4527c984439007d91654ba3d. картинка джи коды для чпу фрезера. картинка 39c1599f4527c984439007d91654ba3d. На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют «G-код». В данном материале представлена общая информация по G-коду (G-code).

Ручное

Алгоритм функционирования составляется в текстовом формате, в редакторе на удаленном компьютере. После чего переносится технологом в память оборудования – записывается с оптического диска, USB-устройства (раньше для этого также использовались дискеты), а при непосредственном соединении с ПК – через порты интерфейса.

На пульте УЧПУ

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

При помощи CAD/CAM

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

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

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

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

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

джи коды для чпу фрезера. f4d2d75102b7d1c170ea480daa1f4316. джи коды для чпу фрезера фото. джи коды для чпу фрезера-f4d2d75102b7d1c170ea480daa1f4316. картинка джи коды для чпу фрезера. картинка f4d2d75102b7d1c170ea480daa1f4316. На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют «G-код». В данном материале представлена общая информация по G-коду (G-code).

Стандарты и диалекты G-кода для ЧПУ станка: примеры

Первые шаги по регламентированию совокупности команд предприняла уже упомянутая Ассоциация электронной промышленности (EIA), когда ввела RS-274. Со временем свод правил был дополнен и расширен, превратился в NIST RS-274NGC. Большинство его положений перешли в актуальный сегодня стандарт ISO 7 bit.

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

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

Какие бывают G и M коды ЧПУ: описание

Сначала определим, в чем между ними разница. ДЖИ-команды являются основными и подготовительными, ЭМ – вспомогательными (технологическими). Записываются вместе, в строчку (первые – в начале, вторые – в конце) или, другими словами, покадрово – для наглядности листинга. В результате алгоритм представляет собой совокупность символьных блоков – с адресами и числовыми значениями.

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

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

Помимо этих двух распространенных семейств, также есть:

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

Подготовительные G-функции ЧПУ

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

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

джи коды для чпу фрезера. 08ece21277b05823e01c76827ed65cdd. джи коды для чпу фрезера фото. джи коды для чпу фрезера-08ece21277b05823e01c76827ed65cdd. картинка джи коды для чпу фрезера. картинка 08ece21277b05823e01c76827ed65cdd. На производстве, где работают различные станки с числовым программным управлением, используется множество различного программного обеспечения, но в большинстве случаев весь управляющий софт использует один и тот же управляющий код. Программное обеспечение для любительских станков, так же базируется на аналогичном коде. В обиходе его называют «G-код». В данном материале представлена общая информация по G-коду (G-code).

Расшифровка G-кодов для ЧПУ

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

Конечно, есть и другие, менее применимые, но все равно нужные и используемые. В процессе написания алгоритма инженер объединяет их в группы, заставляя взаимодействовать между собой и/или менять друг друга. От эффективности комбинаций зависит общая рациональность листинга, а значит и производительность выполнения технических операций.

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

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

Источник

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть третья, ПО и G-code

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

ПО для работы можно разделить по уровню абстракции снизу вверх: прошивка драйверов двигателей, «стойка ПУ» или замещающий ее программно-аппаратный комплекс на базе ПК или МК, CAM — ПО, строящее траекторию движения инструмента и преобразующее ее в G-код, и CAD.

Наиболее низкоуровневое ПО — прошивка драйверов двигателей, которая преобразует сигналы шага и направления (step/dir) для шаговых двигателей либо скорость/направление для серводвигателей в значения напряжения и тока, подаваемые на обмотки двигателей; его мы не выбираем и не модифицируем, по крайней мере в обсуждаемом случае.

Следующий уровень — «стойка» — программно-аппаратный комплекс, преобразующий строки кода в сигналы для драйверов. Тут уже интересней, по крайней мере на этапе выбора станка (или выбора компонентов для самостроя) мы можем остановиться как на промышленных стойках начального уровня (GSK, Washing, бэушные старые сименсы и фануки), так и на сочетании интерфейсных плат (от банального LPT и опторазвязанной китайской красной платы до MESA) с ПО — LinuxCNC, Mach3, NCStudio и прочих. Лично у меня большой положительный опыт с LinuxCNC и NCStudio; несмотря на простоту и того и другого, с обработкой по готовому простому G-коду нотации ISO-7bit они справляются на ура. У промышленных стоек есть преимущество в гибкости настройки приводов и возможности подключения большого количества периферии, а так же возможность работать по расширенным G-кодам (циклам) и макропрограммам, но при нынешней доступности КАМ-систем и штучном производстве это не нужно.

Уровнем выше идут CAM (computer aided manufacture) программы — ПО для создания траекторий, описывающих прохождение инструмента в заготовке. И вот тут у нас начинается полный разброд и шатание. С одной стороны, бесплатного или условно-бесплатного CAMа мало. Чтобы не сказать вообще нет пристойного. Да, есть плагин для Inkscape, есть какие-то нестабильные чудеса пятилетней давности, есть триальный фьюжн, есть плагины для CADов… Кстати, по поводу совсем простых, на раскроечный роутер мы долго прикручивали G-CodeTools для Inkscape, но так и не смогли достичь приемлимых скоростей связки оператор-плагин. В результате купили CamBam+ за смешные по меркам рынка 150 долларов и наслаждаемся. А так — все из дешевого или бесплатного либо под совсем простые обработки, либо глюк на глюке и глюком погоняет. Мы перепробовали кучу всего в демках и ломаных версиях, в результате провели переговоры с жабой и финдиректором, и купили PowerMill — по отзывам и пережитым в процессе перебора эмоциям, пожалуй, оптимальным для небольшого производства инструменте. Уже позже на нас вышли замечательные товарищи из SprutCAM, дали демку, и мы с ужасом обнаружили, что переплатили примерно в 20 раз — почти все наши потребности закрываются вполне демократичным SprutCAM Mach3. Купили, конечно (типа про запас по подарочной цене), но потом нашли пару недостатков, так что используем исключительно ПМ.

Чуть не забыл: промежуточным этапом между g-code и CAM выступает постпроцессор — когда-то отдельная программа, а ныне встроенный модуль всякого пристойного CAMа. Это та самая штука, которая преобразует траекторию CAM в код конкретного станка. О постпроцессоре стоит знать только что он есть, и что у него есть описание, привязанное к конкретной нотации кода, воспринимаемой станком. Условно, некоторые станки просят нумерацию строк, некоторые — «;» в конце каждой строки, некоторые вообще русскими буквами команды принимают, ну и так далее. Для рассматриваемых станков (домашние фрезеры) вне зависимости от того, MACH3, LinuxCNC или NCStudio пойдет стандартный постпроцессор fanuc0i 3axis.

Ну и самый высокий уровень — CAD, он уже совсем далек от станка. Тут выбор почти бесконечен, и даже посвободней, чем в 3D-принтерах, благо фрезеровка идет до поверхности, и на входе CAM может быть не твердотельная модель, а граничная поверхность. Нормальные CAMы почти всеядны и с одинаковым удовольствием втягивают модели из чего попало — от 3DMAX до SolidWorks.

Несколько раз начинал я писать про g-code, но каждый раз забрасывал. С одной стороны, полный g-code неоднозначен, по крайней мере в части циклов: даже разные серии станков одного производителя могут трактовать g-коды разным образом, а в основных кодах все и так понятно. С другой — современная CAM-система позволяет оператору вообще не знать g-кода как класса, обходясь дерганьем мышкой по окошечкам компа. Но когда один из наших операторов (хороший кстати, ВО, опыт и все такое) не справился с задачей «сделать тестовую прогу, которая 1000 раз прогонит шпиндель вверх-вниз на 30 мм», я понял, что хотя бы общее понимание быть должно. Даже если не писать простые программки, то хотя бы чтобы разобрать и отдебажить что там нам постпроцессор написал.

Во-первых, стоит знать, что g-code идет кадрами, каждая строка — кадр. Код

даст переход по линии, соединяющей текущее местоположение и точку x10y20, а код

даст переход по ломаной — сначала в точку (текущее положение, x10), а потом уже в точку x10y20.

Кстати, на втором примере мы можем увидеть свойство модальности: мы можем не писать G1 в начале второй строки, ибо G1 — модален и стойка поймет кадр без кода как дублирующий код предыдущего. Если бы мы пытались пройти по дуге (G2/G3) и так же вторую часть перенесли бы на следующую строку — стойка бы интерпретировала эту строчку как новый кадр G1.

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

И расшифровка: G17 (работаем в плоскости XY) G21 (единицы — миллиметры) G40 (отмена компенсации длины инструмента) G49 (отмена компенсации радиуса инструмента) G54 (работа в первой системе координат) G80 (отмена ранее запущенных постоянных циклов) G90 (работа в абсолютной системе координат). После такой лошадиной дозы команд любой станок очищается от всех возможных грехов, оставшихся с предыдущих обработок, и готов к работе над вашим проектом. Даже если ваш станок не знает ничего про коррекции, не стесняйтесь — на фоне тела программы эти несколько байт сильно размера программе не добавят, станок чужеродные коды просто проигнорирует, зато точно все будет хорошо.

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

Разве что G54 — обозначение работы в первой системе координат. Дело в том, что почти любая стойка по умолчанию поддерживает машинную систему координат (с нулем на концевых датчиках, обычно в углу рабочего стола), и до 6 дополнительных систем координат, задаваемых пользователем. Зачем? Когда Вы работаете в CAM, Вы задаете произвольную нулевую точку — в верхнем левом ближнем углу (так правильней) или в центре заготовки, и вся траектория описывается от этой точки. Если бы станок умел работать только в машинной СК, приходилось бы либо ставить заготовку углом в машинный ноль, либо в CAM задавать ноль в неясной точке, вымерянной относительно реального расположения детали. Зачем целых 6 систем координат? Ну тоже все просто, хотя и реже используется: если стол позволяет установить несколько заготовок, имеет смысл объединить обработки: сначала пройти все заготовки одной фрезой, потом поменять фрезу и снова пройти по всем, ну т.д. Тут и приходит на помощь разные СК: вместо того, чтобы сращивать модели в CAM, можно обозначить разные СК для заготовок и в начале каждой обработки прописать, в какой СК работаем.

Теоретически при ручном написании программы еще может помочь команда G90/G91: выбор абсолютной или относительной системы координат. Тут все тоже боль-мень просто: в G90 станок переходит по заданным в строке координатам, а в G91 — по добавленным к текущим координатам. Так что станок, стоящий в точке X10Y10 на строку G90 G1 x20 перейдет в точку X20, а на строку G91 G1 X20 — в точку X30.

Следующая группа — коды перемещений. Тут все просто, по крайней мере на обсуждаемых станках:

G0 — холостые перемещения, выполняются на максимальной установленной в стойке скорости. Стоит учитывать, что G0 не всегда дает линейное движение, в некоторых стойках при команде G0 X200 Y300 при нахождении в точке X0Y0 рабочий инструмент сначала уходит под 45 градусов в точку X200Y200, и потом по прямой — в Y300. Имеет смысл проверить, как это происходит на Вашем станке, не зная этой тонкости можно случайно врезаться в крепеж или заготовку.

G1 — линейная интерполяция. Тут еще проще, станок движется всегда по прямой между текущей точкой и точкой, обозначенной в коде. Команда предполагает синтаксис G1 X20Y30Z10 F1000, где F — скорость движения в единицах станка (чаще — миллиметры в минуту, но иногда и мм/сек или еще что-нибудь экзотическое). Скорость — модальна, т.е. если Вы указали скорость один раз, она будет действительна для всех последующих строк G1/G2/G3, даже если они разделены, например, G0 или другими кодами.

G2/G3 — круговая интерполяция по часовой или против часовой стрелке. Допустимы два варианта определения: при нахождении станка в точке X0Y0 формат G2 X10Y10R20 построит дугу между текущей точкой и точкой X10Y10 с радиусом 20, формат G2 X35Y25 I20J-5 построит дугу между текущей точкой и X35 Y25 с центром в точке X(текущая точка)+20 Y(текущая точка)-5.
Теоретически, в продвинутых стойках встречается масса других интерполяций — от синуса до гиперболы, но в наших станках и при наличии CAMа это неактуально.

Ну и еще несколько кодов, которые входят в систему ISO 7bit, но не являются g-кодами. Это M03 (включение шпинделя) с аргументом S (скорость вращения), M05 — остановка шпинделя, M07/09 — подача и отключение СОЖ, и M30 — окончание программы.

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

Источник

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

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