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

FAQ/Unigraphics/POST


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

Здравствуйте, может кто пояснит как работает команда uplevel в tcl, все перерыл и всё равно не понял, мне нужно чтобы в процессе постпроцессирования до записывалась переменная что по ходу программы находиться выше, кто-то знает как это делать? 

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


Здравствуйте коллеги. Работаю приводным инструментом, в плоскости ZX. Но вывод постпроцессора странный, дуга ПрЧС и должно быть G18G3, но выводит G18G2. Я для эксперимента покрутил систему координат вдоль оси Z и получил два правильных вывода и два нет. В чем может быть проблема ?

 

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

1.jpg

2.jpg

3.jpg

4.jpg

 

 

 

 

 

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

Господа, профессионалы! Подскажите как сделать так что бы постпроцессор выдавал координату Z умноженную на 2.  Есть в постбилдере галдочка X=2X но мне нужно именно Z. Может какую команду кастомную надо дописать в перемещения? 

я попробовал написать такое . if [info exists mom_pos(2)] {set mom_pos(2) [expr $mom_pos(2)*2]} 

но видимо это ерунда какая то, т.к ничего не работает. как и прежде координата Z=Z а не 2*Z.

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

Здравствуйте, не гнобите, застрял на одном месте, стирается изменения, которые записываю/копирую в файл "свой пост".tcl при переоткрытии PostBuilder-а. Причём стирается вся внесённая процедура (proc PB_CMD_ ...), а изменения которую вношу внутрь существующей остаётся.

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

стирается изменения, которые записываю/копирую в файл "свой пост".tcl при переоткрытии PostBuilder-а.

А как вы в файл *.tcl пишете? Если просто из файла в файл в текстовом редакторе с помощью ctrl+c и ctrl+v, то не получится. Открывайте свой и чужой пост в генераторе постпроцессоров и уже в нём копируйте команды, которые вам нужны.

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

if [info exists mom_pos(2)] {set mom_pos(2) [expr $mom_pos(2)*2]} 

 

global mom_pos 

- строка сначала, а потом все что описали выше. 

И все это стоит написать в PB_CMD_before_motion

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

Подскажите как написать проверку чтоб при постпроцессировании проверять включился корректор на радиус при G41 G01 или на G41 G03/G02 последнее естественно не допустимо. 

При генерации NX выдает ошибку что не может включить и выводит с допустимыми значениями но иногда забываю это поправить. 

 

Изменено пользователем 5axisCNC
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, 5axisCNC сказал:

Подскажите как написать проверку чтоб при постпроцессировании проверять включился корректор на радиус при G41 G01 или на G41 G03/G02 последнее естественно не допустимо. 

При генерации NX выдает ошибку что не может включить и выводит с допустимыми значениями но иногда забываю это поправить. 

А если просто убрать из кругового движения включение коррекции?

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

А если просто убрать из кругового движения включение коррекции?

99% программ как раз такие и есть G41 G01, но бывает что забываю(человеческий фактор) поправить и чтобы это исключить как раз проверку и хочу сделать чтоб пост напомнил о косяке.  Так то кучку проверок написал на включение оборотов на не соответствие номера инструмента и корректора на длину или радиус и т.п., тут как бы просто сравниваешь переменные и выводишь сообщение, а как сделать так чтоб прочитал прогу и нашел есть ли связка G41/G42 G03/G02 вот этого не знаю как сделать...

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

@5axisCNC в before_output читайте mom_o_buffer и проверяйте встречается ли в выводимой строке одновременно G2/G3 и G41/G42/G40

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

Коллеги, всем доброго времени суток!

 

В ходе настройки CSE драйвера станка возникла проблема:

Станок - токарно-фрезерный вертикальный, оси XZC

Контроллер - Sinumerik840D

 

Описание проблемы:

Возникает ошибка при отработке круговой интерполяции G2 G3 при активированной полярной трансформации:

ошибка.png

 

Данная ошибка происходит при отработке метода SetCircleParameter, при назначении любого из параметров отрабатываемой дуги. Как я понял, система ругается на отсутствие оси Y в плоскости G17, в которой производится обработка.  Линейные перемещения по G0 и G1 с включенной полярной интерполяции отрабатываются корректно. 

 

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

 

За ранее спасибо за любую информацию.

 

 

 

 

Изменено пользователем FCLM
Ссылка на сообщение
Поделиться на других сайтах
1 час назад, mr_Voden сказал:

@5axisCNC в before_output читайте mom_o_buffer и проверяйте встречается ли в выводимой строке одновременно G2/G3 и G41/G42/G40

Спасибо! Работает в PB_CMD_before_output! 

if {[string match "*G41 G03*" $mom_o_buffer ]} {
MOM_display_message "Korrektor na radius ne vkl " "warning" "W"
}

Но есть один минус сообщение появляется столько раз сколько раз он находит такое соответствие в итоге я раз 10 жал кнопку ОК :) 

Как заставить его выводить однажды а не 10 раз?

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

@5axisCNC Используйте неинициализированную переменную (до этого) или счётчик в качестве флага. Если будет нужно, немного позже смогу написать как это может выглядеть. 

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

set korrektoroff "*G41 G03*"
if {[string match $korrektoroff $mom_o_buffer ]} {
MOM_display_message "Korrektor na radius ne vkl ($mom_operation_name)" "warning" "W"
}

Тоже самое 10 раз. Или я вас не правильно понял?

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

@5axisCNC Как-то так (не проверял)

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

global flag
if { [string first "G41" $mom_o_buffer]!=-1 || [string first "G42" $mom_o_buffer]!=-1 } {
    if { [string first "G03" $mom_o_buffer]!=-1 || [string first "G02" $mom_o_buffer]!=-1 } {
        if { ![info exist flag] } {
            set flag 1
            MOM_display_message "Korrektor na radius ne vkl " "warning" "W"            
        }
    }
}

Хотя, наверное, надежнее движение по окружности отлавливать через mom_motion_event, а не искать G02/G03

Ссылка на сообщение
Поделиться на других сайтах
21.07.2022 в 19:02, 5axisCNC сказал:

Спасибо! Работает в PB_CMD_before_output! 

if {[string match "*G41 G03*" $mom_o_buffer ]} {
MOM_display_message "Korrektor na radius ne vkl " "warning" "W"
}

Но есть один минус сообщение появляется столько раз сколько раз он находит такое соответствие в итоге я раз 10 жал кнопку ОК :) 

Как заставить его выводить однажды а не 10 раз?

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

работаю в кам ныкса более 5ти лет и я не разу не умудрился этого сделать , а вы даже проверку прикрутить собрались

Изменено пользователем museok
Ссылка на сообщение
Поделиться на других сайтах
23.07.2022 в 11:37, museok сказал:

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

 а вы даже проверку прикрутить собрались

1.Легко и не принужденно. Поиграйтесь с величиной мин. перемещения корректора и например радиусом врезания из точки. Или как вариант периодически выскакивает на Zlevel при обработке формы.

2. Не собрался, а уже работает.

з.ы. 22 года работаю в NX

 

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

Вопрос, как назначить/поменять кодировку выходного файла. Нужно чтобы кодировка была кириллица 1251. Ну или чтобы нужные строки были с кодировкой ANSI (1251).

Что бы правильно отображались русские символы.

По команде системная кодировка "encoding system"  ответ "identity" , всего выдает три кодировки по команде "encoding names" :  identity;   UTF-8 ;  unicode .

ни одна из этих кодировок нужного результата не дает, хотя вид иероглифов меняется.

Есть ли еще какие том методы или способы работать с кодировкой.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • jtok
      Он сильно зависит от марки PP, от расчетной температуры и от расчетного срока службы (количества циклов нагружения). Поищите стандарт DVS 2205, части 1 и 2. В нем есть номограммы долговременной прочности. Он на немецком, но ничего лучше нет. Номограммы эти приведены по ссылке, внизу страницы, раздел "Список приложений".  Например, диаграмма для PP type 1 по ссылке: В оригинале же выглядят они вот так (для PP type 1): Также был древний документ на русском по этой теме, прицеплен к сообщению. _raschet_emkosti DVS 2205-2.pdf
    • Andrey_kzn
      - тут возможно смысл сообщения в том, что оси не синхронизированы, только вот зачем синхронизировать  оси X и Y не понятно. В случае двух шпинделей например,  coupled будет означать синхронизацию.
    • niagara39
      Правильно ХУ на этом станке не перпендекулярны. Тормоз оси У включен постоянно, отключается только при перемещении самой оси У. Координаты не  меняются... Знать бы что за параметры, пока ничего подобного не нашли
    • nicomed
      Поднял старые записи. Из того что было максимально похоже на то, что можно было назвать "получалось" :   Самому не совсем понятно поведение СкетчМенеджера при отрисовке линии от координат 0,0,0 - частенько слетает в произвольное место на виде. 
    • maxx2000
      на втором  скрине PLC сообщает что-то типа "старт программы запрещён потому что оси ХУ не связаны". Возможно станок в режиме точения должен заблокировать перемещение У, включить тормоз или что-то ещё для произвольного смещения под нагрузкой. Возможно косяк в тексте программы.
    • maxx2000
      @sneg0vik как это? Если ХУ не перпендикулярны то это уже не У, а скажем ось В. Нет, конечно в теории можно построить станок с неперпендикулярными ХУ. Вопрос зачем? Gildemeister CTX 420 это же токарно-фрезерный с осью У
    • sneg0vik
      На станке ось "X" является наклонной по отношению к оси "Y" (т. е. они не перпендикулярны). Поэтому надо полагать (учитывая текст ошибки) у вас отключена связь оси "Y" с осью "X".   Проверьте меняются ли координаты оси "X", когда вы двигаете ось "Y". И наоборот. Если - нет, то ищите как включить (наверное через параметры) взаимосвязь оси "Y" с осью "X".
    • ДОБРЯК
      Если ваш Заказчик и такую работу примет, то необходимо в шпоночное отверстие добавить и массу воды. Примерно 1/4 от той массы которую вы будете добавлять.  Да и еще и не забыть добавить момент инерции от воды.
    • Soprin
      В функции MOVE по F7.3 должно же из R270 переносить в R278?
    • niagara39
      Причина все еще не найдена... Но заметил, что сразу после включения в меню диагностики появляется следующее предупреждающее сообщение: 10155 M: Y-axis: Y-axis and X-axis not coupled , но причина его появления и его смысл неизвестны
×
×
  • Создать...