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

Не выводит G81 помощь в постпроцессоре


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

Доброго времени суток...

 

Вот пробую писать пост для спрута... 

Нашел пост для хааса он не выводит Ж81, взял для фанука он выводит цикл сверления...

Пока разницу не сильно вижу, попробовал в левом верхнем окне "команды" заменить что было у фанука в команду CYCLE на хаас, все равно не выводит...

Пока не понял зависимость, с NX-ом вроде как то проще было... наверное...

 

Подскажите куда и как копать... 

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


Я сам новичок, начал писать пост с ноля для сименса 840д и мне хватило того что есть в хелпе ну не много тут подсказали!

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

Доброго времени суток...

 

Вот пробую писать пост для спрута... 

Нашел пост для хааса он не выводит Ж81, взял для фанука он выводит цикл сверления...

Пока разницу не сильно вижу, попробовал в левом верхнем окне "команды" заменить что было у фанука в команду CYCLE на хаас, все равно не выводит...

Пока не понял зависимость, с NX-ом вроде как то проще было... наверное...

 

Подскажите куда и как копать... 

добрый день 

покажите хоть в каком посте "копаете" и для какой версии SprutCAM.. если можно и проектец свой.. а вдруг товарищи подскажут да и сами научимся чему-нить новому..

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

Прикладываю пост...

А проект с натяжкой можно считать... просто начертил окружность и сверлю ее....

 

вот что он выводит... 

 

 

%
O1111
(NoName)
G17 G90 G54 G21 G40 G80
(OBRABOTKA OTVERSTIJ)
N2 T01 M06 (2.4MM DRILL)
N3 G0 G17 X0. Y-40. S200 M03
N4 G43 Z20. H01 M08
N5 M05 M09
N6 G28 G91 Z0.
N7 M30
%
 
 
Как видите пропушен цикл G81 я разные ставил, и с ломкой стружки, и с выводом.... все равно цикл пропущен...
 
А еще вопрос?
Как мне сделать что бы M05 M09 выводил в разных кадрах...?
 
SprutCAM 9
 

 

HAAS(mill).rar

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

 

Прикладываю пост...

А проект с натяжкой можно считать... просто начертил окружность и сверлю ее....

 

вот что он выводит... 

 

SprutCAM 9

 

 

Похоже постпроцессор для более ранних версий SprutCAM, или в нем не реализована команда постпроцессора ExtCycle.

Как обойти:

1) 1й  вариант - переключить тип формируемого цикла, и тогда вроде как должно все пойти.

post-16895-0-65151000-1435753709_thumb.png

 

2) реализовать работу процедуру ExtCycle - более трудоемко, но зато системно 

 

у меня M05 и M09 в разных кадрах вывелись.

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

Спасибо...

 

Помогло с выставлением старого постпроцессора... :)

А как мне шапку поменять ?

G17 G90 G54 G21 G40 G80

 

Убрать некоторые или добавить свои ?

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

Спасибо...

 

Помогло с выставлением старого постпроцессора... :)

А как мне шапку поменять ?

G17 G90 G54 G21 G40 G80

 

Убрать некоторые или добавить свои ?

Идеология примерно такая, за каждое слово (G17 - это одно слово, G90 - другое) отвечает свой регистр. 

у регистра есть имя KorEcv - отвечает за коррекцию (G40/g41/g42), а переменная которая ее выводит G.

 

Присваивая в регистр (допустим KorEcv) значение 40, система проверяет если значение отличается от предыдущего (хранится в KorEcv@), то значит надо выводить этот регистр в кадр.

Поэтому, строка вида

  KorEcv = 40; KorEcv@=KorEcv  

блокирует этот вывод. 

 

Принудительный вывод значения регистра возможен 

  KorEcv@= KorEcv - 1
 

Шапка обычно формируется либо в команде PartNO, либо может формироваться в PPFUN

 

есть еще такой способ:  output "G54 G17 G90" - т.е вывод на печать в кадр строки(строковой переменной), но в этом случае не учитывается состояние и формат каждого регистра.

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

Ну немного понятно... Только немного...

 

А как допустим мне поменять тот же цикл сверления ?

В NX там вроде все понятно... под отдельные операции, отдельные блоки... 

А тут я полазил... Нашел вкладку ЦИКЛЫ.... но там только описание вывода G81-g85 а что в самом цикле должно быть никак не могу найти (((

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

Ну немного понятно... Только немного...

 

А как допустим мне поменять тот же цикл сверления ?

В NX там вроде все понятно... под отдельные операции, отдельные блоки... 

А тут я полазил... Нашел вкладку ЦИКЛЫ.... но там только описание вывода G81-g85 а что в самом цикле должно быть никак не могу найти (((

описание данных в команде CYCLE доступно в справке

post-16895-0-16759800-1435845822_thumb.png

 

а описание того, что должно выводиться в цикле в описании стойки HAAS

 

в посте, который Вы выложили следующее:

 

в этом блоке идет инициализация параметров цикла, 

 

   CycleOn = 1
    KodCycle = cld[1]
    Za = cld[2]                                          <- судя по справке это глубина отверстия
    if cld[4] > 0 then begin
      if cld[3]=316 then Fr=cld[4]*S else Fr=cld[4]       ! вероятно это подача
    end
    Zf = cld[5]
    ZP_ = cld[6]
    if cld[1]=81 or cld[1]=212 or cld[1]=213
      then Dwell = cld[8] else Dwell = 0                       ! это похоже пауза на дне 
    if cld[1]=153 or cld[1]=288 then begin
      Zl = cld[6]
      Zi = cld[7]
      ZP_ = cld[8]
      Dwell = cld[10]
    end
 
дальше если цикл включен, значения данных расчетов перекладываются в соответствующие регистры...
 
 
а что должно быть в самом цикле? 
Ссылка на сообщение
Поделиться на других сайтах

Я просто к примеру... Ну допустим  хочу чтобы в цикле перед G81 он переходил в подачу на оборот G95 а в конце перед G80 переходил в минутную подачу G84. И где посмотреть, как бы это назвать... "главную ветвь" где по строчкам идет программа... типа что должно вызываться и что за это отвечает ? И откуда вызывается ...

 

Может не сильно внятно объяснил... но все же.. 

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

Я просто к примеру... Ну допустим  хочу чтобы в цикле перед G81 он переходил в подачу на оборот G95 а в конце перед G80 переходил в минутную подачу G84. И где посмотреть, как бы это назвать... "главную ветвь" где по строчкам идет программа... типа что должно вызываться и что за это отвечает ? И откуда вызывается ...

 

Может не сильно внятно объяснил... но все же..

мой ответ пока немного не по теме... но нашел вот такой ролик.... так сказать по основам постпроцессирования в SprutCAM

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

Я просто к примеру... Ну допустим  хочу чтобы в цикле перед G81 он переходил в подачу на оборот G95 а в конце перед G80 переходил в минутную подачу G84. И где посмотреть, как бы это назвать... "главную ветвь" где по строчкам идет программа... типа что должно вызываться и что за это отвечает ? И откуда вызывается ...

 

Может не сильно внятно объяснил... но все же.. 

скажем так... в Генераторе постпроцессоров есть пошаговый отладчик (если использовать кнопку F8). В этом случае, генератор бежит по строкам CLData (постарался на схеме показать, что есть где).

post-16895-0-78710200-1435957417_thumb.png

 

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

 

теперь, что касается примера переход в режим G95 и обратно в G94 я для сравнения приложу как было и как стало, а также картинку со сравнением текста обоих вариантов.

post-16895-0-05443000-1435957961_thumb.png

новый текст_Cycle.txtстарый текстCyclle.txt

 

PS: для нового варианта необходимо в команде Common объявить новую переменную, добавив строку   needFr_rev: integer

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

Подскажите как мне для вывода G2 G3 использовались I J а ни R

Добрый день, 

Если рассмотреть команду "CIRCLE     XC 150, YC -230, ZC -32.667, R 36, XE 117.924, YE -213.656, ZE -32.667", то мы увидим, что 

первые 3 координаты в этой строке (XC, YC, ZC)  (хранятся соответственно в CLD[1], CLD[2], CLD[3]) - Координаты X, Y и Z центра окружности

последние 3 (XE, YE, ZE) - координаты конечной точки дуги.

R - это радиус дуги.

 

обработчик команды может быть написан под разный формат вывода допустим XYR, или XYIJ, а может содержать оба варианта, а переменной определять выбор какой из этих способов будет работать.

Рассмотрим фрагмент команды CIRCLE для комбинированного случая из постпроцессора fanuc(30i)_Mill из ознакомительной версии.

 

  if cld[4] > 0 then INTERP_ = 3 else INTERP_ = 2   ! G3/G2
  X = cld[5]                                  ! X,Y,Z in absolutes
  Y = cld[6]
  Z = cld[7]
 
  if CirclesThroughRadius>0 then begin                  ! CirclesThroughRadius - это переменная, объявленная в секции COMMON, и проинициализированная в PartNO.  Может принимать значения 1 - вывод через                                                                                                                           ! радиус®, 0 - через IJK
    call CheckCircleAngle(RSign)                              ! это подпрограмма проверки знака радиуса в зависимости от типа обхода дуги 
    Rc = RSign*abs(CLD.R); Rc@ = MaxReal
  end else begin                               
! в этом случае будет вывод через IJK
    XC_ = cld[1] - XT_                                              ! XC_, YC_, ZC_ - регистры IJK соответственно. Если постпроцессор выводит координаты центров в относительных значениях - то формула будет XC_ = cld[1] - XT_ 
    YC_ = cld[2] - YT_                                              ! если в абсолютах - то просто XC_ = cld[1]
    ZC_ = cld[3] - ZT_
 
    XC_@ = MaxReal; ZC_@ = MaxReal  YC_@ = MaxReal         ! поскольку вывод IJK желательно делать в каждом кадре, то сбрасываем старые значения
    case Plane of                                                                            ! и в зависимости от активной плоскости блокируем ненужную координату центра 
      17: ZC_@ = ZC_;                                                                    ! например для плоскости G17  не выводит координату K
      18: YC_@ = YC_;
      19: XC_@ = XC_;
    end
  end
 
! соответственно, принудительно обеспечим вывод координат конечных точек дуг, опять же в зависимости от плоскости.
  case Plane of
    17: begin
      X@ = MaxReal;
      Y@ = MaxReal
    end
    18: begin
      X@ = MaxReal;
      Z@ = MaxReal
    end
    19: begin
      Y@ = MaxReal
      Z@ = MaxReal
    end
  end
 
  OutBlock                     ! и выведем все измененные значения в кадр
  XT_ = cld[5]                 ! сохраним координаты во внутренние переменные системы для последующих расчетов
  YT_ = cld[6]
  ZT_ = cld[7]

 

Можно скачать и рассмотреть данный пример самому.

Fanuc (30i)_Mill.rar

Ссылка на сообщение
Поделиться на других сайтах
Нашел пост для хааса он не выводит Ж81, взял для фанука он выводит цикл сверления

Вроде бы, у HAASa нет этого цикла. Его заменяет G83 без Q

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

Спасибо Dantist

 

А можно сделать так чтобы он в выбранных операциях выводил G2 G3 как круговую интерполяцию, а в остальных делил на отрезки по G1?

 

Или это надо на уровне постпроцессора?

Типа смотрел в каком положении находятся оси B и С сравнивал что они ни в нуле и тогда начинал делить на отрезки ?

 

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


Клиент 

да нет все нормально он понимает. Но смысл в том что не выводились ни один из циклов сверления растачивания и резьбонарезания...

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

Вопрос конечно сложный, и необычный..

А для чего так делать? 

станок работает в режиме 3+2? а в повернутой системе координат дуги не поддерживаются?

Ссылка на сообщение
Поделиться на других сайтах
А можно сделать так чтобы он в выбранных операциях выводил G2 G3 как круговую интерполяцию, а в остальных делил на отрезки по G1?

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

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

Ну получается что если он не стоит в плане G17 G18 или G19 

 

в каком то угле отличающимся от от этого плана, то он не понимает... ну это было выведено опытном путем... может какая то функция не включена или мы что то ни то делаем...

 

станок UMC-750 HAAS

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Bot
      АСКОН, российский разработчик инженерного программного обеспечения и ИТ-интегратор, подвел итоги 2023 года. Выручка компании выросла на 47% и достигла 5,6 млрд рублей, штат сотрудников увеличился до 1250 человек. Клиентская база пополнилась тысячью предприятий и сегодня с решениями АСКОН работают почти 16 000 заказчиков из всех отраслей промышленности и строительства. Смотреть полностью
    • Sergey78
    • scrimline
      Уговаривать ему пришлось да и оскорбили его. Я вообще то сразу написал что постараюсь ладдер скинуть, а ты сарказмом со всех щелей хлестать начал. 
    • andrey2147
      Я подключал 532 , позже поищу ссылки, ВинПсином и кабелем там хитрость в настройках винпсина 7 бит надо ставить вам зачем ?
    • Guhl
      Надеюсь, в моих словах вы ничего оскорбительного не усмотрели Или это я?
    • Guhl
      Представляю. Я же не предлагал на полной скорости считать Получается, что до м19 считает правильно, а после - неправильно?
    • mannul
      Вы сначала проверьте точно ли режущий край пластины в оси детали. А то китайские державки и пластины бывают с такими косяками.
    • kkk
      Что-то вдруг резко понадобилась возможность посчитать площадь разной отделки в изделии. Есть куча многотельных деталей, какие-то поверхности красятся одним цветом, какие-то другим, какие-то третьим. Раскрасить в модели проблем нет, а нет ли возможности высчитать эту информацию автоматом? Есть ли какой-то способ наложения "отделки", чтобы Солид мог ей оперировать в дальнейшем.    Раньше, если изредка нужно было что-то подобное посчитать, просто выбирал нужные грани мышкой и смотрел сумму площадей в инструменте измерения. Но хочется больше интерактива, чтобы Солид сам отслеживал, что у него чем "покрашено".
    • andrey2147
      Пришлось уговаривать оператора что-бы выполнил просьбу Виктора, ещё и  оскорбили.  
    • gudstartup
      да не надо ничего паять система прекрасно считает импульсы на оборот в 445 параметре диагностики вот только беда в том что один раз войдя в режим контроля позиционирования после m19 она из него уже не выходит хотя сразу после включения находится в режиме управления скоростью и 445 параметр ничего не отображает и контроль числа импульсов отсутствует. Вопрос как выключить контроль позиционирования. он вводится по G70.6 но и после того как этот сигнал остается система продолжает контролировать кодер. в обще то понятно что это датчик так как на скорости 100 или 200 оборотов а также при ориентации все хорошо а потом видимо амплитуда сигнала падает ниже нормы там все ок вы частоту представляете при 5000 об 5000*4096
×
×
  • Создать...