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

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


DJ Astro

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

Т.е. задавая в Pro/E локальную СК для 3+2 обработки я ожидаю, что после поста в программе координаты перемещений будут выводится в такой же СК (что логично и легко для понимания при отладке, поиске ошибок и т.д.). А по факту получается, что если эти углы позволять рассчитывать G-Post’у на основании кинематики станка, то в станке потом система координат может быть повернута как угодно и не совпадать с той СК, которую задавали в проекте обработки. Хотя и координаты все будут пересчитаны правильно и обработка будет в порядке.

 

А в таком случае не проще вращать свои локальные системы вокруг тех осей, вокруг которых происходит реальное вращение на станке? Тогда ничего не понадобится пересчитывать самому, вы избежите целую кучу "подводных камней"...  И тогда СК в проекте будет совпадать с той, что будет получаться на станке. К тому же (я уже сталкивался с побобным "мировоззрением" у своих клиентов) существует целый ряд моментов, при котором подобный подход крайне губителен для получаемой УП (это в основном связано именно с выводом циклов в наклонном плане) - просто вылазят косяки целой горой... 

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


А в таком случае не проще вращать свои локальные системы вокруг тех осей, вокруг которых происходит реальное вращение на станке? Тогда ничего не понадобится пересчитывать самому, вы избежите целую кучу "подводных камней"...  

 

В этом варианте тоже есть подводный камень. До обеда ты делал деталь на один станок, а после обеда всё в срочном порядке переделываешь под другой станок с совершенно другой кинематикой, ибо начальству так виднее. :( Пересматривать весь проект и заново ворочать системы координат??

Я думаю, что на стадии проекта "связь" со станком должна быть только по части "возможно или невозможно" сделать задуманное в проекте именно на этом станке. А уже КАК это будет реализовано на станке ( как там будут потом трансформироваться координаты, как там будут крутиться оси, и т.д.) - это уже вопрос исключительно к посту, но не к проекту.

 

(это в основном связано именно с выводом циклов в наклонном плане) - просто вылазят косяки целой горой... 

Но ведь косяки решаемые? :) 

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

В этом варианте тоже есть подводный камень. До обеда ты делал деталь на один станок, а после обеда всё в срочном порядке переделываешь под другой станок с совершенно другой кинематикой, ибо начальству так виднее. :( Пересматривать весь проект и заново ворочать системы координат??

Я думаю, что на стадии проекта "связь" со станком должна быть только по части "возможно или невозможно" сделать задуманное в проекте именно на этом станке. А уже КАК это будет реализовано на станке ( как там будут потом трансформироваться координаты, как там будут крутиться оси, и т.д.) - это уже вопрос исключительно к посту, но не к проекту.

Вот верите-нет - вообще никогда не меняю ничего в проектах. Работаю уже почитай 13-й годок. И не возникает необходимости ни в постах что-то самому вычислять, и станков с ЧПУ у нас более 250 единиц, из них фрезерных разных типов - видов 20-30. Я никого не переубеждаю - каждый добивается того, что его устраивает. Я просто хочу сказать, что проблема с поворотом осей исключительно надуманная...

Все дело только в привычке. И в затраченных усилиях и эффекте...

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

Добрый день, может кто знает как в G-POST сделать так,чтобы винтовая траектория из "Фрезерование по линии среза" генерировалась с помощью дуг, а не с помощью метода конечных элементов. Точнее сказать я нашел ,как это делается, но дуги там соединяются между собой с помощью маленьких отрезков, на которых при высокоскоростной обработке станок притормаживает. Я так понял,что за количество этих отрезков отвечает параметр Tolerance, но изменение этого параметра ни к ему не привело, а хотелось бы ,чтобы дуги соединялись между собой без отрезков. Спасибо

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

Добрый день, может кто знает как в G-POST сделать так,чтобы винтовая траектория из "Фрезерование по линии среза" генерировалась с помощью дуг, а не с помощью метода конечных элементов. Точнее сказать я нашел ,как это делается, но дуги там соединяются между собой с помощью маленьких отрезков, на которых при высокоскоростной обработке станок притормаживает. Я так понял,что за количество этих отрезков отвечает параметр Tolerance, но изменение этого параметра ни к ему не привело, а хотелось бы ,чтобы дуги соединялись между собой без отрезков. Спасибо

G-POST вам не поможет. Он только преобразует исходный CL-файл, который формируется раньше. 

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

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

и это не особо помогает если  длина ваших дуг или отрезков очень мала

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

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

и это не особо помогает если  длина ваших дуг или отрезков очень мала

то есть в Creo нельзя сделать так,чтобы "фрезерование по линии среза" в конечном итоге в управляющей программе описывалось только с помощью дуг?

Ссылка на сообщение
Поделиться на других сайтах
то есть в Creo нельзя сделать так,чтобы "фрезерование по линии среза" в конечном итоге в управляющей программе описывалось только с помощью дуг?

чудес не бывает )  если участок траектории не может быть описан уравнением окружности то ни какой сапр не сможет это сделать дугами

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

Как обойти ограничение по допустимому кол-ву символов с строке и выводить длинные строки циклов для Siemens? Типа CYCLE800 и т.д. Сделал чз REPLAC, но может есть какой-то способ проще?

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

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

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

В стоках TNC от Heidenhain (в частности TNC 430) вызов цикла инициируется посредством команды M99 , может кто подскажет как реализовать вывод этой команды в конце кадра каждой точки цикла?

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

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

Точно! :) Спасибо, разобрался.

 

 

В стоках TNC от Heidenhain (в частности TNC 430) вызов цикла инициируется посредством команды M99 , может кто подскажет как реализовать вывод этой команды в конце кадра каждой точки цикла?

Можно использовать "AUXFUN/99,NEXT", которая выведет М99 в следующем кадре.

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

А как вывести отмену коррекции в последнем кадре контура, может кто подсказать :smile: ? 

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

А как вывести отмену коррекции в последнем кадре контура, может кто подсказать :smile: ? 

она сама как правило выводится

и почему в последнем кадре контура?

отход от контура не делаете?

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

А как вывести отмену коррекции в последнем кадре контура, может кто подсказать :smile: ? 

Обязательные параметры для включения/выключения коррекции

CUTCOM - ON

CUT_ENTRY_EXT - LEAD_IN

CUT_EXIT_EXT - LEAD_OUT

заданы элементы подвода/отвода NORMAL_LEAD_STEP, LEAD_RADIUS, TANGENT_LEAD_STEP (нужный в Вашем случае)

По отдельности не работают.

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

она сама как правило выводится

и почему в последнем кадре контура?

отход от контура не делаете?

 

Все дело в стойке Балтсистем. В мануале по программированию для этой стоки указано что G40 должна быть в последнем шаге контура. Варианты которые дает GPOST не подходят, там либо отдельным кадром между последним шагом контура и отходом, либо совместно с шагом отхода. Оба варианта вызывают ошибку.

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

Делал постпроцессор для NC310 в 2010 году. Надо для каждого GOTO заносить строку вывода в буфер, анализировать следующую ncl-команду и соответственно при CUTCOM/OFF добавлять отключение коррекции в текущий сформированный кадр. Пример работы постпроцессора для балтсистем NC:

RAPID 
GOTO / -66.3605385535, 88.9790926167, 5.0000000000
RAPID 
GOTO / -66.3605385535, 88.9790926167, -4.7000000000
FEDRAT / 20.000000,  MMPM
GOTO / -66.3605385535, 88.9790926167, -5.2000000000
CUTCOM / LEFT
GOTO / -66.3605385535, 85.3000000000, -5.2000000000
GOTO / -46.8830200523, 85.3000000000, -5.2000000000
GOTO / -36.8859840051, 78.3000000000, -5.2000000000
GOTO / 36.8859840051, 78.3000000000, -5.2000000000
GOTO / 46.8830200523, 85.3000000000, -5.2000000000
GOTO / 66.3605385535, 85.3000000000, -5.2000000000
CUTCOM / OFF
GOTO / 66.3605385535, 87.3000000000, -5.2000000000
RAPID 
GOTO / 66.3605385535, 87.3000000000, 5.0000000000
 
N8G1X0.Y0.Z150.F2000.
N10G1X-66.3605Y88.9791F2000.
N12G1Z5.F2000.
N14G1Z-4.7F2000.
N16TMR=3
N18G1Z-5.2F20.
N20G41Y85.3
N22X-46.883
N24X-36.886Y78.3
N26X36.886
N28X46.883Y85.3
N30G40X66.3605
N32Y87.3
N34G1Z5.F2000.
 
Ссылка на сообщение
Поделиться на других сайтах

 

Делал постпроцессор для NC310 в 2010 году. Надо для каждого GOTO заносить строку вывода в буфер, анализировать следующую ncl-команду и соответственно при CUTCOM/OFF добавлять отключение коррекции в текущий сформированный кадр. Пример работы постпроцессора для балтсистем NC:

RAPID 
GOTO / -66.3605385535, 88.9790926167, 5.0000000000
RAPID 
GOTO / -66.3605385535, 88.9790926167, -4.7000000000
FEDRAT / 20.000000,  MMPM
GOTO / -66.3605385535, 88.9790926167, -5.2000000000
CUTCOM / LEFT
GOTO / -66.3605385535, 85.3000000000, -5.2000000000
GOTO / -46.8830200523, 85.3000000000, -5.2000000000
GOTO / -36.8859840051, 78.3000000000, -5.2000000000
GOTO / 36.8859840051, 78.3000000000, -5.2000000000
GOTO / 46.8830200523, 85.3000000000, -5.2000000000
GOTO / 66.3605385535, 85.3000000000, -5.2000000000
CUTCOM / OFF
GOTO / 66.3605385535, 87.3000000000, -5.2000000000
RAPID 
GOTO / 66.3605385535, 87.3000000000, 5.0000000000
 
N8G1X0.Y0.Z150.F2000.
N10G1X-66.3605Y88.9791F2000.
N12G1Z5.F2000.
N14G1Z-4.7F2000.
N16TMR=3
N18G1Z-5.2F20.
N20G41Y85.3
N22X-46.883
N24X-36.886Y78.3
N26X36.886
N28X46.883Y85.3
N30G40X66.3605
N32Y87.3
N34G1Z5.F2000.
 

 

 

 

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

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

но как сделать чтобы не выдавало лишнего G40 что-то туплю 

G41 Y1
X-104.5
G3 X-107 Y-1.5 R2.5
G1 Y-27.5
G3 X-104.5 Y-30 R2.5
G1 X-78.5
G3 X-76 Y-27.5 R2.5
G1 Y-1.5
G3 X-78.5 Y1 R2.5
G1 G40 X-91.5
G40 Y-4
Изменено пользователем moovi
Ссылка на сообщение
Поделиться на других сайтах

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

Ссылка на сообщение
Поделиться на других сайтах
но как сделать чтобы не выдавало лишнего G40 что-то туплю 
CIMFIL/ON,CUTCOM

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

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

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

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

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

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

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

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

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

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

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

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




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