что такое модальные g коды

§ 11. Модальность. Группы кодов

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

На фрагменте ниже программируется ускоренное перемещение (G0) в точку на безопасной плоскости, после чего происходит переключение на режим рабочего движения фрезы (кадр N30).
.
N10 G0 X0 Y0
N20 Z10
N30 G1 Z5 F100
N40 X10 Y5.5
.

В кадрах N20 и N40 движение происходит на режимах заданных кадром выше. Соответственно по принципу модальности вывод G0 и G1 в этих кадрах не нужен. В кадре N30 также задается скорость перемещения фрезы 100 мм/мин. Она будет действовать пока не встрится новое значение с адресом F или изменен режим движения.

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

Группы кодов вспомогательных функций:

Группы кодов подготовительных функций:

Источник

Домашний ЧПУ-фрезер как альтернатива 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.

Источник

G09, G61, G62, G64, G60 G-Code: точный останов и защита от люфта

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

G09 / G61 G-код: проверка точного останова

Зачем это нужно и почему элемент управления не всегда работает в режиме проверки точной остановки?

Во время типичной контурной операции направление движения резания меняется довольно часто. В этом нет ничего необычного, со всеми пересечениями, точками касания и зазорами. При контурной обработке это означает, что для программирования острого угла детали движение инструмента по оси X в одном кадре должно измениться на движение по оси Y в следующем кадре. Чтобы перейти от одного режущего движения к другому, система управления должна сначала остановить движение по оси X, а затем начать движение по оси Y. Поскольку невозможно мгновенно запустить полную скорость подачи без ускорения, а также невозможно остановить подачу без замедления, возможна ошибка резания. Эта ошибка может привести к резке острых углов на контуре детали с нежелательным перерегулированием, особенно при очень высоких скоростях подачи или очень узких углах. Это происходит только во время движения резания в режиме G01, а также в режимах G02 и G03, но не в режиме ускоренного движения G00. Во время быстрого движения замедление движения происходит автоматически — и в сторону от детали.

Учтите, что резкие маневры на высокой скорости могут превысить возможности машины по ускорению, заставляя ее отставать и начинать попытки догнать с помощью контура обратной связи сервопривода. Проверка точной остановки просто заставляет машину закрыть ошибку (расстояние от заданного положения до фактического положения) до нуля перед продолжением. Недостатком является то, что это может замедлить работу программы без уважительной причины. Например, при черновой обработке необязательно, чтобы станок был точно намечен. Роль чистового прохода заключается в устранении неточностей чернового прохода. Думайте о Exact Stop Check как о чем-то, что есть в вашем наборе инструментов, чтобы вытащить, если вы знаете, что у вас есть проблема, либо потому, что вы видите проблему в деталях, либо потому, что по опыту знаете, что вы увидите проблемы.

Проверка точной остановки доступна в двух формах. G09 — это однократная команда, а G60 — модальная команда. Когда вы указываете G61, это как если бы точная проверка остановки происходит в конце каждого движения, которое делает машина.

G-код G64: отменить точную остановку

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

G-код G60: движение в одном направлении (защита от люфта)

Говоря о решениях проблем в нашем наборе инструментов, давайте поговорим об однонаправленных движениях. У каждой машины есть люфт, вопрос в том, «сколько и что нам с этим делать?» Типичное ЧПУ, которое работает в хорошем состоянии, имеет настолько небольшой люфт, что это не имеет большого значения для большинства операций. Тем не менее, здесь есть некоторый люфт, и есть некоторые операции, которые должны быть очень точными, поэтому мы хотим иметь возможность выполнять их без ошибки люфта. Это время, когда мы вытаскиваем G60 из нашего набора инструментов и пробуем односторонние движения.

Люфт появляется только тогда, когда мы меняем направление. Мастера-механики привыкли работать на станках с большим люфтом — настолько сильным, что подъемное фрезерование на таких станках может быть опасным. И все же им удается делать очень точную работу. Причина в том, что они знают, что нужно подходить к пропилу только с одного направления после устранения всех люфтов. Если они должны изменить направление, они оттягиваются достаточно далеко, чтобы пройти обратный ход, преодолев любой люфт, прежде чем начать резку. Это в основном то, что G60 делает для ЧПУ.

Какие операции требуют такой точности?

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

G60 работает, принимая координату XYZ, поэтому движения выглядят примерно так:

Эти маленькие фрагменты кода перемещаются к Y0Y0 с порогами, затем заставляют G60 перемещаться вправо на 1 дюйм, за которым следует возврат к 0, и завершается перемещением вверх на 1 дюйм. Мы должны указать G60 в каждой строке, потому что G60 — это однократный g-код, а не модальный g-код.

Точные команд останова G09 / G61 и их использование

Команда точного останова (G09) и примеры

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

В примере программы O1301 ускорение и замедление не предусмотрено. Это может вызвать неровные углы из-за довольно высокой скорости подачи F90.0 (дюйм / мин):

O1301 (ОБЫЧНАЯ РЕЗКА)

N13 G00 X15.0 Y12.0
N14 G01 X19.0 F90.0
N15 Y16.0
N16 X15.0
N17 Y12.0

Если добавить в программу команду точного останова G09, движение в этом кадре будет полностью завершено до того, как начнется движение по другой оси — O1302:

O1302 (G09 РЕЗКА)

N13 G00 X15.0 Y12.0
N14 G09 G01 X19.0 F90.0
N15 G09 Y16.0
N16 G09 X15.0
N17 Y12.0

Пример O1302 гарантирует острый угол во всех трех положениях детали. Если только один угол критичен для резкости, запрограммируйте команду G09 в кадре, который заканчивается в этом углу — O1303:

O1303 (G09 РЕЗКА)

N13 G00 X15.0 Y12.0
N14 G01 X19.0 F90.0
N15 G09 Y16.0
N16 X15.0
N17 Y12.0

Команда G09 полезна только в том случае, если несколько блоков требуют замедления для крутого поворота. Для программы, в которой все углы должны быть точными, постоянное повторение G09 не очень эффективно.

Команда режима точной остановки (G61) и пример

Вторая команда, исправляющая ошибку на острых углах, — это G61 — Режим точного останова. Он намного эффективнее G09 и работает идентично. Основное отличие состоит в том, что G61 — это модальная команда, которая остается в силе до тех пор, пока она не будет отменена командой режима резки G64. G61 сокращает время программирования, но не время цикла. Это наиболее полезно, когда G09 будет повторяться слишком много раз в одной программе, что делает ее излишне слишком длинной — O1304.

O1304 (G61 РЕЗКА)

N13 G00 X15.0 Y12.0
N14 G61 G01 X19.0 F90.0
N15 Y16.0
N16 X15.0
N17 Y12.0
N18 G64

Обратите внимание, что пример программы O1304 идентичен по результатам программе O1301. В обоих случаях проверка точного останова применяется ко всем движениям резания — немодально в программе O1301, модально в программе O1304. Также обратите внимание на дополнительный блок — N18. Используется команда G64 — нормальный режим резки. Нормальный режим резки является настройкой по умолчанию при включении питания машины и обычно не программируется. На рисунке показано движение инструмента с командой G09 / G61 и без нее. Показанная величина большого перерегулирования преувеличена только для иллюстрации, на самом деле она очень мала.

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

Автоматическая коррекция угла

Хотя для фрез действует смещение радиуса фрезы, скорость подачи в точках изменения контура обычно не отменяется. В таком случае можно использовать подготовительную команду G62 для автоматического изменения скорости подачи резания в углах детали. Эта команда активна до тех пор, пока не будет запрограммирована команда G61 (режим проверки точного останова), команда G63 (режим нарезания резьбы) или команда G64 (режим резания).

Режим нажатия

Программирование в режиме нарезания резьбы G63 заставит систему управления игнорировать любые настройки переключателя коррекции скорости подачи, кроме настройки 100%. Это также приведет к отмене функции клавиши фиксации питания, расположенной на панели управления. Режим нарезания резьбы будет отменен путем программирования команды G61 (проверка точного останова), команды G62 (выбор режима автоматической коррекции угла) или команды G64 (выбор режима резания).

Режим резки

Когда режим резки G64 запрограммирован или активен по умолчанию, он представляет собой нормальный режим резки. Когда эта команда активна, проверка точного останова G61 не будет выполняться, равно как и автоматическая коррекция угла G62 или режим нарезания резьбы G63. Это означает, что ускорение и замедление движения будут выполняться в обычном режиме (в соответствии с системой управления), и будет действовать коррекция скорости подачи. Это наиболее распространенный режим по умолчанию для типичной системы управления.

Режим резки можно отменить, запрограммировав следующие команды: G61 (режим точного останова), G62 (режим автоматической коррекции угла) или G63 (режим нарезания резьбы).

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

Источник

G90 и G91 G-Code: абсолютные и относительные системы координат

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

В чем разница между G90 и G91, абсолютной и относительной системой координат?

Начнем с определения G90 и G91. Абсолютные координаты отсчитываются от нуля программы, от начала. Относительные ходы отсчитываются от текущей позиции. Мы только что рассмотрели движения по круговой дуге с использованием G02 и G03. Координаты центра дуги, выраженные I и J, являются относительными координатами.

А теперь более практический пример. Предположим, вы находитесь в продуктовом магазине и спрашиваете продавца, в каком проходе находится печенье. Если он отвечает: «Иди в ряд 14 за печеньем», это абсолютная координата относительно первого прохода — «нулевой части» продуктового магазина.

Если вместо этого он ответит: «Это три прохода в ту сторону», это будет инкрементная координата. Мы привыкли к обоим видам в повседневной жизни, и оба могут быть полезны в зависимости от ситуации.

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

Переключение между относительными и абсолютными координатами

Как мы можем переключаться между относительными и абсолютными координатами? Обычный способ — использовать G90 для использования абсолютных координат и G91 для использования относительных координат. Например:

G90 (переход к абсолютным координатам)

G0 X0Y0Z0 (перейти к исходной точке программы в 0, 0, 0)

G91 (переход в относительные координаты)

G0 X1Y1 (Переместите одну единицу вправо по X и одну единицу вправо по Y)

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

Предыдущая программа включает в себя как абсолютное перемещение к X0Y0Z0, так и относительное перемещение. Как видите, G90 и G91 являются модальными.

Какой режим мой контроллер использует по умолчанию?

Интересно, что большинство элементов управления запускаются в относительном / локальном режиме (G91). Это сделано потому, что считается более безопасным, если режим не соответствует вашим ожиданиям. Обязательно убедитесь, что первое, что вы сделаете в своей программе, — это установите для нее значение G90 или G91, чтобы она работала так, как вы ожидаете!

Использование кодов UVW для относительных координат

Некоторые контроллеры позволяют активировать оба стиля одновременно с помощью UVW. Мы могли бы написать предыдущую программу так:

G90 (переход к абсолютным координатам)

G0 X0Y0Z0 (перейти к исходной точке программы в 0, 0, 0)

G0 U1V1 (Переместите одну единицу вправо по X и одну единицу вправо по Y)

Этот формат UVW удобен и немного короче. Мы уже упоминали контроллеры, в которых I и J являются относительными, что аналогично UVW, хотя и предназначено для определения центра дуги.

G91 G90 Почему я должен использовать локальные и абсолютные ходы?

Рассмотрим пару случаев.

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

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

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

Упражнения

1. Напишите программу G-кода, которая подает фрезу вокруг прямоугольника размером 10 на 10 мм с центром в 10, 10. Используйте абсолютные координаты.

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

3. Определите, позволяет ли ваш элемент управления перемещаться UVW, и если да, перепишите # 2, чтобы использовать их, не вызывая G91 для переключения на относительные координаты.

Источник

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

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