Михаил 95

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

Постпроцессор неправильно ставит М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 , не могу найти посты под плазму или для лазера хоть посмотреть как это все у них работает . Сейчас на плазме все пишется вручную , хочется модернизации и ускорить этот процесс. ) 

Поделиться сообщением


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

Прикрепите фаил вашего поста и фаил CLData проекта

Поделиться сообщением


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

Всем привет!

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

Суть такова, мне надо чтоб после включения рабочей подачи, включалась команда 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 пользователям понравилось это

Поделиться сообщением


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

ID: 11   Опубликовано: (изменено)

В 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
1 пользователю понравилось это

Поделиться сообщением


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

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

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

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

  • реклама

  • Реклама

  • Ближайшие события

    Предстоящих событий не найдено
  • Дни рождения сегодня

    1. Abossy
      Abossy
      (45 лет)
    2. Aelita
      Aelita
      (26 лет)
    3. Alex V6
      Alex V6
      (30 лет)
    4. kiredjds
      kiredjds
      (49 лет)
    5. neverslava
      neverslava
      (37 лет)
    Просмотреть все