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

Помогите в постпроцессоре переставить м3 ,м5


Михаил 95

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

Постпроцессор неправильно ставит М3 и М5 , как эти строки переписать всю голову сломал .

Помогите плиз )

Код который он выдаёт .

 

N1 G21 (Metric)
N2 G17 M3
N3 X29.95 Y10. Z20.
N4 Z0.
N5 G3 X29.95 Y10. I-2.2
N6 G1 Z20.
N7 M5
N8  (Metric)
N9 M3
N10 X140. Y93.
N11 Z0.
N12 G3 X140. Y93. I-60.
N13 G1 Z20.
N14 M5
N15  (Metric)
N16 M3
N17 X288. Y0.
N28 Z0.
N29 Y186.
N20 G3 X286. Y188. I-2.
N21 G1 X0.
N22 G3 X-2. Y186. J-2.
N23 G1 Y0.
N24 G3 Y-2. I2.
N25 G1 X286.
N26 G3 X288. J2.
N27 G1 Z20.
N28 M5 
N29 M28 
N30 M30  
 
А нужно вот так .
 
N1 G21 (Metric)
N2 G17 
N3 X29.95 Y10. Z20.
N4 Z0.
N5 M3
N6 G3 X29.95 Y10. I-2.2
N7 M5
N8 G1 Z20.
N9  (Metric)
N10 X140. Y93.
N11 Z0.
N12 M3
N13 G3 X140. Y93. I-60.
N14 M5
N15 G1 Z20.
N16  (Metric)
N17 X288. Y0.
N18 Z0.
N19 M3
N20 Y186.
N21 G3 X286. Y188. I-2.
N22 G1 X0.
N23 G3 X-2. Y186. J-2.
N24 G1 Y0.
N25 G3 Y-2. I2.
N26 G1 X286.
N27 G3 X288. J2.
N28 G1 Z20.
N29 M5 
N30 M28 
 
 
 

 


Пробовал вписать строку на включение М3 

 
  OUTPUT "N" +Str(BlockN)+" M3"
 
Получилась ерунда , по отверстиям работает как нужно а по прямым не работает .
 
 
program Circle
  BlockN = BlockN+1
  OUTPUT "N" +Str(BlockN)+" M3"
  if cld[4] > 0 then INTERP_ = 3 else INTERP_ = 2   ! G3/G2
  XC_ = cld[1] - XT_                            ! I,J,K in increments always
  YC_ = cld[2] - YT_
  ZC_ = cld[3] - ZT_
  X = cld[5]                                  ! X,Y,Z in absolutes
  Y = cld[6]
  Z = cld[7]
  if ABS_INC = 91 then begin                  ! X,Y,Z in increments
    X = X - XT_
    Y = Y - YT_
    Z = Z - ZT_
  end
 
Может кто сталкивался с этим ?
 
Постпроцессор для плазмы .
Ссылка на сообщение
Поделиться на других сайтах


Похоже команды M3/M5 включают и выключают плазму. Мне кажется здесь нужно делать немного по другому. Если внимательно посмотреть на текст то видно что плазма включается всегда после кадра  где выводится Z0, а выключается после кадра где Z>0. Так как эти кадры - линейное перемещение, а не  перемещение по дуге окружности, то и вывод M3/M5 необходимо организовать в программе AbsMove (вывод кадров с G1)
Поскольку вы переделываете пост из фрезерного,  имя регистра этой команды Msp. (Для фрезерного станка  M3/M5 это включение/выключение шпинделя )

В постпроцессоре можно сделать следующее:

1. В PartNo должна быть строка Msp=-1; Msp@=Msp, если есть другие присвоения каких то значений Msp то нужно их убрать. Смысл:  Msp=-1, предыдущее значение тоже равно -1, т.е. с учетом модальности это значение в УП не выводить пока его значение не изменится.
2. В AbsMove сразу после команды OutBlock вписать строки:
  if z=0 then begin                ! Если Z=0 то

        Msp=3                          ! Присваиваем регистру Msp значение равное трем
        OutBlock                      ! выводим в кадр M3  (этой командой номер выводится автоматом)

  end else begin                   ! иначе

        if z>0 then Msp=5        ! если Z>0 тогда присваиваем регистру Msp значение равное пяти

        OutBlock                      ! выводим в кадр  M5
  end

Как то так.           
 

 

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

Михаил, не надо ли в этом случае также и блокировать вывод оси Z ? или по факту она нужна будет в УП?

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

В процессе резки ось Z регулирует высоту сопла в зависимости от кривизны металла . 


После всех манипуляций с постпроцессором выводит так.

 

N1 
N2 G17
N3 G21 (Metric)
N4 M3
N5 X29.95 Y10. Z20.
N6 Z0.
N7 G3 X29.95 Y10. Z0. I-2.2 J0.
N8 G1 Z20.
N9 M5
N10  (Metric)
N11 M3
N12 X30.25 Y40.75
N13 Z0.
N14 G3 X30.25 Y40.75 Z0. I-2.5 J0.
N15 G1 Z20.
N16 M5
N17  (Metric)
Ссылка на сообщение
Поделиться на других сайтах

Михаил, лучше всего, если Вы сможете выложить свой пост (а еще лучше и проект).

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

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

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

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

Всем привет!

Очень прошу помощи в редактировании постпроцессора.

Суть такова, мне надо чтоб после включения рабочей подачи, включалась команда la_on

А перед ускоренным перемещением la_off

Вот пример:

G0 Z10.
X12.192 Y-29.461
Z-137.
G1 Z-140.

la_on
X-4.616 Y-24.587
G2 X-7.076 Y-23.768 I2.149 J-0.145
G1 X-9.302 Y-22.775
G2 X-14.437 Y-19.338 I2.309 J0.128
G1 X-16.185 Y-17.677
G2 X-20.184 Y-12.222 I2.375 J0.123
G1 X-21.154 Y-10.242
G2 X-23.278 Y-1.161 I2.274 J0.028
G1 Y201.144
G2 X-16.266 Y217.592 I2.220 J199.992
G1 X-14.609 Y219.181
G2 X-4.525 Y224.606 I2.238 J199.949

la_off
G0 Z10.
X9.607 Y-30.123
Z-139.
G1 Z-142.

la_on
X-6.814 Y-24.073
X-7.761 Y-23.724
X-9.862 Y-22.773
G2 X-15.299 Y-19.074 I1.783 J0.189
G1 X-16.818 Y-17.602
G2 X-20.831 Y-12.073 I1.752 J0.098
G1 X-21.79 Y-10.082
G2 X-23.844 Y-1.145 I1.731 J0.028
G1 Y201.134
G2 X-16.923 Y217.499 I1.652 J199.997
G1 X-15.278 Y219.095
G2 X-6.771 Y224.086 I1.659 J199.968

la_off
G0 Z10.

Буду очень признателен и благодарен за помощь, файлы проекта и поста прилагаю.

Еще вопрос который беспокоит, можно ли с помощью поста разбивать файл? Т.Е. если программа на выходе весит 4мб, а в станок запихать можно только около 400кб, вручную разбивать на 10 частей очень неудобно(((

 

Desktop.rar

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

Попробуй найти место анализа разбора этих команд в посте. и принудительно впиши вывод строки. в каждой

что-то типа print "la_off"

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

Привет всем. Спасибо за помощь кто откликнулся . Нацарапал под плазму пост. Выложу может кому пригодиться .

PCNC03 - 333.rar

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
В 28.02.2017 в 12:47, Vasili82 сказал:

Всем привет!

Очень прошу помощи в редактировании постпроцессора.

Суть такова, мне надо чтоб после включения рабочей подачи, включалась команда la_on

А перед ускоренным перемещением la_off

Вот пример:

G0 Z10.
X12.192 Y-29.461
Z-137.
G1 Z-140.

la_on
X-4.616 Y-24.587
G2 X-7.076 Y-23.768 I2.149 J-0.145
G1 X-9.302 Y-22.775
G2 X-14.437 Y-19.338 I2.309 J0.128
G1 X-16.185 Y-17.677
G2 X-20.184 Y-12.222 I2.375 J0.123
G1 X-21.154 Y-10.242
G2 X-23.278 Y-1.161 I2.274 J0.028
G1 Y201.144
G2 X-16.266 Y217.592 I2.220 J199.992
G1 X-14.609 Y219.181
G2 X-4.525 Y224.606 I2.238 J199.949

la_off
G0 Z10.
X9.607 Y-30.123
Z-139.
G1 Z-142.

la_on
X-6.814 Y-24.073
X-7.761 Y-23.724
X-9.862 Y-22.773
G2 X-15.299 Y-19.074 I1.783 J0.189
G1 X-16.818 Y-17.602
G2 X-20.831 Y-12.073 I1.752 J0.098
G1 X-21.79 Y-10.082
G2 X-23.844 Y-1.145 I1.731 J0.028
G1 Y201.134
G2 X-16.923 Y217.499 I1.652 J199.997
G1 X-15.278 Y219.095
G2 X-6.771 Y224.086 I1.659 J199.968

la_off
G0 Z10.

Буду очень признателен и благодарен за помощь, файлы проекта и поста прилагаю.

Еще вопрос который беспокоит, можно ли с помощью поста разбивать файл? Т.Е. если программа на выходе весит 4мб, а в станок запихать можно только около 400кб, вручную разбивать на 10 частей очень неудобно(((

 

Desktop.rar

На самом деле всё довольно просто. Вам нужно завести какую-либо переменную в Common которая будет отслеживать необходимость вывода данных строк, например прописать там строчку "LaOn : integer".

А затем в PartNo присвоить LaOn значение 2 "LaOn=2"

далее в Fedrat необходимо условие:

if LaOn=2 then LaOn=1

в AbsMov после строки выводящей G1 прописать следующее условие:

if LaOn=1 then begin

  Output "la_on"

  LaOn=0

end

И уже потом в Rapid в самом начале прописать след. условие:

if LaOn=0 then begin

  Output "la_off"

  LaOn=2

end

как-то так, должно получиться то, что вам нужно.

 

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

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

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

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

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

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

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

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

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

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

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




×
×
  • Создать...