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

Постпроцессор 2С42-65


Grizzly

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

Возникла проблемка при создании поспроцессора (ПП) на стойку 2с42-65 в расчете циклов сверления. Суть в следующем - при постпроцессировании нескольких траекторий в одну УП пропадает переменная отвода инструмента I (или параметр $mom_cycle_retract_to_pos(2)) в строке задания цикла G81... (см. рис). А стойка требуется вывод полной строки данных. Как сделать принудительный вывод переменной I ($mom_cycle_retract_to_pos(2))? :wallbash:

post-2641-1127800171_thumb.jpg

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


В определении адреса

ADDRESS I_G81 {

LEADER "I"

............................................

FORCE always

}

Задать

FORCE Always

(Указывает постпроцессору всегда выводить этот адрес. )

адрес I определен, на всякий случай, как I_G81, чтобы не конфликтовать с другими адресами I.

Сооответственно, в описании кадра цикла использовать адрес I_G81

BLOCK_TEMPLATE G81 {

G[.....]

I_G81[.....]

............................

}

все эти изменения выполняются в def-файле.

примерно так, IMHO.

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

Спасибо за ответ, но результат следующий параметр I появляется во всех строчках цикла (см. рис.), а нужно только в первой, где происходит описание цикла. :g:

Чтобы добиться аналогичного результата без ручного редактирования def файла, достаточно в POST Builder'e переменной I присвоить атрибут Force Output.

post-2641-1127883401_thumb.jpg

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

Именно такой проблемы не решал, поэтому могу лишь попытаться подсказать направление.

Вывод заголовка цикла в файле постпроцессора выглядит так:

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

proc MOM_drill { } {

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

global cycle_name

global cycle_init_flag

set cycle_init_flag TRUE

set cycle_name DRILL

CYCLE_SET

}

Процедура CYCLE_SET находится в файле ugpost_base.tcl:

proc CYCLE_SET { } {

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

global cycle_name

WORKPLANE_SET

MOM_force once G_motion X Y Z R

catch {MOM_force once G_return}

if { [string first DWELL $cycle_name] != -1 } { MOM_force once cycle_dwell }

if { [string first NODRAG $cycle_name] != -1 } { MOM_force once cycle_nodrag }

if { [string first DEEP $cycle_name]!= -1 } { MOM_force once cycle_step }

if { [string first BREAK_CHIP $cycle_name] != -1 } { MOM_force once cycle_step }

}

Собака, IMHO, зарыта в строчке "MOM_force once G_motion X Y Z R". Именно тут не хватает нужного Вам адреса "I". Но добавить его туда напрямую врядли получится (любые попытки изменить файл ugpost_base.tcl у меня приводили к отказу постпроцессора), да и идеологически это неправильно.

Изменить процедуру "proc MOM_drill" в основном файле постпроцессора можно только вручную (или я просто не знаю как это делается в Post Builder-е), но лучше этого не делать.

Я в подобных случаях создавал "исправленные копии" нужных мне процедур и помещал их в "User's Tcl File". У Вас такая копия, насколько я себе представляю, должна выглядеть примерно так:

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

proc MOM_drill { } {

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

global cycle_name

global cycle_init_flag

set cycle_init_flag TRUE

set cycle_name DRILL

WORKPLANE_SET

MOM_force once G_motion X Y Z R I

catch {MOM_force once G_return}

}

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

Спасибо! Все заработало :clap_1:

Отредактировал файл ugpost_base.tcl и все заработало.

Кстати, а что такое "исправленные копии" процедур и где находится "User's Tcl File"?

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

где находится "User's Tcl File"?

User's Tcl File создаётся самим программистом для реализации того, что нельзя сделать через PostBuilder. В PostBuilder-e есть галочка для подключения такого файла. Находиться он должен там же где и основной файл постпроцессора.

Если основной файл и User's Tcl File содержат процедуры под одним и тем же именем, выполняется процедура из User's Tcl File, что позволяет подменить чем то не устраивающую процедуру на свою собственную. В частности, можно скопировать "дефектную" процедуру и "исправить" её по своему усмотрению (это к вопросу "что такое "исправленные копии" процедур").

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

Появился еще один вопрос:

Как организовать вывод следующей координаты перемещения?

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

Поясню свой вопрос:

После постпроцесирования получается такая УП

%

01111

N1 M10I1T06

N2 G00X40.Y-47.Z10.

N3 G01Z-27.F20

.

.

.

А хочется получить следующее:

%

01111

N1 M10I1T06X40.Y-47.Z10

N2 G01Z-27.F20

.

.

.

Т.е. совместить два постпроцессорных события в одном кадре УП – Start of Path (N1) и Rapid Move (N2). Как организовать подобный вывод?

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

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

Или я не понял всей глубины проблемы. :)

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

Проблема в том, что в момент отработки события Start of Path кадр N1 система еще "не знает", что будет в следующем кадре N2, поэтому если просто добавлять координаты в первое событие, то вывод будет следующим:

N1 M10I1T06X0.Y0.Z0.

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

Вы издеваетесь? У 2С42  16-64кбайта памяти а современным постам даже мегабайт мало ежели только на километры перфоленты выводить будете да не в каждую ФСУ такая бобина влезет.

Сдайте ее в утиль и осваивайте современные системы. Даже Fanuc 6 по сравнению с 2C42 'это совершенство!

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

Сдайте ее в утиль

Классный совет, но без бесплатного станка немного бесполезный :(

6 часов назад, gudstartup сказал:

У 2С42  16-64кбайта памяти а современным постам даже мегабайт мало

Ну уж.... Как-то мы работали и на Мазатроле с 216кБ и на Фануке 18-ом с 64кБ (пока память не расшарили). Да-неудобно, но не смертельно.

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

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

 Пробовали самостоятельно разработать постпроцессор, но несколько раз станок выдавал ошибку на кадрах интерполяции(G2, G3). 

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

Ну уж.... Как-то мы работали

Ну уж как то все работали и на 2С42 но не в современных реалиях! Программу из постпроцессора все равно придется оптимизировать по объему а некоторые программисты  делать это категорически не хотят.

Подпрограммы с параметрами для них это неведомый зверь. Что выдал постпроцессор это как священная корова и трогать не моги  вон как на экране монитора красиво обрисовывает собака и на станке должон делать!  

Иногда в реалиях программистов на  Фанук с 12 мегабайтами программулина не влезает работаем с PCMCIA карты...

Вот помню надо было сделать энное количество маркировочных надписей на детали так программа получилась такая что на катушку ФСУ Консул 2С42-65 не поместилась пришлось катушку немного увеличить.

 

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

Пробовали самостоятельно разработать постпроцессор, но несколько раз станок выдавал ошибку на кадрах интерполяции(G2, G3). 

Да уж надо учитывать скромные вычислительные мощности ее процессора ведь МС1201 это вам не Интел с несколькими ядрами.

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

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

Для примера программа (подход, обход по половине окружности, отход(см. рисунок)) 

%
N1G90G00G17G54
N2S0M03
N3G01X+100000Y0
N4X+50000
N5G03X-50000I0J0
N6G01X-100000
N7M05
N8M02

 

Станок не корректно отрабатывает кадр N5 т.к в данном кадре отсутствует четвертая координата Y . Как это исправить в постбилдере? 

изображение_2022-12-12_144626525.png

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

Насколько помню, у нас были станки с такой ЧПУ, но это программирование для 2С42-61, станок 2В623ПМФ4.

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

Станок не корректно отрабатывает кадр N5 т.к в данном кадре отсутствует четвертая координата Y . Как это исправить в постбилдере?

Перед выводом кругового перемещения добавьте команду пользователя

MOM_force once X Y

 

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

Или поставьте галочки "Обязательный вывод" на адресах X и Y в этих же круговых перемещениях (правой клавишей мыши).

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Jesse
      @Orchestra2603 таки прилетела задача по оценке вибропрочности конструкции в частотной области на основе акселерограммы.. Т.е. помимо частотных характеристик входной нагрузки, мне надо правильно определить её амплитуду в частотной области. Акселерограмма априори нестационарная нагрузка, что подтверждает график сильно меняющегося среднеквадр. отклонения. Так что сразу рассматриваю только вторую половину -  более менее стационарную часть Строю дискретный Фурье-спектр в Вольфрам Математике ну типа получаю характерные частоты сейсмического воздействия до 30 Гц. Збс... Но вот с амплитудой непонятка. Мне вот это полученную амплитуду и задавать в программе расчёта прочности? Почему спрашиваю? - это ведь дискретное преобразование. И типа согласно равенству Парсеваля энергия сигнала сохраняется, да. Но всё зависит от числа отсчётов. Ну вот как простой пример: синусоидальный сигнал с частотой 50 Гц и амплитудой 1, длина сигнала 2 с.  В первом случае частота дискретизации 200, во втором - 1000. Ну то есть при одинаковой длине в 5 раз больше отсчётов во втором случае. А амплитуда в 3 раза больше... И где правильная амплитуда? Я конечно понимаю, что в моих присланных данных одно количество отсчётов и одна частота дискретизации.. Но как правильно делать то.?)
    • Buka_juve
      Здравствуйте!!!   Может кто-то сможет поделиться постпроцессором для стойки Fanuc 31i TD или Fanuc 0i-TD (XZC). Вообще интересует обработка фрезерованием шнеков с поворотом детали по оси C.   Станки Hyundai Wia L280LM или L150SY.   Спасибо
    • Sabadash
      Поправьте режим легкой сборки в настройках, включается с определенного количества деталей, просто увеличьте количество деталей или отключите этот режим. Быстрое переключение в дереве построения (Set resolved to lightweight)
    • mixey53rus
      Вот пример программы, которой сам пользуюсь O0001 ( T17 | M10 METCHIK | H17 ) N100 G21 N102 G0 G17 G40 G49 G80 G90 N104 T17 M6 ( T17 | M10 METCHIK | H17 ) N106 G0 G90 G54 X-.75 Y0. S100 M3 N108 G43 H17 Z5. N110 G94 N112 M29 N114 G98 G84 Z-10. R.5 F150. N116 G80 N118 G94 N120 M9 N122 G53 Z0 N124 G53 Y0 N126 M30
    • Fedor
      Видел я как швейцарцы проектировали кран один, рама нижняя пополам переломилась на заводе где цветняк собирали и в вагоны грузили.  Квадратный лючок устроили в самом напряженном месте ну и переломился естественно из-за концентрации напряжений и усталости. Чайники проектировали, одно слово .  Объяснил заводчанам как чинить, все посчитал.  Кинули на три штуки бакинских , не заплатили. Думал сначала бандюкам долг продать, потом пожалел убогих. Все-таки сам когда-то работал на этом заводе, поэтому и доверял. А зря. Предают обычно свои :)  Швейцарцы с них за новую раму запросили двести штук бакинских.  Этот кран для фермеров делался, а они редко грузят вот гарантийный режим и выдерживался. Да и нагрузка не металл, а сельскохозяйственная.  А на заводе   в две смены цветняк грузили в вагоны на экспорт прибалты.  Грабили Россию   :) 
    • vad0000
      Не понял? Если гиб 1, то зачем повторения?   Повторения имеют смыслы, когда гибов больше 2-х   Например, есть программа 1 Гиб Х=20 2 Гиб Х=20 3 Гиб Х=50   Эту программу можно по другому записать 1 Гиб Х=20 (2 повтора) 2 Гиб Х=50     
    • Artas28
      А почему направление стружки вверх??? Я влево - вправо выбирал . Спасибо)      
    • MagicNight
      Да. Напротив, оператор станка не расслабляется!
    • andrei4ik
      Всем доброго дня. Заметил что солид каждый раз при запуске при рткрытии сборки сам ее открывает по умолчанию в сокращеном виде... в настройках галочка снята. И приходится каждый раз руками при открытии сборки уирать переключатель с сокращеного режима... Солид 2022
    • Ninja
      я сделал так как ты и сказал - ось вдоль UV. Ткнул направление стружки вверх и всё!
×
×
  • Создать...