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

Постпроцессор 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 пользователей

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



  • Сообщения

    • Snake 60
      Скорее всего исправляли в конкретной сборке, для конкретных тел. Насколько я помню, надо в самом эскизе профиля заполнить свойство Description
    • Snake 60
      Делаете дырку в свае - вставляете в нее трубу и 2 человеко-силы крутят сваю ) Дёшево и сердито и не нужен никакой планетарный редуктор ))
    • gudstartup
      вы всегда ищите свой путь или будете делать то что вам советуют? с самого начала прежде чем приступать к экспериментам вам нужно было вынуть носитель и сделать образ. diskcopy делает копию гибкого диска на другой а вам надо сделать образ жесткого диска или карты памяти. делайте как советует @Viktor2004 иначе еще чего нибудь сломаете или вам станок не нужен и вы его приобрели для экспериментов ? вот а печатной машинке из прошлого нельзя а вот на синумерике можно - удивительные вещи в настоящем происходят!! на 100 % уверен что там не модуль а либо писимиси ай либо жд @mircomax81 хотите работать в дос почитайте помощь по командам 
    • PuKoLLleT
      Доброго дня всем. Поделитесь опытом,раньше такое не доводилось делать. На торце фланца нужно сделать  восемь отверстий ф17H7 на токарно-фрезерном станке с осью Y ,имеется ManualGuide.В моем понимании нужно просверлить,а затем торцевой фрезой расточить нужный диаметр.Получится такой фокус,или надо разверткой доводить нужный размер?  Стойка Fanuc 0i-Tf.
    • Snake 60
      Всё верно, я даже русификатор делал для него (ушло на это где-то около года). Хороший софт был, я всех знакомых на него подсадил в свое время :) У меня даже где-то образ на виртуалке лежит с SW2014+MechSoft, Жаль, что автодеск его поглотил, а не DS :( А по сути вопроса, проектировал двухступенчатый планетарный редуктор в свое время. Что было нужно: Справочник по планетаркам (автора не помню, если надо поищу), из софта MathCAD + GearTeq (софтина идет вместе с GearTrax, только рассчитывает и моделирует несколько зацеплений согласно выбранной схеме, в том числе планетарки) Ой и ошибаетесь. Звездочки - не равно зубчатые колеса в планетарке) Мы намучились с малой точностью изготовления на эл.эрозии, а Вы лазером ))) Был собран опытный образец редуктора с незакаленными деталями, чисто проверить геометрию, отладить сборку. Так потом начальство этот редуктор сказало испытать в бою, как я не противился)) Помер за пару дней интенсивных нагрузок ))) Материал, термообработка и точности изготовления решают )
    • Snake 60
      @Тихоход  Ещё один вариант - изучать программирование и писать свою программу/макрос. Вот пример конфигуратора двери: https://www.youtube.com/watch?v=wv4HryWQBSk
    • mircomax81
      Посредством Diskcopy можно сделать адекватную копию на флоппи диск?
    • Andrey_kzn
      Да, ведь советовали автору вытащить жёсткий диск и сделать образ. Неужели самому не интересно, как устроен этот старый промкомпьютер? Там может стоять как жёсткий диск, так и CF-карта, или же Disc-on-chip или Disc-on-module.  Как-то очень давно, на подобном промышленном оборудовании (большая печатная машина) я не смог перенести  ПО с родной CF - карты на другую, такого же размера но другой фирмы. Была также станочная оболочка под досом.  Образ я делал Нортон гостом, развернул его на другую CF-карту без проблем. Машина загрузилась нормально и работала ровно 2 дня, на неродной CF-карте,  потом зависла, и отказалась загружаться. Пришлось вызывать сервисника. От него мы узнали, что нельзя просто так взять и заменить карту  - носитель системного ПО, на другую. А полезли мы туда, так как руководство захотело печатать отчёты по работе машины. В станочном ПО такая функция была. Вот только принтер надо было купить у фирмы - производителя этой самой машины. В попытках заставить работать другой принтер мы редактировали файл  AUTOEXEС.BAT, на предмет загрузки драйвера принтера, ничего не получилось, зато перестали открываться некоторые страницы станочного ПО.  Образ у нас был давно снят, и мы развернули его на другую карту памяти. Родную карту я трогать не стал (как чувствовал, что нельзя ). Сервисник восстановил ПО с архивной дискеты на родную карту памяти, и всё заработало. Дискеты с архивами ПО шли вместе с документацией к машине.  Там были дискеты с Досом, станочной оболочкой, параметрами приводов, программой ПЛК. Он же и предупредил нас о предельно аккуратном обращении с родной картой памяти, и посоветовал немедленно сделать образы с архивных дискет, что мы сразу и проделали.. Вот такой сюрприз от машины эпохи Дос.
    • Борман
    • gudstartup
      а ведь все работало...
×
×
  • Создать...