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

FAQ/Unigraphics/POST


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

@artem-nafanya Примерно так:

Скрытый текст

 В функцию PB_CMD_before_output добавьте

 

global mom_motion_type
   if { [info exist mom_motion_type] } {
       if { [string first "X" $mom_o_buffer]!=-1 && [string first "Y" $mom_o_buffer]!=-1 && [string first "Z" $mom_o_buffer]!=-1 && $mom_motion_type=="RAPID" } {
            MOM_abort "Error!"
       }   
}  

 

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


@artem-nafanya Хотя возможно лучше проверять не mom_motion_type, а mom_motion_event: mom_motion_event=="rapid_move".

 

Ссылка на сообщение
Поделиться на других сайтах
59 минут назад, mr_Voden сказал:

@artem-nafanya Хотя возможно лучше проверять не mom_motion_type, а mom_motion_event: mom_motion_event=="rapid_move".

 

Так?

 

Скрытый текст

 if { [info exist mom_motion_event] } {
       if { [string first "X" $mom_o_buffer]!=-1 && [string first "Y" $mom_o_buffer]!=-1 && [string first "Z" $mom_o_buffer]!=-1 && $mom_motion_event=="rapid_move" } {
            MOM_abort "!!!!!!!!!!!!!!!!Error!!!!!!!!!!!!!!!!"
       }
}

код в таком виде срабатывает, даже если ускоренные перемещения есть только в одном движении по осям XY?

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

@artem-nafanyaЯ его не проверял, просто набросал. По идее он должен срабатывать если в строке будут встречены символы xyz и это будет ускоренной перемещение. Довольно топорный метод на самом деле. 

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

я смотрю помогают в решение проблем , может и мне поможете все по старому вопросу

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

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, museok сказал:

я смотрю помогают в решение проблем , может и мне поможете все по старому вопросу

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

 

А подробнее можно ? 

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

Ссылка на сообщение
Поделиться на других сайтах
19 часов назад, Vladislav-dobrynin сказал:

 

А подробнее можно ? 

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

да он выводиться , но как правило это не всегда нужно, если у меня нет изменения угла зачем мне выходить по Z вверх

да и если на это забить , это не программа будет а порнография ))

Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, museok сказал:

да он выводиться , но как правило это не всегда нужно, если у меня нет изменения угла зачем мне выходить по Z вверх

да и если на это забить , это не программа будет а порнография ))

 

Выводите Cycle800 всегда в начале каждой операции, а в конце операции сбрасывайте его - Cycle800(). Параметр отскока по Z отключите в самом цикле, его мы обычно не используем. 

Отслеживайте изменение углов в конце предыдущей операции и в начале текущей и по данному условию, в начале операции, перед Cycle800, выводите маневрирование в машинной системе координат Supa Z «» D0 

Именно так будет правильно 

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

Приветствую. Подскажите, как выводить mom_operator_message в нужном месте УП?

Даже если удаётся его вывести в другом месте, то оно всё равно остаётся ещё и на прежнем месте.

 

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, artem-nafanya сказал:

Даже если удаётся его вывести в другом месте, то оно всё равно остаётся ещё и на прежнем месте.

А Вам в каком месте нужно его выводить? Это событие, а событие можно выводить в начале или в конце операции или группы 

Ссылка на сообщение
Поделиться на других сайтах
Только что, Vladislav-dobrynin сказал:

А Вам в каком месте нужно его выводить? Это событие, а событие можно выводить в начале или в конце операции или группы 

В начале группы

Первая строчка %MPF

Вторая mom_operator_message 

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, artem-nafanya сказал:

В начале группы

Первая строчка %MPF

Вторая mom_operator_message 

 

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

Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, Vladislav-dobrynin сказал:

 

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

Понятно. Можете более подробно объяснить как это происходит?

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

Здравствуйте, столкнулся с такой проблемой, на токарно-фрезерном посте при выводе сверлильных операций вдоль оси Z вылезает ошибка, фото по ссылке: https://drive.google.com/file/d/1bLi_T5ZXQPuaWBJJ3RhVks-zQ_QsfJA2/view?usp=sharing ,

но при выводе сверления с какой-то токарной или фрезерной операцией при учете что они перед сверлением то ошибка не вылезает, может кто-то сталкивался с таким?

Ссылка на сообщение
Поделиться на других сайтах
17 минут назад, _vlad_ng_ сказал:

Здравствуйте, столкнулся с такой проблемой, на токарно-фрезерном посте при выводе сверлильных операций вдоль оси Z вылезает ошибка, фото по ссылке: https://drive.google.com/file/d/1bLi_T5ZXQPuaWBJJ3RhVks-zQ_QsfJA2/view?usp=sharing ,

но при выводе сверления с какой-то токарной или фрезерной операцией при учете что они перед сверлением то ошибка не вылезает, может кто-то сталкивался с таким?

Ошибка из за отсутствия инициализации переменной предыдущего угла 5 оси. Когда до этого есть операция - данная переменная инициализируется заранее, а когда нет, то видимо в том месте, где к ней обращение идет - ее значение равно пустой строке. Скорее всего это происходит при первом же вызове процедуры before_motion

Вообще можно попробовать открыть tcl файл в блокноте, найти инициализацию переменных в какой либо процедуре в событии start_of_program и добавить строки

global mom_prev_out_angle_pos

set mom_prev_out_angle_pos(0) 0

set mom_prev_out_angle_pos(1) 0

 

Но боюсь это не поможет и еще какие-либо переменные окажутся не инициализированными.

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

Лучше обратитесь за технической поддержкой к автору постпроцессора

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, Vladislav-dobrynin сказал:

Лучше обратитесь за технической поддержкой к автору постпроцессора

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

Ссылка на сообщение
Поделиться на других сайтах
12 минут назад, _vlad_ng_ сказал:

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

Создавайте 2 отдельных связанных постпроцессора через Link_post, один токарный другой фрезерный и через событие Head вызывайте тот или иной.

Эти стандартные алгоритмы из шаблонов они сырые

Ссылка на сообщение
Поделиться на других сайтах
52 минуты назад, Vladislav-dobrynin сказал:

Вообще можно попробовать открыть tcl файл в блокноте, найти инициализацию переменных в какой либо процедуре в событии start_of_program и добавить строки

global mom_prev_out_angle_pos

set mom_prev_out_angle_pos(0) 0

set mom_prev_out_angle_pos(1) 0

Огромное спасибо, заработало!!!

57 минут назад, Vladislav-dobrynin сказал:

Вообще можно попробовать открыть tcl файл в блокноте, найти инициализацию переменных в какой либо процедуре в событии start_of_program и добавить строки

global mom_prev_out_angle_pos

set mom_prev_out_angle_pos(0) 0

set mom_prev_out_angle_pos(1) 0

Только после сохранения поста в билдере - добавленые строчки удаляються(

Все, заработало, просто в начале операции создал отдельную пользовательскую команду...

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

Здравствуйте. помогите, пожалуйста решить такую проблему. Нужно что бы при включении коррекции выводилась команда G13 и значения P, Q. Где P - предыдущее значение X, а Q - предыдущее значение Y. Выводить нужно только в том кадре, где выводится G41.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • vladimir.songin
      схема.jpg видно? Как я понимаю, хотите видеть ручное позиционирование без входа в 19 или 50 меню?   Простите за глупый вопрос, как помещать изображения и фото так как вы поместили?
    • vad0000
      Покажите эту схему Нажмите на ЧПУ - ручное позиционирование осей. Фото
    • A_1
      Здравствуйте. Это можно сделать через команду Изменить параметры.
    • vladimir.songin
      Для оси X, по схеме, активация всегда активна. В шкаф посмотрю попозже. Сегодня поеду на этот завод. Тем не менее, чтобы ось X в подвигать, нужно активировать этот выход. На схеме указано, что 2006 это: proportional valve ON.  схема.jpg 24В, которые активируют привод оси X, появляются после того, как запускаем гидравлику и отрабатывает реле безопасности. Я думаю что с разрешением на движение оси X всё нормально, потому что если: Включить ось X Передвинуть ось X куда-нибудь к середине Перезапустить станок и нажать старт то ось X едет в конец до упора, (значит с разрешением всё ОК) отрабатывает концевик оси X, (Нажать концевик пораньше и проверить останавливается ось X по концевику или по упору не пробовал) позиционируется ось R Балка едет до упора вверх.  Станок дальше не работает.  Если всё то же без оси X, то станок работает, но ось X соответственно не движется.  Что касается оси R, ранее я ввёл в заблуждение. Для того, чтобы подвигать ось R, нужно активировать выход не 2006 а 1102. 
    • Artas28
    • ДОБРЯК
      Интересная методика испытаний. Сначала предложить изменить собственные частоты изделия, которое испытывается. А потом сказать
    • Bot
      В год 35-летия компании вклад АСКОН в развитие российской индустрии информационных технологий отмечен Министерством цифрового развития, связи и массовых коммуникаций Российской Федерации. Сооснователь и председатель совета директоров АСКОН Александр Голиков награжден Почетной грамотой Минцифры России. Государство особо подчеркнуло его заслуги в обеспечении замещения зарубежных отраслевых решений и программного обеспечения. Смотреть полностью
    • vladimir.songin
      Вы ведь тоже понимаете, что решаю не я. Я бы с удовольствием соскочил с этого дела, но только путём решения вороса каким-либо образом.  Никогда не оставляю после себя нерешённых задач.  Я всё передал и предложил в соответствии с нашими с вами договорённостями.  К сожаление решение вышестоящих немного не такое, как я ожидал.  Пытаюсь добить тему до конца. Много уже изучил, знаю и понимаю. Ось Х точно рабочая. Ничего с ней не нужно делать. Это мне уже понятно.  P.S. За любую помощь буду в любом случае благодарен. 
    • vad0000
      А Вы откройте шкаф, и посмотрите. Статус привода до активации 2006, и после
    • gudstartup
      чтобы пропустить просто закомментируйте его и все G5.1Q1 включает G5.1Q0 выключает или если позволит изменить то 1604.0=0
×
×
  • Создать...