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

Вопросы новичка по постпроцессору.


flip

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

1. Можно ли сделать так, чтобы пост сам отделял УП по признаку группировки? 

Поясню: например в навигаторе операций у меня вот вид (см. рисунок). И я хочу при постпроцессировании группы "черновые", чтобы пост создал 4 файла программы (A, B, C, D). При этом операции А_1, А_2 ... А_n входили в состав одной программы  А, как подоперации.

 

Ну т.е. если сейчас я постпроцессирую группу А, то он делает как мне надо. А если вывожу группу "Черновые" то он все пихает в один файл.

 

2. Каким образом настроить вывод определенной команды через определенное количество кадров. Т.е. я, например, хочу каждые 10 кадров выводить машинное время.

 

3. Как форматировать вывод строки. Например вот этой: 

MOM_output_literal ";Mashinnoe vremya: $mom_machine_time"

и вывести время в понятном формате (DD.MM.YYYY HH:MM:SS).

 

post-31919-0-84178000-1380795922.png

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


Ну т.е. если сейчас я постпроцессирую группу А, то он делает как мне надо. А если вывожу группу "Черновые" то он все пихает в один файл.
Ну правильно, что выделил, то и пошло на вывод. Откуда ему знать, что ты хочешь? Может, там группы не по инструменту, не по порядку, а по обрабатываемым участкам, скажем? Разбивать он не умеет. Да и не надо, IMHO. А то потом ненужное будет разбивать.
Т.е. я, например, хочу каждые 10 кадров выводить машинное время.
Вряд ли получится. Поскольку в посте описывается только формат кадра. Т.е. если и возможно задать вывод времени, то только в начале, или в конце, или в каждом кадре. Как задать вывод времени, не в курсе.
Ссылка на сообщение
Поделиться на других сайтах

Можно что угодно сотворить. И через 10 кадров выводить машинное время - не проблема. А по пятницам - через 11 кадров. 

Ссылка на сообщение
Поделиться на других сайтах
Можно что угодно сотворить. И через 10 кадров выводить машинное время - не проблема. А по пятницам - через 11 кадров.
Тогда прошу прощения и удаляюсь. 
Ссылка на сообщение
Поделиться на других сайтах

1. Можно ли сделать так, чтобы пост сам отделял УП по признаку группировки? 

Поясню: например в навигаторе операций у меня вот вид (см. рисунок). И я хочу при постпроцессировании группы "черновые", чтобы пост создал 4 файла программы (A, B, C, D). При этом операции А_1, А_2 ... А_n входили в состав одной программы  А, как подоперации.

 

Ну т.е. если сейчас я постпроцессирую группу А, то он делает как мне надо. А если вывожу группу "Черновые" то он все пихает в один файл.

 

2. Каким образом настроить вывод определенной команды через определенное количество кадров. Т.е. я, например, хочу каждые 10 кадров выводить машинное время.

 

3. Как форматировать вывод строки. Например вот этой: 

MOM_output_literal ";Mashinnoe vremya: $mom_machine_time"

и вывести время в понятном формате (DD.MM.YYYY HH:MM:SS).

Вот старая презентация на подобную тему

Хотя в постбилдере появились понятия подпрограммы. Сам пока не использовал, но покапать ТС есть где.

 

Про время в каждом 10 кадре, это просто. Надо в событии before_motion ввести счетчик и выводить время. Хотя практически не вижу пока в этом смысла. Вот например, перед длинными резаниями (т.е. между врезанием и отводом) может и имеет смысл.

Sub_programm and Fixture Offset .pdf

Ссылка на сообщение
Поделиться на других сайтах
Насчет разбиения. А раздел Programm - Tool Path - Miscellaneous не за это ли отвечает? Я попробовал создать в событии "Start of Subop Path"  свою команду (STSP - наприпер) и в самой операции ввел такую же инструкцию. По логике, что постбилдер увидит в коде эту инструкцию и разобьет по ней УП. Или это совсем не для этого?
 
Про время в каждом 10 кадре, это просто. Надо в событии before_motion ввести счетчик и выводить время. Хотя практически не вижу пока в этом смысла. Вот например, перед длинными резаниями (т.е. между врезанием и отводом) может и имеет смысл.

Что то я никак не могу найти это событие. Не подскажите где рыть, и как примерно описать счетчик ( напомню что я новичок).

 

Да и вопрос с форматированием вывода все еще актуален :) 

post-31919-0-39781600-1380856639.png

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

И еще одни вопрос. Станок Sterlitamak, Sinumeric, c поворотной головкой. Так вот. Эта поворотная головка в ручном режиме может крутиться в любую сторону на любой градус, т.е. расход без ограничений. А по программе диапазон работы лежит в 0-360 градусов. И если по программе траектория попадает на этот переход то станок производит разворот не по кратчайшему пути, а только по своему дипазону. Можно ли как то обойти это ограничение?

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

В постбилдере есть мом-переменная mom_group_name, которая хранит имя группы (в твоем случае, думаю, это будет A, B, C, D). Практически я этого не применял, но рискну предположить, что можно сделать проверку на изменение имени группы, и если таковое имеется, то выводить текст УП в новый файл.

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

 

2. Каким образом настроить вывод определенной команды через определенное количество кадров. Т.е. я, например, хочу каждые 10 кадров выводить машинное время.

  отслеживать before_motion и тупо влепить счетчик и при x= твоему промежутку, выводить время....

 

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

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

Где этот before_motion отследить?

и если таковое имеется, то выводить текст УП в новый файл.
и создавать новый файл...

Блин условие по которому создать я придумаю. Вопрос в том КАК организовать ввывод в НОВЫЙ файл?

Ссылка на сообщение
Поделиться на других сайтах
Блин условие по которому создать я придумаю. Вопрос в том КАК организовать ввывод в НОВЫЙ файл?
set noviy_file [open <имя_файла_с_директорией> w+]

а далее 

puts $noviy_file "<строка, которую надо вывести>"

А вообще, есть одна хорошая книга по TCL, называется Уэлш Б., Джонс К. - Практическое программирование на Tcl и Tk. Советую вам держать ее в качестве настольной книги. 

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

И еще одни вопрос. Станок Sterlitamak, Sinumeric, c поворотной головкой. Так вот. Эта поворотная головка в ручном режиме может крутиться в любую сторону на любой градус, т.е. расход без ограничений. А по программе диапазон работы лежит в 0-360 градусов. И если по программе траектория попадает на этот переход то станок производит разворот не по кратчайшему пути, а только по своему дипазону. Можно ли как то обойти это ограничение?

 

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

Я сам задавался этим вопросом

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

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

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

думаю лучше будет остлеживать лайнер_мов и циркулар_мов, тебе же эти движения нужны ? 

если рапиды то и там можно...

 

по поводу файла 

set tempFileName "test[pid].tcl


 

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

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

 

 

Смысл в том, что при движении координаты "А" когда она переходит 360 и дальше по программе стоит грубо говоря 90, она не поворачивается на 90, а поворачивается на 270 в обратную сторону, надо ставить 450... 

 

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

Ссылка на сообщение
Поделиться на других сайтах
Смысл в том, что при движении координаты "А" когда она переходит 360 и дальше по программе стоит грубо говоря 90, она не поворачивается на 90, а поворачивается на 270 в обратную сторону, надо ставить 450... 
Хм... Тут я только теорию программирования могу привести, как хорошо в свое время решавший задачи по информатике на турбо паскаль. :biggrin:  В данном случае, если это реализуемо, я бы ввел промежуточную переменную, значение которой после каждого поворота рассчитывается как значение А-360, если А больше 360, и оставляет текущее, если А меньше 360. И присваивает это значение переменной А. 
Ссылка на сообщение
Поделиться на других сайтах

 

Смысл в том, что при движении координаты "А" когда она переходит 360 и дальше по программе стоит грубо говоря 90, она не поворачивается на 90, а поворачивается на 270 в обратную сторону, надо ставить 450... 
Хм... Тут я только теорию программирования могу привести, как хорошо в свое время решавший задачи по информатике на турбо паскаль. :biggrin:  В данном случае, если это реализуемо, я бы ввел промежуточную переменную, значение которой после каждого поворота рассчитывается как значение А-360, если А больше 360, и оставляет текущее, если А меньше 360. И присваивает это значение переменной А. 

 

 

как программисту мне видется куча вариантов решения данной задачи, но выбирать ни нам с Вами)))

мне сказали что это надо в тисках биты какие то менять, надо созваниваться с поставщиками и они проконсультируют, чтобы стол понимал, что надо по кратчайшему пройти, а не вертеться постоянно )))

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

 

PS Согласен, что не всегда закономерность можно вывести. На нашем HAAS вот американском почему-то иногда объединяет два кадра быстрых перемещений (по Z, потом по XY), если эти перемещения происходят при отрицательном значении Z. После нескольких зарезов (было просто сначала подозрение на обыкновенный сбой) пришлось отвод и переход всегда закладывать по плоскости безопасности. "Заставлял" наладчика покопаться в настройках, ничего не нашел.

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

 

PS Согласен, что не всегда закономерность можно вывести. На нашем HAAS вот американском почему-то иногда объединяет два кадра быстрых перемещений (по Z, потом по XY), если эти перемещения происходят при отрицательном значении Z. После нескольких зарезов (было просто сначала подозрение на обыкновенный сбой) пришлось отвод и переход всегда закладывать по плоскости безопасности. "Заставлял" наладчика покопаться в настройках, ничего не нашел.

 

Это особенность haas, в доках к станку все описано, сделано это для якобы сокращения времени перемещения, тот кто делал эту функцию не догадывался о том что на Ж0 можно кататься "внутри" обрабатываемой зоны и то что его долбаное перемещение может похерить деталь. А когда подумали уже было позно пришлось в документации дописать еще 1 пунктик. Для хаса я вообще отказался от g0 задаю все быстрые перемещения через g1.

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

 

 

Смысл в том, что при движении координаты "А" когда она переходит 360 и дальше по программе стоит грубо говоря 90, она не поворачивается на 90, а поворачивается на 270 в обратную сторону, надо ставить 450... 
Хм... Тут я только теорию программирования могу привести, как хорошо в свое время решавший задачи по информатике на турбо паскаль. :biggrin:  В данном случае, если это реализуемо, я бы ввел промежуточную переменную, значение которой после каждого поворота рассчитывается как значение А-360, если А больше 360, и оставляет текущее, если А меньше 360. И присваивает это значение переменной А. 

 

 

как программисту мне видется куча вариантов решения данной задачи, но выбирать ни нам с Вами)))

мне сказали что это надо в тисках биты какие то менять, надо созваниваться с поставщиками и они проконсультируют, чтобы стол понимал, что надо по кратчайшему пройти, а не вертеться постоянно )))

 

 

 

Раскрой пожалуйста тайну, командарм - где в ТИСКАХ биты находятся? ))))))))))))))))))

Ссылка на сообщение
Поделиться на других сайтах
где в ТИСКАХ биты находятся?
 Ну, немножко человек неправильно выразился. Что тут такого? Когда стол четвертой оси (те самые тисы) управляется через ЧПУ, то где-то это биты забиты )))
Это особенность haas, в доках к станку все описано,
Жаль, я думал, это настраивается, только где-то ооочень глубоко.
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • IGor2D
      По итогу...: По гарантии приехали и поправили только точность реза, остальное не смогли исправить, нужен инженер с HSG. Глючный однако китаец, пытается сам себя сломать.
    • Gmv
      По кнопке FTP стойка имеет 6 страниц для трех разных хостов. Где можно указать IP , имя, пароль 1страница. каталог 2 страница. Больше настроек не нашел.
    • gudstartup
      на фануке настраиваете доступ по ftp на соответствующей вкладке  и также расшариваете папку  вашим сервером и все прекрасно работает.
    • gudstartup
      симулятор предполагает взаимодействие как с чпу так и со станком посредством другой plc программы иначе вам придется самому управлять входами и выходами а это непросто.    
    • Gmv
      У кого есть опыт организации FTP именно на станке? Стойка 0i-MF plus   Сейчас пока сервер настроен на компе, и то не до конца. файлы видны, извлечь их или скопировать в память станка не выходит. Но операторы уже сразу возмущены,  им проще бегать с USB флешкой и нажимать одну кнопку, чем прыгать по папкам. На хаасе это реализовано классно, он создает сетевой диск и полный доступ и со стойки с пк. Хотелось бы подобного.
    • Guhl
      Я нормально проекты писал и отлаживал на эмуляторе Балт-Систем На Heidenhain, насколько я понял, работает симулятор с их сайта в связке с PLC design @gudstartup пользовался этим вот в этой ветке
    • ID_Hacker
      Ну уж балт-систем то не надо сюда. Там такое ущербное всё, что аж страшно вспомнить. Haidenhain эмулятор где взять, подскажете? А как отработать взаимодействие между NC и PLC, действия где работают и оси и механизмы электроавтоматики. Сам хочу попробовать Run my virtual machine, да всё времени нет.
    • Bot
      Данное приложение разработано на языке Visual Basic с использованием программного интерфейса NX Open API и предназначено для использования в САПР Siemens NX, начиная с версии 2000. Стиль интерфейса пользователя идентичен стилю САПР Siemens NX. View the full article
    • Jesse
      @ГЕЛА Ещё можно посчитать в балках и учесть влияние отверстия через коэффициент концентрации напряжений..) Но у вас отверстие на всю стенку, так что лучше, проще и быстрее посчитать всё это дело в оболочках как выше сказали. Скругления перехода от стенки к полке удалите и в запас считайте.
    • 5axisCNC
      Можно плоскость дна задать множеством вариантов например точка направление
×
×
  • Создать...