Page 41 - 4352
P. 41
endif
' Інакше, якщо аналізована команда переміщення виконується в
' підпрограмі,то поточні координати виводяться в збільшеннях
elseif proc_body# then
if dx<>0.0 then ' при ненульовому переміщенні по осі X :
' Виводиться нове значення dx :
write idl# using "X%.15g", dx*RDISCR
endif
if dy<>0.0 then ' при ненульовому переміщенні по осі Y :
' Виводиться нове значення dy :
write id1# using "Y%.15g", dy*RDISCR
endif
if dz<>0.0 then ' при ненульовому переміщенні по осі Z :
' Виводиться нове значення z :
write id1# using "Z%.15g", dz*RDISCR
endif
' Для кругової інтерполяції вивід по адресах I, J, К :
if (primitive#=ARC_CLW#) OR (primitive#=ARC_CCLW#) then
' Якщо дуга лежить у площині XY, виводяться I й J :
if plane#=PLANE_XY# then
write id1# using "I%.15g", di*RDISCR
write id1# using "J%.15g", dj*RDISCR
' Інакше, якщо дуга лежить у площині YZ, виводяться J і К
elseif plane#=PLANE_YZ# then
write id1# using "J%.15g", dj*RDISCR
write id1# using "K%.15g", dk*RDISCR
' Інакше, якщо дуга лежить у площині ZX, виводяться I і К
elseif plane#=PLANE_ZX# then
write id1# using "I%.15g", di*RDISCR
write id1# using "K%.15g", dk*RDISCR
endif
endif
endif
' якщо на аналізованому переміщенні змінився режим корекції
' довжини інструмента (тобто параметр lcomp аналізованої
' команди не дорівнює аналогічному параметру
' попередньої команди lcomp_#) :
if (lcomp <> lcomp_#) then
' Для включення корекції вивід коректора за адресою T :
if lcomp<>LCOMP_OFF# then
write id1# using "T%.2d", cutter_l_crtr#
' Інакше, для вимикання корекції на довжину інструмента
' вивід ТОО :
elseif lcomp=LCOMP_OFF# then
write id1# using "TOO"
endif
endif
40