форумы поддержки mastercam в россии
 
 | Начало | Регистрация | Ответить | Поиск | Статистика |
Форум Форум Mastercam в России. Советы, помощь, поддержка, скачать / Форум /

Постпроцессоры и постпроцессирование

 Страница Страница 11 из 46:  ««  1  2  ...  9  10  11  12  13  ...  45  46  »» 
Автор azot82
Участник
#151 | Дата: 16 Ноя 2011 20:46 | Поправил: azot82
Добрый день,
Вот постпроцессор Н-33 для Мастеркам X4 все файлы.


"H33.rar"(16.Ноя 23:11:21)
Автор Aleksandr
Участник
#152 | Дата: 17 Ноя 2011 09:52
Добрый день,

отправил на мыло.

С Уважением,
Александр
Автор azot82
Участник
#153 | Дата: 20 Ноя 2011 17:03
Спасибо, Александр, Вы очень помогли.
Все получилось.
Автор deomit
Участник
#154 | Дата: 19 Дек 2011 19:26
Вечер добрый))) Подскажите, как отредактировать пост процессор на вертикально фрезерный станок с СЧПУ NC-210. Мне нужно чтобы пост в УП вместо ускоренного хода G00 выдавал обычную линейную интерполяцию, к примеру G01F1200.
Спасибо)))
Автор Aleksandr
Участник
#155 | Дата: 21 Дек 2011 10:45
Добрый день deomit,

извините, что долго не отвечал, значит дела обстаят таким образом.

Перед выводом любого кадра УП, в постпроцессоре запускается процедура pxyzcout - именно она делает расчёт координат.

Поставьте в конце этой процедуры такую запись Если Гкод равен 0 т.е. ускоренному ходу, заменить его на Гкод равен 1 т.е. движение с рабочей подачей и подачу сделать равной 1200.

if gcode$ = 0,
[
gcode$ = 1
feed = 1200
]

Это будет работать, но это будет не красиво. Лучше, если вы будете вводить это значение в разделе дополнителные значения. Например через правое верхнее поле, которому соответствует глобальная переменная mr1$. Это можно сделать через установки ЧПУ. Тогда ваша запись пример вид

if gcode$ = 0 & mr1$ <> 0, # Если Гкод = 0 - ускоренное движение и mr1$ не равно 0
[
gcode$ = 1 # Заменить на Гкод = 1 - рабочее движение
feed = mr1$ # Подачу поставить равной значению введёному в mr1$
]

Этот вариант лучше, так как вы сможете когда нужно отключать замену подачи через блок Дополнительных переменных.

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

С Уважением,
Александр
Автор deomit
Участник
#156 | Дата: 21 Дек 2011 18:54
Здравствуйте Александр, уважаемые форумчане!!!

Aleksandr:
if gcode$ = 0,
[
gcode$ = 1
feed = 1200
]

Сделал пока этим способом,все красиво работает, ускоренные хода в УП заменились. СПАСИБО!!!!

Aleksandr:
в разделе дополнительные значения. Например через правое верхнее поле

Не совсем понял где это, можете подробнее)))

Вышла вот такая УП
%
O0000
(PROGRAM NAME - T)
(DATE=DD-MM-YY - 21-12-11 TIME=HH:MM - 20:20)
N100 G21
N110 G00G17G40G49G80G90
(TOOL - 1 DIA. OFF. - 1 LEN. - 1 DIA. - 10.)
N120 T1M6
N130 G01G90G54X0.Y55.A0.S2500M3
N140 G43H1Z15.
N150 Z12.F1200.
N160 Z9.F100.
N170 X50.F200.
N180 G2X55.Y50.R5.

Я пока не испытывал на станке, но мне кажется что в кадре 130 не хватает параметра рабочей подачи, в нашем случаи F1200. И стойка наверно выдаст сообщение об ошибке?! Эта подача указана в кадре 150, как бы ее переместить в кадр 130.

На будущее, хотелось бы у вас спросить)))
1) Как убрать из УП ось А, т.к. это трех осевой станок.
2) Автоматическую смену инструмента.
3) Коррекцию длины инструмента.
4) Скорость вращения шпинделя

Спасибо Вам за помощь!
Автор Aleksandr
Участник
#157 | Дата: 21 Дек 2011 23:51
Добрый день deomit,

подачу в кадре 130, просто вбейте в постпроцессоре.

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

С Уважением,
Александр
Автор deomit
Участник
#158 | Дата: 22 Дек 2011 05:34 | Поправил: deomit
Доброе утро Aleksandr

Aleksandr:
подачу в кадре 130, просто вбейте в постпроцессоре.

просто Гениально, даже и не подозревал что именно там ее нужно вбивать!

Aleksandr:
может вам стоит приобрести Мастеркам

пока не стоит, потому что я всего лишь интересуюсь на Вашем форуме постпроцессированием. Приобретение Вашего продукта ничего не изменит,хочется хотя бы самую малость в постпроцессоре понимать. Стало именно интересно какие кадры от каких процедур зависят)))

Спасибо что с G00 помогли!
Автор Aleksandr
Участник
#159 | Дата: 22 Дек 2011 09:41
Добрый день deomit,

deomit:
просто Гениально, даже и не подозревал что именно там ее нужно вбивать!

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

pcan1, pbld, n$, *sgcode, *sgabsinc, pwcs, pfxout, pfyout,
[if nextdc$ <> 7, *speed, *spindle], pgear, "F1200", strcantext, e$

и точно также и точно в такой же строке в процедуре ptlchg$

deomit:
Приобретение Вашего продукта ничего не изменит

вот как раз изменит, будет у вас и Мастеркам и постпроцессор.

С Уважением,
Александр
Автор deomit
Участник
#160 | Дата: 22 Дек 2011 15:53
Благодаря Вам многое стало понятным, список предыдущих вопросов перестал быть актуальным))))

Я поправил psof и все стало как надо.
Aleksandr:
и точно также и точно в такой же строке в процедуре ptlchg$

А зачем эту процедуру изменять??? Как они между собой связаны???

Конечно от моих спасибо Вам ни горячо не холодно, но все же я очень признателен Вам!
Спасибо Александр))))
Автор Aleksandr
Участник
#161 | Дата: 22 Дек 2011 16:09
deomit

pheader$ - заголовок

psof$ - это процедура начала обработки 1-ая операция

ptlchg$ - это смена инструмента и новая операция

ptlchg0$ - это другая операция с тем же инструментом

peof$ - конец проги
Автор deomit
Участник
#162 | Дата: 22 Дек 2011 18:38 | Поправил: deomit
Информации для размышлений море)))

Что бы я без Вас делал!!!!
Автор student
Гость
#163 | Дата: 26 Дек 2011 09:54
Здравствуйте Aleksandr.

Подскажите пожалуйста где в постпроцессоре MasterCAM X5 находится обработка круговой интерполяции.

У меня задача перед началом круговой интерполяции при выводе УП вставить M3 а после M5
Автор Aleksandr
Участник
#164 | Дата: 27 Дек 2011 12:00
Добрый день,

Странно, что вы ориентируетесь на круговую интерполяцию, а если у вас прямоугольный контур, что тогда будете делать?


pcirout - функция отвечающая за вывод дуг в УП. в этой функции есть внутри ещё одна функция pccdia - она выводит коды G40/G41/G42.


С Уважением,
Александр
Автор Enzo
Участник
#165 | Дата: 5 Янв 2012 17:40
Здравствуйте!
Подскажите пожалуйста.

Имеется:
N100G0X-33.195Y44.037
N110M73G4K6
N120M75
N130G4K4
N140M76G4K6
N150M74
N160G4K4
N170M73G4K4
N180M75
N190G4K4
N200G1F3.6
N210Y34.037
N220G3X-23.195Y24.037R10.
N230G1X-12.725
N240G2X-7.725Y19.037R5.
N250G1Y11.122
N260G2X-12.725Y6.122R5.
N270G1X-33.666
N280G2X-38.666Y11.122R5.
N290G1Y19.037
N300G2X-33.666Y24.037R5.
N310G1X-23.195
N320G3X-13.195Y34.037R10.
N330G1Y44.037
N340M76G4K6
N350M74
N360G4K4
N370M73G4K4
N380M75
N390G4K4
N400M76G4K6
N410M74
N420G4K4
N430G0X-19.068Y31.012
N440M73G4K4
N450M75
N460G4K4
N470M76G4K6
N480M74
N490G4K4
N500M73G4K4
N510M75
N520G4K4
N530G1Y21.012
N540G3X-9.068Y11.012R10.
N550G1X1.503
N560G2X6.503Y6.012R5.
N570G1Y-8.016
N580G2X1.503Y-13.016R5.
N590G1X-19.638
N600G2X-24.638Y-8.016R5.
N610G1Y6.012
N620G2X-19.638Y11.012R5.
N630G1X-9.068
N640G3X.932Y21.012R10.
N650G1Y31.012
N660M76G4K6
N670M74
N680G4K4
N690M73G4K4
N700M75
N710G4K4
N720M76G4K4
N730M74G4K4
N740M02

Хотелось бы:
N100G0X-33.195Y44.037
N110M73G4K6
N120M75
N130G4K4

N200G1F3.6
N210Y34.037
N220G3X-23.195Y24.037R10.
N230G1X-12.725
N240G2X-7.725Y19.037R5.
N250G1Y11.122
N260G2X-12.725Y6.122R5.
N270G1X-33.666
N280G2X-38.666Y11.122R5.
N290G1Y19.037
N300G2X-33.666Y24.037R5.
N310G1X-23.195
N320G3X-13.195Y34.037R10.
N330G1Y44.037

N400M76G4K6
N410M74
N420G4K4
N430G0X-19.068Y31.012

N500M73G4K4
N510M75
N520G4K4
N530G1Y21.012
N540G3X-9.068Y11.012R10.
N550G1X1.503
N560G2X6.503Y6.012R5.
N570G1Y-8.016
N580G2X1.503Y-13.016R5.
N590G1X-19.638
N600G2X-24.638Y-8.016R5.
N610G1Y6.012
N620G2X-19.638Y11.012R5.
N630G1X-9.068
N640G3X.932Y21.012R10.

N720M76G4K4
N730M74G4K4
N740M02

Я так понимаю где то строчка что после завершения контура запускай prapidout, только не могу понять где и видимо надо из prapidout данные разбить на 2 части?
кусок post:
# --------------------------------------------------------------------------
# Start of File and Toolchange Setup
# --------------------------------------------------------------------------
psof0$ #Start of file for tool zero
psof$

psof$ #Start of file for non-zero tool number
pcuttype
toolchng = one
if ntools$ = one,
[
#skip single tool outputs, stagetool must be on
stagetool = m_one
!next_tool$
]
sav_absinc = absinc$
if mi1$ <= one, #Work coordinate system
[
absinc$ = one
absinc$ = sav_absinc
]
pcom_moveb
c_mmlt$ #Multiple tool subprogram call
pcan
if stagetool >= zero,e$
if mi1$ > one, absinc$ = zero
pcan1, pbld, n$, *sgcode, pfxout, pfyout,
strcantext, e$
pcan1, pbld, n$, "M73G4K6",e$
pcan1, pbld, n$, "M75",e$
pcan1, pbld, n$, "G4K4",e$
absinc$ = sav_absinc
pcom_movea
toolchng = zero
c_msng$ #Single tool subprogram call

ptlchg0$ #Call from NCI null tool change (tool number repeats)
pcuttype
pcom_moveb
c_mmlt$ #Multiple tool subprogram call
if mi1$ > one & workofs$ <> prv_workofs$,
[
sav_absinc = absinc$
absinc$ = zero
pbld, n$, pfxout, pfyout, e$
pe_inc_calc
ps_inc_calc
absinc$ = sav_absinc
]
if cuttype = zero, ppos_cax_lin
if gcode$ = one, plinout
else, prapidout
pcom_movea
c_msng$ #Single tool subprogram call

ptlchg$ #Tool change
pcuttype
toolchng = one
if mi1$ = one, #Work coordinate system
[
]
pbld, n$, "M01", e$
pcom_moveb
c_mmlt$ #Multiple tool subprogram call
sav_absinc = absinc$
if mi1$ > one, absinc$ = zero
pcan1, pbld, n$, *sgcode, pfxout, pfyout,
*speed, strcantext, e$
absinc$ = sav_absinc
pcom_movea
toolchng = zero
c_msng$ #Single tool subprogram call

pretract #End of tool path, toolchange
sav_absinc = absinc$
absinc$ = one
sav_coolant = coolant$
coolant$ = zero
#cc_pos is reset in the toolchange here
cc_pos$ = zero
gcode$ = zero
pcan
pcan2
absinc$ = sav_absinc
coolant$ = sav_coolant

protretinc #Reset the C axis revolution counter
if frc_cinit & rot_on_x,
[
rev = zero
sav_rev = zero
cabs = zero
csav = zero
indx_out = zero
if index, e$, pindxcalc, pindex
else, *cabs
prvcabs = zero
!csav, !cabs
]

peof0$ #End of file for tool zero
peof$

peof$ #End of file for non-zero tool
pretract
comment$
#Remove pound character to output first tool with staged tools
#if stagetool = one, pbld, n, *first_tool, e
pcan1, pbld, n$, "M76G4K4",e$
pcan1, pbld, n$, "M74G4K4",e$
n$, "M02", e$

pwcs #G54+ coordinate setting at toolchange
if mi1$ > one,
[
sav_frc_wcs = force_wcs
if sub_level$ > 0, force_wcs = zero
if workofs$ <> prv_workofs$ | (force_wcs & toolchng),
[
if workofs$ < 6,
[
g_wcs = workofs$ + 54
*g_wcs
]
else,
[
p_wcs = workofs$ - five
"G54.1", *p_wcs
]
]
force_wcs = sav_frc_wcs
!workofs$
]

pgear #Find spindle gear from lookup table
if use_gear = one,
[
gear = frange (one, speed)
*gear
]

#Toolchange setup
pspindchng #Spindle speed change
if prv_spdir2 <> spdir2 & prv_speed <> zero, pbld, n$, *sm05, e$
if prv_speed <> speed | prv_spdir2 <> spdir2,
[
if speed, pbld, n$, *speed, *spindle, pgear, e$
]
!speed, !spdir2

pspindle #Spindle speed calculations for RPM
speed = abs(ss$)
if maxss$ = zero | maxss$ > max_speed, maxss$ = max_speed
#zero indicates spindle off (not a mistake)
if speed,
[
if speed > max_speed, speed = maxss$
if speed < min_speed, speed = min_speed
]
spdir2 = fsg3(spdir$)

pq$ #Setup post based on switch settings
if stagetool = one, bldnxtool$ = one
#Rotaxtyp = 1 sets initial matrix to top
#Rotaxtyp = -2 sets initial matrix to front
if vmc, rotaxtyp$ = one
else, rotaxtyp$ = -2
#Shut off rotary axis if, Q164. Enable Rotary Axis button? n
if ucase(sq164) = strn, rot_on_x = zero
if arctype$ = one | arctype$ = four,
[
result = newfs(two, i$)
result = newfs(two, j$)
result = newfs(two, k$)
]
else,
[
result = newfs(three, i$)
result = newfs(three, j$)
result = newfs(three, k$)
]

pheader$ #Call before start of file
if met_tool$ = one, #Metric constants and variable adjustments
[
ltol$ = ltol_m
vtol$ = vtol_m
maxfeedpm = maxfeedpm_m
]

ptoolend$ #End of tool path, before reading new tool data
!speed, !spdir2

ptlchg1002$ #Call at actual toolchange, end last path here
if cuttype <> one, sav_rev = rev #Axis Sub does not update to rev
pspindle
whatline$ = four #Required for vector toolpaths
if gcode$ = 1000,
[
#Null toolchange
]
else,
[
#Toolchange and Start of file
if gcode$ = 1002,
[
#Actual toolchange
pretract
]
if stagetool = one, prv_next_tool$ = m_one
prv_xia = vequ(xh$)
prv_feed = c9k
]

# --------------------------------------------------------------------------
# Motion NC output
# --------------------------------------------------------------------------
#The variables for absolute output are xabs, yabs, zabs.
#The variables for incremental output are xinc, yinc, zinc.
# --------------------------------------------------------------------------
prapidout #Output to NC of linear movement - rapid
pcan1, pbld, n$, "M76G4K6",e$
pcan1, pbld, n$, "M74",e$
pcan1, pbld, n$, "G4K4",e$
pcan1, pbld, n$, `sgcode, sgabsinc, pccdia,
pxout, pyout, strcantext, e$
pcan1, pbld, n$, "M73G4K4",e$
pcan1, pbld, n$, "M75",e$
pcan1, pbld, n$, "G4K4",e$

plinout #Output to NC of linear movement - feed
pcan1, pbld, n$, `sgcode, sgabsinc, pccdia,
pxout, pyout, feed, strcantext, e$

pcirout #Output to NC of circular interpolation
pcan1, pbld, n$, `sgfeed, sgcode, sgabsinc, pccdia,
pxout, pyout, parc, feed, strcantext, e$

pcom_moveb #Common motion preparation routines, before
pxyzcout
ps_inc_calc

pncoutput #Movement output
pcom_moveb
comment$
pcan
if cuttype = zero, ppos_cax_lin #Toolplane rotary positioning
if gcode$ = zero, prapidout
if gcode$ = one, plinout
if gcode$ > one & gcode$ < four, pcirout
if mr_rt_actv, #Restore absolute/incremental for G51/G68
[
absinc$ = sav_absinc
mr_rt_actv = zero
]
pcom_movea

pcom_movea #Common motion preparation routines, after
pcan2
pe_inc_calc

pdwl_spd$ #Call from NCI gcode 4
pspindle
comment$
pspindchng
pcan
if fmtrnd(dwell$), pcan1, pbld, n$, *s
 Страница Страница 11 из 46:  ««  1  2  ...  9  10  11  12  13  ...  45  46  »» 
Форум Форум Mastercam в России. Советы, помощь, поддержка, скачать / Форум / Постпроцессоры и постпроцессирование Наверх
Ваш ответ Нажмите эту иконку для возврата на цитируемое сообщение

» Оставьте это поле пустым 

» АНТИСПАМ! Сколько будет ТРИ плюс ДВА? (ответ цифрой) 
» Логин  » Пароль 
Анонимные пользователи могут отправлять сообщения без предварительной регистрации. Для этого введите просто логин без пароля или оставьте оба поля пустыми. Зарегистрированные пользователи могут ввести свои логин и пароль при отправке сообщения. Отправлять ССЫЛКИ анонимным пользователям — нельзя.
 
  Форум Mastercam в России. Советы, помощь, поддержка, скачать Поддержка: Bulletin Board Script miniBB ®