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

Постпроцессор для Hermle


Dina

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

Есть постпроцессор для станка Hermle (5-осевой с двумя поворотными столами).

Когда столы не поворачиваются, в УП значения координат А и С нулевые. Задача состоит в том, что если А=0, С=0, то эти координаты в УП не должны выводится.

Т.е. сейчас: G01X1.57Y-.067Z100A0.0C0.0F4000

Должно быть: G01X1.57Y-.067Z100F4000

Как это реализовать?

Заранее спасибо.

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


Есть постпроцессор для станка Hermle (5-осевой с двумя поворотными столами).

Когда столы не поворачиваются, в УП значения координат А и С нулевые. Задача состоит в том, что если А=0, С=0, то эти координаты в УП не должны выводится.

Т.е. сейчас: G01X1.57Y-.067Z100A0.0C0.0F4000

Должно быть: G01X1.57Y-.067Z100F4000

Как это реализовать?

Заранее спасибо.

Можно попробовать пере выводом MOM_before_motion сделать проверку если значения углов меньше какой-то точности (0.000000001), тогда давить вывод этих адресов (MOM_suppres). С именами команд и событий могу ошибиться пишу по памяти.
Ссылка на сообщение
Поделиться на других сайтах

Можно попробовать пере выводом MOM_before_motion сделать проверку если значения углов меньше какой-то точности (0.000000001), тогда давить вывод этих адресов (MOM_suppres). С именами команд и событий могу ошибиться пишу по памяти.

Спасибо, попробую

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

Можно попробовать пере выводом MOM_before_motion сделать проверку если значения углов меньше какой-то точности (0.000000001), тогда давить вывод этих адресов (MOM_suppres). С именами команд и событий могу ошибиться пишу по памяти.

Значение угла - это mom_out_angle_pos?

Я попробовала в MOM_before_motion написать условие. Выдает ошибку.

Не могли бы вы поточнее написать это условие?

Спасибо!

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

Когда столы не поворачиваются, в УП значения координат А и С нулевые. Задача состоит в том, что если А=0, С=0, то эти координаты в УП не должны выводится.

А можно узнать, для чего это надо? :-о

Можно попробовать пере выводом MOM_before_motion сделать проверку если значения углов меньше какой-то точности (0.000000001), тогда давить вывод этих адресов (MOM_suppres). С именами команд и событий могу ошибиться пишу по памяти.

Я бы так делать не стал - можно наткнуться на небольшие косячки и получить большие проблемы в виде зарезанных деталей. ;-)
Ссылка на сообщение
Поделиться на других сайтах

А можно узнать, для чего это надо? :-о

Я понимаю, что наличие этих нулевых параметров на работу станка никак не влияет. Но мне сказали сделать так, чтоб они не выводились!

Если Вам не трудно, подскажите как это можно сделать?

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

Я понимаю, что наличие этих нулевых параметров на работу станка никак не влияет. Но мне сказали сделать так, чтоб они не выводились!

Если Вам не трудно, подскажите как это можно сделать?

Если пишете на на постбилдере (просто в блокноте тоже можно), через Custom Commands создайте свою процедуру:

по if проверяем mom_out_angle_pos(0) и (1) на нулевые значения, если условие выполняется подавляем вывод адресов 4-ой и 5-ой осей командой

MOM_supress ON fourth_axis fifth_axis (синтаксис уточните по справочнику)

Затем вызов данной процедуры добавляем в шаблоны кадров:

Rapid motion

Linear motion

Circular motion

Должно работать!

(только вот если пост 5-ти осевой универсальный, предложенное решение будет "некрасиво" - при 5-ти осевом выводе A0.0 C0.0 также не будут выводиться. Если пост все таки универсальный, то в данную процедуру нужно будет добавить еще одно условие - проверку типа операции на mill_multi_axis...)

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

Если пишете на на постбилдере (просто в блокноте тоже можно), через Custom Commands создайте свою процедуру:

по if проверяем mom_out_angle_pos(0) и (1) на нулевые значения, если условие выполняется подавляем вывод адресов 4-ой и 5-ой осей командой

MOM_supress ON fourth_axis fifth_axis (синтаксис уточните по справочнику)

Затем вызов данной процедуры добавляем в шаблоны кадров:

Rapid motion

Linear motion

Circular motion

Должно работать!

(только вот если пост 5-ти осевой универсальный, предложенное решение будет "некрасиво" - при 5-ти осевом выводе A0.0 C0.0 также не будут выводиться. Если пост все таки универсальный, то в данную процедуру нужно будет добавить еще одно условие - проверку типа операции на mill_multi_axis...)

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

Такие варианты у меня не проскочили (для 4-ех осевого станка), может кто подскажет в чем косяк и что нужно подправить:

global mom_out_angle_pos(0)

if {$mom_out_angle_pos(0) == 0.0} {

MOM_suppress once B

}

и

global mom_out_angle_pos(0)

if {$mom_out_angle_pos(0) == 0.0} {

MOM_suppress once fourth_axis

}

Заранее спасибо!

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

Я понимаю, что наличие этих нулевых параметров на работу станка никак не влияет. Но мне сказали сделать так, чтоб они не выводились!

Если Вам не трудно, подскажите как это можно сделать?

Кажется, до меня дошло... :lighten::biggrin:

Я правильно понял, что у вас 3-ёх осевая обработка, а углы выводятся в КАЖДОМ кадре? :unsure:

Тогда, наверное, вам просто надо, чтобы эти нулевые углы в каждом кадре не выводились?

Это делается гораздо проще - для адресов fourth_axis и fifth_axis надо просто изменить значение

FORCE с ALWAYS на OFF

Такие варианты у меня не проскочили (для 4-ех осевого станка), может кто подскажет в чем косяк и что нужно подправить:

global mom_out_angle_pos(0)

При импорте имени массива (0) не надо ставить, наверное.

Просто

global mom_out_angle_pos

и всё.

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

Кажется, до меня дошло... :lighten::biggrin:

Я правильно понял, что у вас 3-ёх осевая обработка, а углы выводятся в КАЖДОМ кадре? :unsure:

Тогда, наверное, вам просто надо, чтобы эти нулевые углы в каждом кадре не выводились?

Это делается гораздо проще - для адресов fourth_axis и fifth_axis надо просто изменить значение

FORCE с ALWAYS на OFF

При импорте имени массива (0) не надо ставить, наверное.

Просто

global mom_out_angle_pos

и всё.

У меня 5-осевая. Просто бывает так, что один стол поворачивается, а второй - нет. В результате одна координата с нулевым значением, а вторая нет.

До меня сегодня дошло как это сделать :lighten:

Спасибо всем!

Если пишете на на постбилдере (просто в блокноте тоже можно), через Custom Commands создайте свою процедуру:

по if проверяем mom_out_angle_pos(0) и (1) на нулевые значения, если условие выполняется подавляем вывод адресов 4-ой и 5-ой осей командой

MOM_supress ON fourth_axis fifth_axis (синтаксис уточните по справочнику)

Затем вызов данной процедуры добавляем в шаблоны кадров:

Rapid motion

Linear motion

Circular motion

Должно работать!

(только вот если пост 5-ти осевой универсальный, предложенное решение будет "некрасиво" - при 5-ти осевом выводе A0.0 C0.0 также не будут выводиться. Если пост все таки универсальный, то в данную процедуру нужно будет добавить еще одно условие - проверку типа операции на mill_multi_axis...)

Спасибо за помощь!

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

Я понимаю, что наличие этих нулевых параметров на работу станка никак не влияет. Но мне сказали сделать так, чтоб они не выводились!

Если Вам не трудно, подскажите как это можно сделать?

И все же ЗАЧЕМ это надо????

Ведь все те варианты, что тут предлагают в целом правильны, но, ежели у вас будет непрерывная 5-ти оска, которая пройдет через нули по углам, а такое бывает, то вы получите заведомо НЕПРАВИЛЬНУЮ программу (об этом уже здесь говорили)! И это из-за блажи с лишним выводом, который на ПРАВИЛЬНОСТЬ выполнения обработки НИКАК не влияет.

Не понимаю....

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

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

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

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

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

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

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

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

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

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

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




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