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

G-POST, много вопросов. Хочется понять логику работы.


DJ Astro

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

Не обязательно отключать G40 через FIL, можно отключить через сам редактор постпроцессоров

 

Действительно помогло )

 

 

Единственное, что фильтр GOTO затормаживает вывод программы как я понял.

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


Пытался сделать правильный вывод цикла сверления, поковырялся в Gpost`e и в результате получил почти то что надо, единственное что не получается, так это вывод первого отверстия внутри цикла. 

 

В идеале получить примерно такой формат:

 

N7 T1 M6

N8 S3000 M13
N9 G0 X134 Y41
N10 Z2
N11 G81 R-4 Z-7 F100
N12 X134 Y41
N13 Y15.6
N14 G80
N15 G0 Z2
N16 M30

 

Но Gpost выводит координаты первого отверстия либо в строке описания цикла параметрами, либо вообще не выводит их. Может кто подскажет как  первое отверстие запихнуть внутрь цикла? :worthy:  

 

 

Изменено пользователем moovi
Ссылка на сообщение
Поделиться на других сайтах
CIMFIL/ON,CUTCOM

FL40=POSTF(7,4)
 IF (FL40.EQ.ICODEF(OFF)) THEN
  EXIT/NOW
 ENDIF
DMY=POSTF(13)

CIMFIL/OFF

Вот тут все проще:

Вариант 1 (самый простой) - отключить вывод кода G40 в анкете, поставив NR/NA

Вариант 2 (чуть сложнее, если вдруг вариант 1 по каким-то причинам не устраивает) :

 

  Перед секцией CIMFIL/ON,CUTCOM (если таковая имеется) прописать:

  CIMFIL/AT,CUTCOM,OFF

  CIMFIL/OFF

 

Все. Больше ничего не нужно.

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

 

Пытался сделать правильный вывод цикла сверления, поковырялся в Gpost`e и в результате получил почти то что надо, единственное что не получается, так это вывод первого отверстия внутри цикла. 

 

В идеале получить примерно такой формат:

 

 

Но Gpost выводит координаты первого отверстия либо в строке описания цикла параметрами, либо вообще не выводит их. Может кто подскажет как  первое отверстие запихнуть внутрь цикла? :worthy:  

 

 

 

Что-то типа того:

 
FRST=0; CYCL=0; 
 
CIMFIL/AT,CYCLE,OFF
   CYCL=0
   DMY=POSTF(13)
CIMFIL/OFF
 
CIMFIL/ON,CYCLE
   CYCL=1
   FRST=1
   DMY=POSTF(13)
CIMFIL/OFF
 
CIMFIL/ON,GOTO
      IF (CYCL.EQ.1.AND.FRST.EQ.1) THEN
         XB=POSTF(7,6)
         YB=POSTF(7,7)         
         ZB=POSTF(7,8) 
         IB=POSTF(7,9) 
         JB=POSTF(7,10) 
         KB=POSTF(7,11) 
         DMY=POSTF(13)
         DMY=POSTF(20)
         DMY=POSTF(2,1,1867,1)
         IF ((POSTF(1,1,1987)).EQ.3) THEN
           GOTO/XB,(YB+1),ZB
         ELSE  
           GOTO/XB,(YB+1),ZB,IB,JB,KB
         ENDIF
         DMY=POSTF(2,1,1867,0)
         DMY=POSTF(21)         
         FRST=0
      ENDIF   
      DMY=POSTF(13)
CIMFIL/OFF
 
Вроде работает... Хотя не оч. понятно, опять к чему такие сложности. Судя по Вашему посту - стойка - обычный Фанук. Зачем повторять отверстие, на которое еще до цикла выполнено позиционирование - остается загадкой. Это отверстие на нормальной стойке ЧПУ по вашей программе будет обработано 2 раза...
Ссылка на сообщение
Поделиться на других сайтах

есть другой способ, я им пользуюсь, не скажу что он проще или сложнее, он мне удобнее

нужно включить опцию в основных настройках

 

post-4994-0-65768100-1466141452_thumb.jpg

 

и в филе создать макрос _OUTPT

 

post-4994-0-18652400-1466141478_thumb.jpg

 

в нем можно перехватывать все что отправляется на вывод в окончательный файл программы в формате вывода

и искать уже по сформированым значениям которые заданы тут

 

post-4994-0-05612300-1466141495_thumb.jpg

 

вот как то так )

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

  

Вроде работает... Хотя не оч. понятно, опять к чему такие сложности. Судя по Вашему посту - стойка - обычный Фанук. Зачем повторять отверстие, на которое еще до цикла выполнено позиционирование - остается загадкой. Это отверстие на нормальной стойке ЧПУ по вашей программе будет обработано 2 раза...

 

 

Спасибо всем за помощь :smile:  ! 

 

 

Ещё один маленький вопрос.

Можно как-то объединить вот эти два фильтра в один.

 

FRST=0; CYCL=0; 
 
CIMFIL/AT,CYCLE,OFF
   CYCL=0
   DMY=POSTF(13)
CIMFIL/OFF
 
CIMFIL/ON,CYCLE
   CYCL=1
   FRST=1
   DMY=POSTF(13)
CIMFIL/OFF
 
CIMFIL/ON,GOTO
      IF (CYCL.EQ.1.AND.FRST.EQ.1) THEN
         XB=POSTF(7,6)
         YB=POSTF(7,7)         
         ZB=POSTF(7,8) 
         IB=POSTF(7,9) 
         JB=POSTF(7,10) 
         KB=POSTF(7,11) 
         DMY=POSTF(13)
         DMY=POSTF(20)
         DMY=POSTF(2,1,1867,1)
         IF ((POSTF(1,1,1987)).EQ.3) THEN
           GOTO/XB,(YB+1),ZB
         ELSE  
           GOTO/XB,(YB+1),ZB,IB,JB,KB
         ENDIF
         DMY=POSTF(2,1,1867,0)
         DMY=POSTF(21)         
         FRST=0
      ENDIF   
      DMY=POSTF(13)
CIMFIL/OFF

 

 

 

CIMFIL/ON,GOTO

DMY

=POSTF(20)

IR1=POSTF(7,1)

DMY=POSTF(14)

FL41=POSTF(7,3)

FL40=POSTF(7,4)

IF(FL41.EQ.ICODEF(CUTCOM).AND.FL40.EQ.ICODEF(OFF)) THEN

    PREFUN/40,NEXT

ENDIF

DMY=POSTF(15,(IR1+1))

DMY=POSTF(21)

DMY=POSTF(13)

CIMFIL/OFF

 

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

 

Версия с OUTPT макросом тоже интересна, сейчас буду пробовать

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

Вот такое получилось:

 

_OUTPT=MACRO/ 
  NCUR=POSTF(31,1,N)
  GCUR=POSTF(31,1,G)
  XCUR=POSTF(31,1,X)
  YCUR=POSTF(31,1,Y)
  ZCUR=POSTF(31,1,Z)
  FCUR=POSTF(31,1,F)
  RCUR=POSTF(31,1,R)
 
  IF (GCUR.EQ.81) THEN
                           
    DMY=POSTF(31,20)
  DMY=POSTF(31,03)
  DMY=POSTF(31,2,14,NCUR)
    DMY=POSTF(31,2,7,81) 
    DMY=POSTF(31,2,18,RCUR) 
    DMY=POSTF(31,2,26,ZCUR) 
    DMY=POSTF(31,2,6,FCUR) 
    DMY=POSTF(31,2,24,XCUR) 
    DMY=POSTF(31,2,25,YCUR) 
  DMY=POSTF(31,19)
  DMY=POSTF(31,21)
  ELSE
      DMY=POSTF(19)
  ENDIF
TERMAC

 

 

N7 T23.23 M6

N9 S1500 M13
N10 G0 X17 Y-99.5
N11 Z2
N12 G81 X17 Y-99.5 R2 Z-1 F50
N13 X88.5 Y99.5
N14 X88.5 Y38.5
N20 G80

 

только не понятно как текущий X и Y прописать не в цикле, а следующим кадром.

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

По поводу объединения секций GOTO: вторая секция Вам и не нужна. См. посты выше, я уже писал как избавиться от G40 и не плодить FIL-процедур. Другое дело, если вы не ищете легких путей, то можете воткнуть вместо последнего DMY=POSTF(13) свою вторую процедуру и получить так же желаемый эффект.

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

Но можно еще немного подумать и сделать через _OUTPT(там тоже не сложно), если уж есть такое жгучее желание - но это уж Вы сами, а то совсем не интересно будет..

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

По поводу объединения секций GOTO: вторая секция Вам и не нужна. См. посты выше, я уже писал как избавиться от G40 и не плодить FIL-процедур. Другое дело, если вы не ищете легких путей, то можете воткнуть вместо последнего DMY=POSTF(13) свою вторую процедуру и получить так же желаемый эффект.

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

Но можно еще немного подумать и сделать через _OUTPT(там тоже не сложно), если уж есть такое жгучее желание - но это уж Вы сами, а то совсем не интересно будет..

 

Склеил как вы сказали , все получилось спасибо :smile: . А насчет отключения G40 так проблема была не в отключении как таковом, а в выводе G40 на кадр раньше нежели это делает creo (особенность стойки балсистем). В результате все работает как надо спасибо ещё раз :worthy: . Единственное что фильтр на GOTO вроде как тормозит вывод программы, но с этим можно жить )

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

Склеил как вы сказали , все получилось спасибо :smile: . А насчет отключения G40 так проблема была не в отключении как таковом, а в выводе G40 на кадр раньше нежели это делает creo (особенность стойки балсистем). В результате все работает как надо спасибо ещё раз :worthy: . Единственное что фильтр на GOTO вроде как тормозит вывод программы, но с этим можно жить )

на здоровье

Ссылка на сообщение
Поделиться на других сайтах
Единственное что фильтр на GOTO вроде как тормозит вывод программы, но с этим можно жить

чем больше строк и анализа в филе тем медленее работает пост ))

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

Добрый вечер. Не подскажете с помощью чего можно открыть файл, подключенный к постпроцессору такой командой?

INCLUD/BINARY,file_name.bin

Может ли в нем содержаться ограничение перемещения по оси? Дело в том, что если, например,расстояние между отверстиями больше 1000,скажем 1158, то постпроцессор выводит его как 158, то есть вычитает тысячу.

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

Добрый вечер. Не подскажете с помощью чего можно открыть файл, подключенный к постпроцессору такой командой?

INCLUD/BINARY,file_name.bin

Может ли в нем содержаться ограничение перемещения по оси? Дело в том, что если, например,расстояние между отверстиями больше 1000,скажем 1158, то постпроцессор выводит его как 158, то есть вычитает тысячу.

Бинарный файл является файлом зашифрованного FIL-кода. Его вы не откроете ничем, если только вы не спец-криптограф или не работаете в Austin N.C. В нем (файле) может содержаться все что угодно - это на усмотрение разработчика поста.

Конкретно ваша беда может оказаться гораздо прозаичнее (FIL для этого не нужен). Зайдите в G-Post'e в настройки MCD, найдите в нем формат регистра, соответствующего вашей оси (например, X) и увеличьте разрядность, к примеру с 3.3 на 4.3 или 5.3 - сколько вам нужно. Постпроцессор, скорее всего, ничего не вычитает - у него просто не хватает знакоместа для того, чтобы отобразить значение регистра полностью.

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

Бинарный файл является файлом зашифрованного FIL-кода. Его вы не откроете ничем, если только вы не спец-криптограф или не работаете в Austin N.C. В нем (файле) может содержаться все что угодно - это на усмотрение разработчика поста.

Конкретно ваша беда может оказаться гораздо прозаичнее (FIL для этого не нужен). Зайдите в G-Post'e в настройки MCD, найдите в нем формат регистра, соответствующего вашей оси (например, X) и увеличьте разрядность, к примеру с 3.3 на 4.3 или 5.3 - сколько вам нужно. Постпроцессор, скорее всего, ничего не вычитает - у него просто не хватает знакоместа для того, чтобы отобразить значение регистра полностью.

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

Уважаемы коллеги!

При создании УП, состоящей из циклов сверления/ резьбонарезания при установленных подачах отхода/ подхода по G0 выводит следующее:

N16G0G43Z25.H5M8
N18A90.
N20X-12.05Y0.
N22G84G95G98X-12.05Y0.Z-2.R17.Q.5F1.5A90.
N24X-38.05
N26X-64.15
 

Выделенное жирным приходится всегда править руками на одну общую строчку.

Если поставить подачи отхода/подхода по G1- выводит нормально. 

Возможно это как-нибудь исправить? 

 

И еще вопрос: 

При жестком нарезании резьбы метчиком в строке оборотов необходимо вставить М29, но я тоже так и не нашел где это.
Может кто подскажет что можно сделать?

Изменено пользователем fenics555
Ссылка на сообщение
Поделиться на других сайтах
При создании УП, состоящей из циклов сверления/ резьбонарезания при установленных подачах отхода/ подхода по G0 выводит следующее: N16G0G43Z25.H5M8 N18A90. N20X-12.05Y0. N22G84G95G98X-12.05Y0.Z-2.R17.Q.5F1.5A90. N24X-38.05 N26X-64.15   Выделенное жирным приходится всегда править руками на одну общую строчку. Если поставить подачи отхода/подхода по G1- выводит нормально.  Возможно это как-нибудь исправить? 

 

 Попробуйте в Gpost закладки:

Motion - Rapid - в поле Motion Analysis - выбрать None.
(Если эти кадры не формируются через Fil).
 
И еще вопрос:  При жестком нарезании резьбы метчиком в строке оборотов необходимо вставить М29, но я тоже так и не нашел где это. Может кто подскажет что можно сделать?
 
Обычно реализуется через Fil.
Ссылка на сообщение
Поделиться на других сайтах
Попробуйте в Gpost закладки: Motion - Rapid - в поле Motion Analysis - выбрать None.

Да, именно это и надо было.

Обычно реализуется через Fil.
 

А еще обычнее реализуется руками  :smile:

Спасибо.

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

Уважаемые коллеги!

Прошу подсказать, где и что поправить в настройках G-Post чтобы устранить проблему.

Пост, в каких то случаях, игнорирует заданные ограничения кинематики и формирует физически невозможное движение.

 

post-95-0-78957000-1480950515_thumb.png

post-95-0-37711000-1480950524.png

 

При этом в сгенерированном коде присутствуют подобные "фишки"

 

post-95-0-59928900-1480950725.png

 

Версия G-Post 6.4 (Creo 2.0 m210 64bit)

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

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

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

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

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

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

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

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

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

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

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



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