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

Требуется помощ по постпроцессору если не сложно


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

Отправлено 26 минут назад

 

Добрый день всем
Есть такая программа (кусочек)

 

O777 ( FILENAME = 777 )
( P/N                                  5-18-2016 )
( HITACHI SEIKI HICELL NCN LATHE )
 
N1 G28 U0 M05
G30 V0 W0
G10 P00 Z###.## ( EDIT ###.## FOR WORK SHIFT AMOUNT )
G50 S4500
M101 ( C-AXIS BRAKE OFF )
M28 ( TAILSTOCK HOME )
M175 ( CHIP CONVEYOR ON )
M01
 
G30 U0 V0 W0 M41
T010100 ( WS_Turn_80m_RH )
G18 G97 G99 G140 S518 M8
G00 X104.4 Y0 Z0.1 M04
G96 S170
G01 X-1.6 F0.38
Z0.5
X-0.8929 Z0.8536
G00 Z3.0
G18 G97 G99 G140 S1000 M8
G00 X106.0
 
G50 S4500
G96 S246
Z0.
G01 X-1.6 F0.15
X3.774 Z2.687
M01
M05 ( MAIN SPINDLE STOP )
 
N2 (               )
G30 U0 V0 W0
T010200 B0 ( SD_90_M1200-повор. Z )
M101 ( C-AXIS BRAKE OFF )
M43  ( C-AXIS COUPLE )
G28 H0 ( C-AXIS HOME )
G50 C0. ( C-AXIS PRESET )
G17 G97 G98 G140 S595 M8
G00 X-55.4738 Y11.9742 Z25.0 C156.6 M13
M8
Z3.0
G83 R3.0 Z-10.0 F138.34 z axis drill
G80
Z25.0
X-33.5549 Y-29.5635 C240.4
X-33.5549 Y-29.5635
Z3.0
G83 R3.0 Z-10.0 F138.34 z axis drill
G80
Z25.0
X31.3901 Y29.9694 C62.4
X31.3901 Y29.9694
Z3.0
G83 R3.0 Z-10.0 F138.34 z axis drill
G80
Z25.0
X45.1909 Y-13.1919 C329.7
X45.1909 Y-13.1919
Z3.0
G83 R3.0 Z-10.0 F138.34 z axis drill
G80
Z25.0
M01
M15 ( ROTARY TOOL STOP )
 
 
 
 
N3 (               )
G30 U0 V0 W0
T010300 B0 ( TD_M1000:J-повор. Z )
M101 ( C-AXIS BRAKE OFF )
M43  ( C-AXIS COUPLE )
G28 H0 ( C-AXIS HOME )
G50 C0. ( C-AXIS PRESET )
G17 G97 G98 G140 S714 M8
G00 X-55.4738 Y11.9742 Z25.0 C156.6 M13
M8
Z3.0

так вот.

Подскажите мне уважаемые, как мне избавится от Y (настроить пост)

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

Ось X Z и C

станок DMG CTX 450 ecoline

SINUMERIK 840

пост скачал с этого форума: Hitachi Seiki HiCELL with B & Y Axis.CNC

ЗАРАНЕЕ БЛАГОДАРЕН ЗА ЛЮБУЮ ПОМОЩ

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


Вы использовали постпроцессор, походу со стойкой Fanuc (пример программы). Вам же надо Sinumerik. Как бы пост сильно далёк от требуемого. Да еще в вашем посте есть оси Y и B, которых нет в реальном станке. Надо искать др. пост, по моему мнению. Или этот перелопачивать.

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

Вы использовали постпроцессор, походу со стойкой Fanuc (пример программы). Вам же надо Sinumerik. Как бы пост сильно далёк от требуемого. Да еще в вашем посте есть оси Y и B, которых нет в реальном станке. Надо искать др. пост, по моему мнению. Или этот перелопачивать.

Greenston

​Добрый день, я с вами полностью согласен!!!!!!!!!!!!  Вы абсолютно правы.

Но ситуация токая что я только такой пост нашел, ​и чтобы вопрос был более понятен я и привёл вот такой конкретный пример.!!!! )))

Спасибо большое за помощь Greenston 

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

У меня тоже вопрос по постпроцессору:

Станок токарно-фрезерный XZ+C

в УП вывожу вот такие варианты координат:

M27 (C UNCLAMP)
G0 X-31.177 C210.0 Z25.0
G0 X36.0 C210.0 Z25.0
G0 X36.0 C210 Z25.0

M26 (C CLAMP)

<IF><MILLING><THEN>
[#	][:new_angle=<ROT1-ANSI>]
[#	]<IFNOT>[eq(new_angle,old_angle)]<THEN>
[#		]M27 (C UNCLAMP)<EOB>
[#		]<MOTION> X<X-COORD> C<ROT1-ANSI> Z<Z-COORD><EOB> "Не мой вариант совсем, координата Х неверная"
[#		]<MOTION> X[radiusxy(<X-COORD>, <Y-COORD>)*2] C<ROT1-ANSI> Z<Z-COORD><EOB> "Похоже на мой вариант, но в нем я почему то не уверен"
[#		]<MOTION> X[radiusxy(<X-COORD>, <Y-COORD>)*2] C[anglexyt(<X-COORD>, <Y-COORD>,<TURRET-NUM>)] Z<Z-COORD> {<COOLANT>}<EOB> "Похоже на мой вариант, но вызывает сомнение вывод коорд. "С"
[#		]M26 (C CLAMP)<EOB>
[#		][:old_angle=<ROT1-ANSI>]
<ENDIF>

Вообще в идеале мне подходит наличие координаты по X равной (D) и поворот по C с дробной частью обязательно с точкой, даже при отсутствии дробной части. Подскажите пожалуйста куда копать ибо некоторые параметры я пока "нерасшифровал".

 

Нашел таки:

<ANGLEXY>

Returns the angle of the point <X-COORD>,<Y-COORD> on the front face of the part. Replaces anglexy() function. Used to determine the angular position of holes on the Z face of the part. The X axis of the part is 0 degrees.

<RADIUSXY>

Returns the distance or radius of the point <X-COORD>,<Y-COORD> from the center of the part. Replaces the radiusxy() function. Used to determine the angular position of holes on the Z face of the part.

 

Т.е. по сути третий вариант самый верный, только как приделать точку к кооринате С ?

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

У меня тоже вопрос по постпроцессору:

Станок токарно-фрезерный XZ+C

в УП вывожу вот такие варианты координат:

M27 (C UNCLAMP)

G0 X-31.177 C210.0 Z25.0

G0 X36.0 C210.0 Z25.0

G0 X36.0 C210 Z25.0

M26 (C CLAMP)

<IF><MILLING><THEN>
[#	][:new_angle=<ROT1-ANSI>]
[#	]<IFNOT>[eq(new_angle,old_angle)]<THEN>
[#		]M27 (C UNCLAMP)<EOB>
[#		]<MOTION> X<X-COORD> C<ROT1-ANSI> Z<Z-COORD><EOB> "Не мой вариант совсем, координата Х неверная"
[#		]<MOTION> X[radiusxy(<X-COORD>, <Y-COORD>)*2] C<ROT1-ANSI> Z<Z-COORD><EOB> "Похоже на мой вариант, но в нем я почему то не уверен"
[#		]<MOTION> X[radiusxy(<X-COORD>, <Y-COORD>)*2] C[anglexyt(<X-COORD>, <Y-COORD>,<TURRET-NUM>)] Z<Z-COORD> {<COOLANT>}<EOB> "Похоже на мой вариант, но вызывает сомнение вывод коорд. "С"
[#		]M26 (C CLAMP)<EOB>
[#		][:old_angle=<ROT1-ANSI>]
<ENDIF>

Вообще в идеале мне подходит наличие координаты по X равной (D) и поворот по C с дробной частью обязательно с точкой, даже при отсутствии дробной части. Подскажите пожалуйста куда копать ибо некоторые параметры я пока "нерасшифровал".

В редакторе постпроцессоров есть раздел "Форматирование слов" (меню Инфо о ЧПУ). Ищите там нужные служебные слова и прописывайте у них формат.

Например:

post-37939-0-97133000-1465196738.png

 

 

[# ][:new_angle=] [# ][eq(new_angle,old_angle)]

Кстати о птичках. С предыдущим значением угла можно так не заморачиваться, все проще. Используйте <$ROT1-ANSI> для вывода предыдущего значения параметра.

 

  • Numeric reserved words can be preceded by the symbols $, or @ (<$name>, or <@name>). The $ prefix signals the Post to output the previous value of a reserved word. The @ prefix signals the Post to output an incremental value (the difference between the current value and the previous value).
Изменено пользователем Kinematik
Ссылка на сообщение
Поделиться на других сайтах

@@Kinematik, спасибо за ответ, насчет предыдущего значения, так я туда не лезу пока что, это формат типового поста который я решил поменять "под себя". Как получу стабильный требуемый результат так и займемся оптимизацией :)

 

Где то что то надо таки подкрутить, потому что я добавил для пробы нули после точки и получил следующее:

G0 X18.0 C300.000 Z25.0
G0 X36.0 C300.000 Z25.0
G0 X36.0 C300 Z25.0

 

т.е. там где надо нули так и не появились, но так понял со значением <ANGLEXY> можно не заморачиваться и брать <ROT1-ANSI> ?

ПС: пришлось добавить точку в параметр <TURRET-NUM>

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

Параметр "Сократить ширину" включите в соответствующем координате слове (см. картинку выше Кинематика). Тогда 0-ли после запятой скроются.

 

Можете<ROT1-ANSY> пользоваться. Это слово выводит в код УП текущее значение угла первой поворотной оси.

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

Параметр "Сократить ширину" включите в соответствующем координате слове (см. картинку выше Кинематика). Тогда 0-ли после запятой скроются.

 

Можете<ROT1-ANSY> пользоваться. Это слово выводит в код УП текущее значение угла первой поворотной оси.

Вы не поняли, нули и не проблема, мне нужна была точка. а так как параметр <TURRET-NUM> "целый" то все "под ним" становилось "целым". Я добавил к нему дробную часть с точкой, порезал конечные нули и получил требуемое " С300."

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

т.е. там где надо нули так и не появились, но так понял со значением <ANGLEXY> можно не заморачиваться и брать <ROT1-ANSI> ?

ПС: пришлось добавить точку в параметр <TURRET-NUM>

 

<MOTION> X[radiusxy(<X-COORD>, <Y-COORD>)*2] C[anglexyt(<X-COORD>, <Y-COORD>,<TURRET-NUM>)] Z<Z-COORD> {<COOLANT>}<EOB>

 

Давайте для начала с условием разберемся. Если честно, я вообще не понял, что приведенное условие делает? Пересчитывает координаты XY в XC? Тогда чем Вас не устраивает стандартный функционал, который автоматически пересчитывает XY в XC (опция Резать с использованием поворотной оси)? На крайний случай, почему бы не использовать функционал стойки, н-р, для Siemens есть команда Transmit, для Fanuс - G112, если не ошибаюсь.

 

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

в приведенном условии пишем

C[D|3.3|1:anglexyt(<X-COORD>, <Y-COORD>,<TURRET-NUM>)]

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

<TURRET-NUM> я решил убрать вообще, ибо револьверная голова одна. anglexyt превратился в anglexy

Загадочные сокращения кода в виде C[D|3.3|1:anglexyt(<X-COORD>, <Y-COORD>,<TURRET-NUM>)] меня пугают :) Поэтому останусь при своих бубнах. Стойка Fanuc G12.1 не отработала, попробую G112 - а вдруг.

А что делает данное условие, я еще сам не разобрался.

ПС: Разобрался с [D|3.4|1.0:10] (D stands for  decimal point.), как говориться учим матчасть!

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

Подскажите какой из стандартных постов можно откорректировать под данный станок? Стойка Sinumerik 840d.

20160805 143826

 

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

 

Подскажите какой из стандартных постов можно откорректировать под данный станок? Стойка Sinumerik 840d.

 

 

 

Стандартный с ISO кодами? Я так понимаю при включении токарной функции оси "превращаются" в обычные, как на токарных станках ZX. Поэтому из стандартных найдите похожий ZX конфиг и дальше как рука ляжет :)

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

 

Подскажите какой из стандартных постов можно откорректировать под данный станок? Стойка Sinumerik 840d.

 

 

 

 

Для фичекама 3-я поворотная ось избыточна (в вашем станке 6 осей - X,Y,Z,A,B,C). Ох уж эти немцы-извращенцы. Как всегда налепили осей. А по существу, хороший станок, больше возможностей в связи с 6-й осью. Жаль, CAMу это не объяснишь. Решайте, какая у Вас ось менее необходимая, наверное, одна из осей качания. И... ищите-правьте любой 5-осевой пост с Синумериком, в котором нет этой "лишней" оси. Но и это будет только фрезерный постпроцессор, без токарки.

PS: рекомендую использовать пост с прописанным 800-м циклом, например, какой-нибудь DMG.

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

Спасибо. Уже взял отработанный пост для DMU. Сижу подгоняю. Странно что вместо 800 цикла отдельный цикл на башку и отдельно стол поворачивается.

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

На вашем станке CYCLE800 вообще не прописывается? Что поворачивает башку и стол - явные координаты A, B, или C?

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

Ситуация такая. Станок этот не полноценно 5-осевой, а 3+2. Башка вертится с помощью цикла FK(x,y) где x - поворот вокруг оси А (мелкая башка на большой качается от -90 до +90), y-вокруг оси С (большая башка крутится на 360 градусов))). Поворот стола осуществляется отдельно координатой В. Создал цикл FK с углами используемыми в 800 цикле, но видимо где-то ошибся - отрабатывает не так как надо(.

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

Ситуация такая. Станок этот не полноценно 5-осевой, а 3+2. Башка вертится с помощью цикла FK(x,y) где x - поворот вокруг оси А (мелкая башка на большой качается от -90 до +90), y-вокруг оси С (большая башка крутится на 360 градусов))). Поворот стола осуществляется отдельно координатой В. Создал цикл FK с углами используемыми в 800 цикле, но видимо где-то ошибся - отрабатывает не так как надо(.

 

Цикл 800 использует 3 угла Эйлера. Ваша же "башка" использует явные машинные углы, что не одно и то же с углами Эйлера. Поэтому и разночтения. Итого, в вашем станке 3 поворотные позиционные оси, чего уже многовато для Фичекама).

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

Победил пост и даже сделал модель примитивную, но возник нежданчик - оказалось что центр инструмента может зайти максимум за 40мм за центр стола (т.е. при обработке верхнего торца детали, придется обработать сначала половину торца которая ближе к шпинделю, потом повернуть стол на 180 градусов и обработать вторую половину). Предполагаю, что этого можно добиться, ограничив область обработки, но пока чего-то не получается (менял параметры области во вкладке "пятиосевая").

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

Сделайте лучше "Стенкой" - нарисуйте вспомогательную вертикальную пов-ть примерно посередине торца. Да обработайте её с обоих сторон. Только не забывайте сделать небольшое перекрытие м/у переходами.

Во втором переходе поменяйте позиционирование в закладке операции - "5-ос. положение:" - со "Стандартное" на "Альтернативное" (ну или наоборот) - чтобы элемент перед обработкой развернулся вокруг оси стола на 180 градусов (чтобы второй элемент попал в рабочую зону станка).

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

 

Подскажите какой из стандартных постов можно откорректировать под данный станок? Стойка Sinumerik 840d.

 

 

 

Напишите, что за станок, и сколько стоит. Есть мечта себе на участок такой купить!

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

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

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

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

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

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

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

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

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

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

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




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