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

Документация к написанию постов


mk85

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

Всем привет!!!

Есть ли у кого нибудь документация или наглядные примеры по написанию постпроцессоров и инсталляции их потом в Unigraphics. Имею опыт по написанию постов в АДЕМе. Скачал книги,но там все обобщенно и непонятно:)

За раннее благодарен!

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


Всем привет!!!

Есть ли у кого нибудь документация или наглядные примеры по написанию постпроцессоров и инсталляции их потом в Unigraphics. Имею опыт по написанию постов в АДЕМе. Скачал книги,но там все обобщенно и непонятно:)

За раннее благодарен!

Если взять за основу Постбилдер, то разница будет слишком большой ...

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

Для начала я бы взял библиотечный контроллер и, ничего не меняя, сгенерил пост.

Затем можно посмотреть, что будет выводиться в УП.

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

В хелпе описан и язык, и основные разделы постбилдера, хотя очень сжато ...

Есть и более простые варианты, но они куда примитивнее ...

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

Если взять за основу Постбилдер, то разница будет слишком большой ...

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

Для начала я бы взял библиотечный контроллер и, ничего не меняя, сгенерил пост.

Затем можно посмотреть, что будет выводиться в УП.

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

В хелпе описан и язык, и основные разделы постбилдера, хотя очень сжато ...

Есть и более простые варианты, но они куда примитивнее ...

Угу, постбилдер + готовый пост - это хорошо, но когда начинаешь трогать циклы, то тут веселей. А ежели нестандартная ситуевина или нестандартный цикл. Вот долго думал, есть машина - вертикально-горизонтальная, но не 5-и осевая. Так вот, трабла была в том, что в режиме вертикальном - проблем нетю, а вот когда бошка становиться в горизонтальное положение - проблема. Нужно заменять вывод координат - Z становится Y и Y есесно Z, дык их исчо не просто заменить нужно, а поменять местами, при этом циклы отрабатываются когда ориентация шпинделя - Y. Решение пришло нестандартное. Взял С и написал приблуду, которая тупо меняет Y на Z и наобормот, а в билдере автоматом ориентацию Y (вместо Z). Т.е. есть внешний фай, который на вход глотает УП а на выходе ужо модернизированная УП

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

Угу, постбилдер + готовый пост - это хорошо, но когда начинаешь трогать циклы, то тут веселей. А ежели нестандартная ситуевина или нестандартный цикл. Вот долго думал, есть машина - вертикально-горизонтальная, но не 5-и осевая. Так вот, трабла была в том, что в режиме вертикальном - проблем нетю, а вот когда бошка становиться в горизонтальное положение - проблема. Нужно заменять вывод координат - Z становится Y и Y есесно Z, дык их исчо не просто заменить нужно, а поменять местами, при этом циклы отрабатываются когда ориентация шпинделя - Y. Решение пришло нестандартное. Взял С и написал приблуду, которая тупо меняет Y на Z и наобормот, а в билдере автоматом ориентацию Y (вместо Z). Т.е. есть внешний фай, который на вход глотает УП а на выходе ужо модернизированная УП

Тоже как один из вариантов, хотя и в постбилдере особых проблем не вижу ...

Поставил проверку вектора оси инструмента ... если Z - такой вывод, если Y - такой ... тут даже думать особо не нужно ... :smile:

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

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

Тоже как один из вариантов, хотя и в постбилдере особых проблем не вижу ...

Поставил проверку вектора оси инструмента ... если Z - такой вывод, если Y - такой ... тут даже думать особо не нужно ... :smile:

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

События пользователя - нужно знать где в cdl`e их еще и как создать, а потом и в шаблон влепить, незнающему - тяжеловато.

А вот про проверку вектора, по-подробней. С линейной и круговой интерполяцией - проблем нетю, а вот с ускоренными перемещениями - ? В билдере, вроде, нельзя их вообще удалить или местами поменять.

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

События пользователя - нужно знать где в cdl`e их еще и как создать, а потом и в шаблон влепить, незнающему - тяжеловато.

С начала может тяжеловато, хотя события пользователя описаны в хелпе ...

А вот про проверку вектора, по-подробней. С линейной и круговой интерполяцией - проблем нетю, а вот с ускоренными перемещениями - ? В билдере, вроде, нельзя их вообще удалить или местами поменять.

Если постараться, то обойти можно все ... или почти все ... да и способов не один :g:

Но для самых ленивых, сужу по себе, могу предложить, в качестве примера, замену холостых перемещений, взял из поста для MAHO с вертикальным шпинделем - ось инструмента Y

#=============================================================

proc PB_CMD_rapid_move { } {

#=============================================================

# Uskorennye peremesh'eniya G0

global mom_pos

global mom_prev_pos

if { [expr $mom_pos(1) - $mom_prev_pos(1)] > 0 } {

MOM_do_template rapid_spindle_Y

MOM_do_template rapid_traverse_XZ

} else {

MOM_do_template rapid_traverse_XZ

MOM_do_template rapid_spindle_Y

}

}

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

С начала может тяжеловато, хотя события пользователя описаны в хелпе ...

Если постараться, то обойти можно все ... или почти все ... да и способов не один :g:

Но для самых ленивых, сужу по себе, могу предложить, в качестве примера, замену холостых перемещений, взял из поста для MAHO с вертикальным шпинделем - ось инструмента Y

#=============================================================

proc PB_CMD_rapid_move { } {

#=============================================================

# Uskorennye peremesh'eniya G0

global mom_pos

global mom_prev_pos

if { [expr $mom_pos(1) - $mom_prev_pos(1)] > 0 } {

MOM_do_template rapid_spindle_Y

MOM_do_template rapid_traverse_XZ

} else {

MOM_do_template rapid_traverse_XZ

MOM_do_template rapid_spindle_Y

}

}

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

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

задам оч тупой вопрос..где редактор самого поста

#=============================================================

proc PB_CMD_rapid_move { } {

#=============================================================

# Uskorennye peremesh'eniya G0

global mom_pos

global mom_prev_pos

if { [expr $mom_pos(1) - $mom_prev_pos(1)] > 0 } {

MOM_do_template rapid_spindle_Y

MOM_do_template rapid_traverse_XZ

} else {

MOM_do_template rapid_traverse_XZ

MOM_do_template rapid_spindle_Y

}

}

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

задам оч тупой вопрос..где редактор самого поста

Может имелся ввиду Post Builder ...

Тогда еще нужен файл *.pui ...

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

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

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

но я не понял как вывод старых координат подавить, а новые - вывести.

Посколько в данном случае адреса модальные и уже будут выведены, их можно просто не подавлять

post-9624-1237310275_thumb.png

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

To GES

Спасибо за просвещение, обязательно попробую. Уж больно лень все время файлы УП повторно прогонять. Нужно заняться будет. О результате обязательно сообщу.

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

Чтой-то не получается :(

1. Попробовал тупо вышеуказанное событие написать в RAPID_MOVE перед выводом координат, как говорилось, дык NX пишет ошибку

2. Начал искать, что такое rapid_traverse_XZ и rapid_spindle_Y, в браузере мом-переменных, дык ничего не нашел - что это такое (перевод с англ. я понимаю)

3. Попробовал поменять местами значения Z и Y (значение mom_pos(1) и mom_pos(2)), написал в билдере, как событие перед выводом координат - NX пишет ошибку

Все пробовал на скорую руку и понял, что лень (мне) быстрее написать не поможет, нужно будет посидеть ... :(

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

Чтой-то не получается :(

1. Попробовал тупо вышеуказанное событие написать в RAPID_MOVE перед выводом координат, как говорилось, дык NX пишет ошибку

2. Начал искать, что такое rapid_traverse_XZ и rapid_spindle_Y, в браузере мом-переменных, дык ничего не нашел - что это такое (перевод с англ. я понимаю)

3. Попробовал поменять местами значения Z и Y (значение mom_pos(1) и mom_pos(2)), написал в билдере, как событие перед выводом координат - NX пишет ошибку

Все пробовал на скорую руку и понял, что лень (мне) быстрее написать не поможет, нужно будет посидеть ... :(

post-9624-1237616563_thumb.png

post-9624-1237616569_thumb.png

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

Вот, вроде как получилось :)

Сделал на подобие, как рекомендовал GES, токма:

I. в событии рапид - сделал процедуру смены координат Y (mom_pos(1)) на Z (mom_pos(2)) и наобормот ... (что я не смог раньше догадаться ?), а процедура написанная выше почему-то не заработала, ну я и не стал разбираться дальше, решил попробовать подругому

II. Заменил имя переменной Y на Z, ну есесно Z-Y. Таким образом, все выводится и без замены шаблона.

III. При выборе оси шпинделя - оставил ориентацию Z

IV. Все делал в Билдере

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

Отдельно: Большое человеческое спасибо GES`у

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • streamdown
      Коллеги приветствую! IPS 8. Подскажите пожалуйста, кто какое серверное железо использует? Интересуют параметры при одновременной работе, ну например, 400 пользователей онлайн
    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19? это все понятно но почему оно продолжает проверять это после завершения ориентации мне непонятно
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
    • vs3dpro
      Добрый день! У нас на есть SLA принтер 600х600х400мм. Можно напечатать мастер- модели, и можно приехать посмотреть. mail@iges.space
    • gudstartup
      после ввода 789 в edit mod надо перейти в режим ручное упр. нажать mod а потом помощь и откроется wzw.hlp  с возможностью выполнения команд управления atc. если не появляется содержимое wzw.hlp то возможно что у вас другой код хотя 789 'это стандарт для dmg в этом случае надо смотреть ваш plc раздел у меня пароль прописан в файле wzw_rett.mod
    • Anat2015
      SERVO TURRET AMP ALARM - переводить не пробовали, учитывая, что AMP - это и есть сервопривод? Что тут не ясного, язык не знаком?
    • Viktor2004
      я бы попробовал позиционировать шпиндель сигналом G70.6 Ответный сигнал, шпиндель сориентирован F45.7
    • gudstartup
      Здравствуйте уважаемые участники форума попрошу вас поделится мнениями. Имеется фрезерный шпиндель с позиционным кодером (зубчатое колесо и считывающая головка). Ошибку 9047 выдает после того отрабатывает M19 c последующим включением оборотов Sxxx M3 причем обороты могут быть любыми от 100-макс. Если задавать обороты без предварительной ориентации то 9047 не возникает и шпиндель нормально вращается на любой скорости при этом обороты не гуляют точность поддержания +-1 об\мин. Кабель заменен заменить сам датчик нет возможности. Мой вопрос в следующем почему шпиндель после M19 и включении управления скоростью Sxxx M3 остается в режиме позиционирования а не сразу переходит врежим управления скоростью и даже явная отмена ориентации кодом M20 ничего не меняет ведь режим позиционного управления должен быть отменен или он остается и отменяется не сразу после подачи команды M3 и кода скорости? Станок достаточно старый 2009 года плату управления шпинделем меняли на соседний ничего не изменилось. Это может быть логика PMC или скорее всего это датчик?   PMC-SB.001
    • Killerchik
      А мы-то думали, что пропорциональный гидравлический.....
    • Grig75
×
×
  • Создать...