Перейти к публикации

Пост процессор под MACH3


Razer

Рекомендованные сообщения

Доброго времени суток. Столкнулся с проблемой. Уже давно моделирую в UG и не хочу с него слезать. Занялся тут построением своего станка, софт под него (управляющая программа) - MACH3. Теперь встала проблема генерации G-кода под него. обычный постпроцессор Mill_3axis не делает для него перевариваемый G-код. Подскажите, есть ли постпроцессор конкретно для Mach3, или какие есть решения моей проблемы? сам вообще никогда не сталкиваля с постпроцессорами =( Вот так вот все готово а оживить для дела не могу :cry_1:

Ссылка на сообщение
Поделиться на других сайтах


обычный постпроцессор Mill_3axis не делает для него перевариваемый G-код.

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

Вот так вот все готово а оживить для дела не могу :cry_1:

:blink: Оживить?!... Да не реви ты сходи <noindex>вот сюда</noindex> и оживись ))))
Ссылка на сообщение
Поделиться на других сайтах

%

N0010 G40 G17 G90 G70

N0020 G91 G28 Z0.0

:0030 T00 M06

N0040 G0 G90 X1.4852 Y.6657 S0 M03

N0050 G43 Z.3937 H00

N0060 Z.1181

N0070 G3 X1.4852 Y.6657 Z-.0311 I.0305 J.0831 K.0237 F9.8

N0080 X1.5157 Y.6603 Z-.0394 I.0305 J.0831 K.0237

N0090 G1 X2.4107 M08

N0100 Y.7571

N0110 X.6208

N0120 Y.6603

N0130 X1.5157

N0140 Y.5622

N0150 X2.5087

N0160 Y.8551

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

Методом исключения строе на которые ругается постпроцессор выявил следующие непонятки

Собственно вопросы

1) впервый раз программа встает когда видит строку :0030 T00 M06. Пишет Bad character used on line #3

2) Далее встает на строке N0070. пишет K word given for arc in xy plane on Line number #6. Замечу что на переменную К в строке 0080 не ругается.

Ну и дальше встает тоже на строках начинающихся на G3 и тоже ругается K word...

3) программа начинается с % и заканчивается им же. на этом месте не встает, но вопрос ради повышения образованности - нафиг эти знаки?

А оживить хочется не себя а свое творение. влить в него поток электронов дабы зашевелилось =)

Ссылка на сообщение
Поделиться на других сайтах

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

Методом исключения строе на которые ругается постпроцессор выявил следующие непонятки

Собственно вопросы

1) впервый раз программа встает когда видит строку :0030 T00 M06. Пишет Bad character used on line #3

2) Далее встает на строке N0070. пишет K word given for arc in xy plane on Line number #6. Замечу что на переменную К в строке 0080 не ругается.

Ну и дальше встает тоже на строках начинающихся на G3 и тоже ругается K word...

3) программа начинается с % и заканчивается им же. на этом месте не встает, но вопрос ради повышения образованности - нафиг эти знаки?

А оживить хочется не себя а свое творение. влить в него поток электронов дабы зашевелилось =)

Приведи как должна выглядеть УП или скинь рабочую УП на другую деталь

Скидывай файл prt с обработкой. Какой станок - фрезерный 3-х координатный?

Ссылка на сообщение
Поделиться на других сайтах

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

Да. фрезер трехкоординатный. под УП MACH3

Станок.rar

Ссылка на сообщение
Поделиться на других сайтах

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

Да. фрезер трехкоординатный. под УП MACH3

Надо рабочую УП со станка для примера
Ссылка на сообщение
Поделиться на других сайтах

у меня ее нет, в том то и дело =( есть нечто простенькое из хелпа

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

Еще вопрос, ваш станок/стойка винтовую интерполяцию поддерживает?

Какие настройки вашего Mach3 для круговой интерполяции? Можно просто скриншот экрана настройки

Ссылка на сообщение
Поделиться на других сайтах

Нужно простенькие примеры

Еще вопрос, ваш станок/стойка винтовую интерполяцию поддерживает?

Какие настройки вашего Mach3 для круговой интерполяции? Можно просто скриншот экрана настройки

вообще мач поддерживает винтовую траекторию, конечно. скриншот экрана настройки не могу пока сделать, комп на работе.

Вот простенький код работающий

%

N10M8

N20M3S24000

N30G00X0.000Y0.000Z30.000

N40G00X47.721Y347.878Z30.000

N50G01Z-3.600F240.0

N60G01X47.721Y347.878Z-3.600F240.0

N70G3X111.410Y348.130I79.000J491.000

N80G3X221.997Y522.845I79.000J491.000

N90G3X47.721Y634.122I79.000J491.000

N100G2X46.531Y634.886I47.508J635.099

N110G2X47.294Y636.076I47.508J635.099

N120G2X111.852Y635.821I79.000J491.000

N130G2X223.949Y458.721I79.000J491.000

N140G2X47.294Y345.924I79.000J491.000

N150G2X46.531Y347.115I47.508J346.901

N160G2X47.721Y347.878I47.508J346.901

N170G00Z30.000

N180G00X0.000Y0.000

N190M5

N200M50

N210M30

%

и в приложенном файле еще код. на комментарии можно не обращать внимание

1.txt

Ссылка на сообщение
Поделиться на других сайтах

вообще мач поддерживает винтовую траекторию

Пример в народ

Вот простенький код работающий

Странный работающий код. Инструмента нигде нет. Станок одноинструментальный?

UPD

Странная круговая интерполяция в IJ записаны центра окружности в абсолюте? Надо все же уточнить формат круговой интерполяции

Ссылка на сообщение
Поделиться на других сайтах

Прошу прощения, что опустил это - да, станок одноинструментный.

ну и еще раз прошу прощения, но выкадываю кусок из мануала по MACH3 касательно G3. Сам прочел. есть мысль что перед каждым G3 надо ставить G17... но опять встает как это реализовать..

в общем вот описание (еще раз тысячу извинений, но больше проконсультироваться не с кем... =( )

10.7.3 Дуга на уровне подачи - G2 и G3

Круговая или эллипсная дуга описывается с помощью G2 (дуга по часовой стрелке) или G3 (дуга против часовой стрелки). Ось окружности или эллипса должна быть параллельна оси X, Y или Z координатной системы станка. Ось (или как вариант плоскость перпендикулярная оси) выбирается с помощью G17 (Z-ось, XY-плоскость), или G19 (X-ось, YZ-плоскость). Если дуга округлая, то она лежит на плоскости параллельной к выбранной плоскости. Если строка кода делает дугу и включает вращательное движение по оси, то вращательная ось включается на постоянном уровне так что вращательное движение начинается и оканчивается когда XYZ движение начинается и оканчивается. Строки такого типа врядли когда нибудь будут писаться.

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

Для описания дуги допускается два формата. Мы будем называть их форматом центра и форматом радиуса. Для обоих G2 или G3 необязательно если это текущий режим движения.

10.7.3.1 Дуга формата радиуса

В формате радиуса, координаты конечной точки дуги в выбранной плоскости определяются вместе с радиусом дуги. Пишите G2 X~ Y~ Z~ A~ B~ C~ R~ (или G3 вместо G2). R это радиус. Все названия осей необязательны, за исключением того что хотя бы одно из двух выражения для осей в выбранной плоскости должно использоваться. Положительный радиус показывает что ось поворачивает на 180 градусов или меньше, а отрицательный радиус обозначает поворот от 180 до 359.999 градусов. Если ось эллиптическая, то значение точки окончания дуги на координатах оси параллельной к оси эллипса также указывается.

Является ошибкой:

- оба названия оси для осей выбранной плоскости пропущены

- точка окончания дуги та же, что и текущая точка

Программировать дуги формата радиуса которые являются почти полными окружностями или полукругами (лил почти полукругами) это плохая мысль, так как небольшое изменение в расположении точки окончания совершит намного большее изменение в положении центра окружности (и следовательно середины дуги). Эффект увеличения достаточно велик, чтобы ошибка в числе вращения сделала надрезы, выходящие за рамки допустимых. Почти полные окружности возмутительно плохи, полукруги (или почти) всего лишь очень плохи. Дуги другого размера (в пределах от небольшого до 165 градусов или от 195 до 345 градусов) вполне допустимы. Вот пример команды формата радиуса для вырезания дуги:

G17 G2 x 10 y 15 r 20 z 5

Это означает создание округлой или элиптической дуги по часовой стрелке (как видно из положительного значения оси Z), чья ось параллельна оси Z, оканчивающейся в точке X=10, Y=15 и Z=5 с радиусом 20. Если начальное значение Z равно 5, то это дуга окружности параллельной плоскости XY; если нет, то это эллиптическая дуга.

10.7.3.2 Дуга формата центра

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

Является ошибкой:

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

Центр определяется с использованием выражений I и J. Есть два пути их интерпретации. Обычный путь, это когда I и J являются центром по отношению к текущей точки в начале дуги. Это иногда называется режимом Инкрементации IJ. Второй путь, это когда I и J определяют центр как действительные координаты в текущей системе. Это называется Режимом Абсолютных IJ. Режим IJ задается из меню Настройка->Состояние при настройке Mach3. Выбор режимов нужен для обеспечения совместимости с промышленными контроллерами. Возможно Инкрементация будет лучшим выбором. В Абсолютном режиме обычно прийдется использовать оба выражения I и J если только по случайности центр дуги не окажется в начальной точке.

Когда выбрана плоскость XY, впишите G2 X~ Y~ Z~ A~ B~ C~ I~ J~ (или используйте G3 вместо G2). Все названия осей необязательны, за исключением того, что хотя бы одна из X или Y должна присутствовать. I и J это отступы от текущего положения или координат - в зависимости от режима IJ (направления X и Y) центра окружности. I и J необязательны, за исключением того, что хотя бы одна из них должна присутствовать.

Является ошибкой:

- X и Y обе пропущены

- I и J обе пропущены

Когда выбрана плоскость XZ, впишите G2 X~ Y~ Z~ A~ B~ C~ I~ K~ (или используйте G3 вместо G2). Все названия осей необязательны, за исключением того, что хотя бы одна из X или Z должна присутствовать. I и K это отступы от текущего положения или координат - в зависимости от режима IJ (направления X и Z) центра окружности. I и K необязательны, за исключением того, что хотя бы одна из них должна присутствовать.

Является ошибкой:

- X и Z обе пропущены

- I и K обе пропущены

Когда выбрана плоскость YZ, впишите G2 X~ Y~ Z~ A~ B~ C~ J~ K~ (или используйте G3 вместо G2). Все названия осей необязательны, за исключением того, что хотя бы одна из Y или Z должна присутствовать. J и K это отступы от текущего положения или координат - в зависимости от режима IJ (направления Y и Z) центра окружности. J и K необязательны, за исключением того, что хотя бы одна из них должна присутствовать.

Является ошибкой:

- X и Y обе пропущены

- I и J обе пропущены

Вот пример команды формата центра для окружности в режиме Инкрементации IJ:

G17 G2 x10 y16 i3 j4 z9

Это означает создание округлой или элиптической дуги по часовой стрелке (как видно из положительного значения оси Z), чья ось параллельна оси Z, оканчивающейся в точке X=10, Y=16, Z=9 с отступами центра в направлении Х на 3 единицы от текущего положения Х и отступом в направлении Y на 4 единицы от текущего положения Y. Если текущее положение Х=7 Y=7, то центр будет находиться в точке Х=10 Y=11. Если начальное значение Z равно 9, то это дуга окружности; если нет, то это эллиптическая дуга. Радиус этой дуги будет равен 5.

Эта дуга в режиме Абсолютных IJ будет выглядеть так:

G17 G2 x10 y16 i10 j11 z9

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

Ссылка на сообщение
Поделиться на других сайтах

Вот первый прикидочный вариант. В прикреплении пример (который вы выкладывали выше) и пост

razer.rar

Ссылка на сообщение
Поделиться на других сайтах

Круто! Mach съел программку с юджика без претензий вообще! Благодарю! Но вот вопрос, посмотрел код - получается вы сделали спирали маленькими отрезками прямых. тоесть без злосчастных G2 и G3. встает вопрос дискретности. ведь G2 и G3 задают радиус по которому идет инструмент. Я понимаю что и там есть микрошаг, но ведь в вашем случае для спирали диаметров 12 мм у меня получился девятигранник. нет ли все-таки возможности не обходить базовые команды G2 и G3?

Ссылка на сообщение
Поделиться на других сайтах

Круто! Mach съел программку с юджика без претензий вообще! Благодарю! Но вот вопрос, посмотрел код - получается вы сделали спирали маленькими отрезками прямых. тоесть без злосчастных G2 и G3. встает вопрос дискретности. ведь G2 и G3 задают радиус по которому идет инструмент. Я понимаю что и там есть микрошаг, но ведь в вашем случае для спирали диаметров 12 мм у меня получился девятигранник. нет ли все-таки возможности не обходить базовые команды G2 и G3?

Спираль будем делать в понедельник. Главное что он эту программу проглотил

Ваша огранка зависит от допуска внутр/наружу заданная в операции

Ссылка на сообщение
Поделиться на других сайтах

ну если я ставлю нулевые допуски при чистовой обработке то получаю длиннющий код =) Работает, и это хорошо! Но если будет возможность сделать G2 G3 то благодарности моей не будет границ! =)

И еще - а вообще как вы все это делаете? как постпроцессоры строятся, может есть где почитать про это?

Ссылка на сообщение
Поделиться на других сайтах

ну если я ставлю нулевые допуски при чистовой обработке то получаю длиннющий код =) Работает, и это хорошо! Но если будет возможность сделать G2 G3 то благодарности моей не будет границ! =)

Прочитал вчера документацию, которую вы выкладывали выше. Не уловил про винтовую интерполяцию. Включил в пост винтовую интерполяцию, в итоге выдает G2/3 XYZIJK подумал, что что то не так. Поэтому выложите пример готовой-работающей УП с винтовой интерполяцией и будет тогда счастья.

ну если я ставлю нулевые допуски при чистовой обработке то получаю длиннющий код =)

Ну это вы сурово про нулевой допуск)))) мы не такие, я на чистовой ставлю +/- 0.001

Еще как вариант не использовать винтовое врезания, а засверливаться и фрезеровать из отверстия или врезаться с "воздуха".

И еще - а вообще как вы все это делаете? как постпроцессоры строятся, может есть где почитать про это?

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

Алексей, я гляжу ты в своем стиле все..... Туториалом поделишься я надеюсь? :)

Ссылка на сообщение
Поделиться на других сайтах

Алексей, я гляжу ты в своем стиле все..... Туториалом поделишься я надеюсь? :)

У нас же тут опен соурс - буть он не ладен)))). А так прикольно может получиться построцессоры в картинках. Хотя тех презентаций далекого 2004 года вполне может хватить для начала (мне же хватило)
Ссылка на сообщение
Поделиться на других сайтах

У нас же тут опен соурс - буть он не ладен)))). А так прикольно может получиться построцессоры в картинках. Хотя тех презентаций далекого 2004 года вполне может хватить для начала (мне же хватило)

В следующий мой приезд в ваш славный город, в Хуторке, гляди за мной внимательнее - ибо ей Богу - буду пытаться отравить! :)

Ссылка на сообщение
Поделиться на других сайтах

выложите пример готовой-работающей УП с винтовой интерполяцией и будет тогда счастья.

Эм.. дак в сообщении 9 этой ветки от Feb 21 2012, 0:05 уже цеплял ведь и кусок программы и целую программу в приложеном txt с работающими G2 и G3... :sad:

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...