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

как реализовать обмер инструмента в программе?


Ashmonin

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

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

Стоит у нас контактный датчик renishaw. И вот недавно задался вопросом автоматизированного обмера в программе. Скажем делаете Вы много много пазов в детали по одной программе, а фреза всё садится и садится...Недавно вот столкнулся с данной проблемой. Не знал с чего начать. В итоге решил реализовать это в постпроцессоре: в свойствах операции создаю атрибут с конкретным заголовком ну скажем renishow а в его значение 1, 2 или 3(обмер по длине, по радиусу или длине и радиусу). В итоге в УП заносится такой кадр "G65 P9853 B2. T16. D16. S6.00000000000000000. I3.0;"(или что то вроде), причем B,T, D,S и I передаются из NX. Навыков в написании постов маловато и не знаю теперь как считывать атрибут renishaw каждый раз, ведь считал NX переменную mom_attr_OPER_RENISHAW, а в следующей операции в группе программ уже не считывает так как она уже есть.Получается если для первой операции в группе я задал делать обмер, то и в последующих операциях обмер будет. Подскажите что же делать?

Очень интересно реализация обмера через пост(опыта набраться немного на таких задачках) но так же интересует реализация "правильная". Может я изобретаю велосипед и это можно сделать другими средствами NX?

листинг программы:

global mom_attr_OPER_RENISHAW

global mom_tool_diameter

global mom_tool_number

if { [info exists mom_attr_OPER_RENISHAW] } {

MOM_set_seq_off

switch $mom_attr_OPER_RENISHAW {

1 { MOM_output_literal "G65 P9853 B1. T$mom_tool_number."}

2 { MOM_output_literal "G65 P9853 B2. T$mom_tool_number. D$mom_tool_number. S$mom_tool_diameter. I[expr $mom_tool_diameter/2.]"}

3 { MOM_output_literal "G65 P9853 B3. T$mom_tool_number. D$mom_tool_number. S$mom_tool_diameter. I[expr $mom_tool_diameter/2.]"}

}

}

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


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

Стоит у нас контактный датчик renishaw. И вот недавно задался вопросом автоматизированного обмера в программе. Скажем делаете Вы много много пазов в детали по одной программе, а фреза всё садится и садится...Недавно вот столкнулся с данной проблемой. Не знал с чего начать. В итоге решил реализовать это в постпроцессоре: в свойствах операции создаю атрибут с конкретным заголовком ну скажем renishow а в его значение 1, 2 или 3(обмер по длине, по радиусу или длине и радиусу). В итоге в УП заносится такой кадр "G65 P9853 B2. T16. D16. S6.00000000000000000. I3.0;"(или что то вроде), причем B,T, D,S и I передаются из NX. Навыков в написании постов маловато и не знаю теперь как считывать атрибут renishaw каждый раз, ведь считал NX переменную mom_attr_OPER_RENISHAW, а в следующей операции в группе программ уже не считывает так как она уже есть.Получается если для первой операции в группе я задал делать обмер, то и в последующих операциях обмер будет. Подскажите что же делать?

Очень интересно реализация обмера через пост(опыта набраться немного на таких задачках) но так же интересует реализация "правильная". Может я изобретаю велосипед и это можно сделать другими средствами NX?

листинг программы:

global mom_attr_OPER_RENISHAW

global mom_tool_diameter

global mom_tool_number

if { [info exists mom_attr_OPER_RENISHAW] } {

MOM_set_seq_off

switch $mom_attr_OPER_RENISHAW {

1 { MOM_output_literal "G65 P9853 B1. T$mom_tool_number."}

2 { MOM_output_literal "G65 P9853 B2. T$mom_tool_number. D$mom_tool_number. S$mom_tool_diameter. I[expr $mom_tool_diameter/2.]"}

3 { MOM_output_literal "G65 P9853 B3. T$mom_tool_number. D$mom_tool_number. S$mom_tool_diameter. I[expr $mom_tool_diameter/2.]"}

}

}

Можно использовать UDE

А что вы не используете FORMAT для вывода чисел по красивее?

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

ude это если я не ошибаюсь события задаваемые пользователем?post-29976-1313148606.jpg

тогда атоматом данные браться не будут о диаметре фрезы и т п

Формат не использовал так как в этом деле дилетант. Попробовал - не получилось - не критично - забил. Но обязательно доработаю.

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

ude это если я не ошибаюсь события задаваемые пользователем?post-29976-1313148606.jpg

тогда атоматом данные браться не будут о диаметре фрезы и т п

В UDE вы задаете тока цифры 1 2 3, можно списком в посте обрабатываете тока переменную UDE и все, все параметры инструмента считываются точно также

пример Creating_and_Using_User_Defined_Events_for_Use_With_Post_Builder_.rar

Формат не использовал так как в этом деле дилетант. Попробовал - не получилось - не критично - забил. Но обязательно доработаю.

MOM_output_literal "$co PTP file size = $ptp_size bytes [format "%5.1f" $ptp_feet] feet $ci" Изменено пользователем avd
Ссылка на сообщение
Поделиться на других сайтах

Всё получилось! Спасибо! Только вот с программированием постпроцессора я не разобрался

uplevel #0 {

global mom_renishaw_status

global mom_scode

global mom_tool_diameter

global mom_tool_number

MOM_set_seq_off

if ![info exists mom_renishaw_status] { return }

switch $mom_renishaw_status {

B1. { switch $mom_scode {

FALSE { MOM_output_literal "G65 P9853 B1. T$mom_tool_number." }

TRUE { MOM_output_literal "G65 P9853 B1. T$mom_tool_number. S$mom_tool_diameter." }

}

}

B2. { MOM_output_literal "G65 P9853 B2. T$mom_tool_number. D$mom_tool_number. S[format "%5.3f" $mom_tool_diameter] I[format "%5.3f" [expr $mom_tool_diameter/2.]]" }

B3. { MOM_output_literal "G65 P9853 B3. T$mom_tool_number. D$mom_tool_number. S$mom_tool_diameter. I[expr $mom_tool_diameter/2.]" }

Inactive { }

}

}

mom_renishaw_status и mom_scode я получаю из UDE

post-29976-1313471645.jpg

не знаю как код оптимизировать если много условий получается такая фигня(см. выше). а ведь я использовал 2 входных параметра!!! Один 4 значения принимает, второй 2 и то в пределах одного значения первого параметра B1

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

Подскажите кто нибудь как организовать вывод с многими входными условиями! фомат команды цикла G65 P9853 B1.(2 или 3) Tx Dx Sx Ix Zx Mx

Я пока что реализовал выбор "B" и опциональный вывод S в "B1". Хотел еще бы сделать опциональный вывод других параметров I, Z, M. Я могу и сам это сделать как умею и это даже работать будет)) но как это сделать правильно? Подтолкните пожалуйста в правильном направлении! Мож методичка какая на буржуйском есть?

Спасибо AVD за участие и за полезную "методичку"!!! Лично я как начинающий много почерпнул полезного из неё.

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

Всё получилось! Спасибо! Только вот с программированием постпроцессора я не разобрался

uplevel #0 {

global mom_renishaw_status

global mom_scode

global mom_tool_diameter

global mom_tool_number

MOM_set_seq_off

if ![info exists mom_renishaw_status] { return }

switch $mom_renishaw_status {

B1. { switch $mom_scode {

FALSE { MOM_output_literal "G65 P9853 B1. T$mom_tool_number." }

TRUE { MOM_output_literal "G65 P9853 B1. T$mom_tool_number. S$mom_tool_diameter." }

}

}

B2. { MOM_output_literal "G65 P9853 B2. T$mom_tool_number. D$mom_tool_number. S[format "%5.3f" $mom_tool_diameter] I[format "%5.3f" [expr $mom_tool_diameter/2.]]" }

B3. { MOM_output_literal "G65 P9853 B3. T$mom_tool_number. D$mom_tool_number. S$mom_tool_diameter. I[expr $mom_tool_diameter/2.]" }

Inactive { }

}

}

mom_renishaw_status и mom_scode я получаю из UDE

post-29976-1313471645.jpg

не знаю как код оптимизировать если много условий получается такая фигня(см. выше). а ведь я использовал 2 входных параметра!!! Один 4 значения принимает, второй 2 и то в пределах одного значения первого параметра B1

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

Подскажите кто нибудь как организовать вывод с многими входными условиями! фомат команды цикла G65 P9853 B1.(2 или 3) Tx Dx Sx Ix Zx Mx

Я пока что реализовал выбор "B" и опциональный вывод S в "B1". Хотел еще бы сделать опциональный вывод других параметров I, Z, M. Я могу и сам это сделать как умею и это даже работать будет)) но как это сделать правильно? Подтолкните пожалуйста в правильном направлении! Мож методичка какая на буржуйском есть?

Спасибо AVD за участие и за полезную "методичку"!!! Лично я как начинающий много почерпнул полезного из неё.

В чем все таки проблема? Что за параметры Z и M?

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

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

если мне надо 2 варианта одного параметра задать то:

swith {}{

парам1{}

парам2{}

}

если 2 параметра по 2 варианта то:

swith{}{

парам1{

swith {}

парам1-1{}

парам2-1{}

}

парам2{

swith {}

парам1-2{}

парам2-2{}

}

}

если 3 параметра то :surrender:

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

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

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • Jesse
      @ГЕЛА Ещё можно посчитать в балках и учесть влияние отверстия через коэффициент концентрации напряжений..) Но у вас отверстие на всю стенку, так что лучше, проще и быстрее посчитать всё это дело в оболочках как выше сказали. Скругления перехода от стенки к полке удалите и в запас считайте.
    • 5axisCNC
      Можно плоскость дна задать множеством вариантов например точка направление
    • mmaag
      Да, это из nc63 для one. Остальное надо смотреть в каталоге NC62, 63. Там описано много всякого виртуального софта, думаю, найдёте ссылки на что надо, если оно существует.
    • Guhl
      Это для sinumerik one? У 808 и 828 плк s7-200
    • mmaag
      https://www.dex.siemens.com/industrialsoftware/machine-tool-software/run-myvirtual-machine-operate?viewState=DetailView&cartID=&portalUser=&store=&cclcl=en_US&selected=industrialsoftware  
    • Guhl
      Я говорю про полноценный эмулятор, чтобы я на виртуальной панели чпу на кнопку нажимал и в виртуальном ладдере этот сигнал обрабатывался
    • Andrey_kzn
      В Step7 есть симулятор, называется PLCSim, работает хорошо, часто им пользуюсь. Особенно удобно, когда надо проверить какую-нибудь одну функцию, отладить её, а потом добавить в рабочий проект.
    • Guhl
      *SP - feed hold, сигнал в ладдере G8.5 (должен быть равен 1 для нормальной работы) SRN - program restart, сигнал G6.0 в ладдере (должен быть равен 0 для нормальной работы) Сигнал с датчика касания вероятно воздействует нас эти сигналы  
    • cnckarat
      Доброго времени суток, возникла проблема со станком, не выходит в референтные точки, выдает ошибку DS0021 START ERROR (ONE TOUCH MACRO), нашли описание ошибки, операция запуска макропрограммы не может быть принята 1) сигнал задержки подачи *sp равен 0. 2) генерируется сигнал тревоги. 3) сигнал srn равен 1. Станок benzinger со стойкой fanuc series 310is model a5, от куда начинать и что делать, пока не знаем. Найти sp и srn на станке не можем. В чем может быть проблема? От куда начинать и куда копать по данному вопросу? Вдруг кто сталкивался.
    • Guhl
      Мысли были попробовать, но поиск по этой теме не дал результата, поэтому не пробовал
×
×
  • Создать...