Page 25 - 4352
P. 25
write id1# using "N%d", n# ' Вивід номера поточного кадру
n#=n#+1 ' Збільшуємо лічильник кадрів
' Вивід відповідної G-функції лінійної або кругової
' інтерполяції:
if primitive#=LOCATE# then
write id1# using "G00"
elseif primitive#=LINE# then
write id1# using "G01"
elseif primitive#=ARC_CLW# then
write id1# using "G02"
elseif primitive#=ARC_CCLW# then
write id1# using "G03"
endif
if primitive#=ARC_CLW# OR primitive#=ARC_CCLW# then
' Для кругової інтерполяції вивід X, Y, I, J
write id1# using "X%+.f", x * RDISCR
write id1# using "Y%+.f", y * RDISCR
write id1# using "I%+.f", i * RDISCR
write id1# using "J%+.f", j * RDISCR
elseif primitive#=LINE# OR primitive#=LOCATE# then
'Інакше, для позиціювання або лінійної інтерполяції
' вивід X,Y,Z
write id1# using "X%+.f", x * RDISCR
write id1# using "Y%+.f", y * RDISCR
write id1# using "Z%+.f", z * RDISCR
endif
if primitive#<>LOCATE# then
' Вивід подачі, якщо переміщення не є рухом з G0
write id1# using "F%.15g", f
endif
' Завершення кадру - символ LF
write idl# using "%s", NL$ endif
LOOP
' кінець опису й кінець файлу SMPLl.PSS
3.3 Приклад модифікованого постпроцесора зі зміною інструмента
Модифікуємо опис цього постпроцесора для того, щоб:
• G-функції, що описують вид переміщення, записувалися в кадр тільки при
зміні режиму інтерполяції
• запис координат x, в, z кінцевої точки переміщення для лінійної
інтерполяції й позиціювання по адресах X, Y, Z вироблялася тільки при зміні
відповідної координати
• запис величини робочої подачі за адресою F виконувався тільки при зміні
величини подачі
• запис кадрів, що містять функції зміни інструмента - тризначний номер
інструмента за адресою Т и МО6 - виконувався відповідно до вимог вихідної
програми. Вносячись в опис SMPL1.PSS необхідні зміни, одержимо наступний
опис постпроцесора:
24