Page 39 - 4352
P. 39
n#=n#+NSTEP#
' Вивід інформації, пов'язаної з переміщенням інструмента.
elseif command#=MOVE# then
write id1# using "N%d", n# ' Вивід номера поточного кадру
n#=n#+NSTEP# ' Збільшуємо лічильник кадрів
' Якщо аналізоване переміщення є першим переміщенням у
' підпрограмі, виводиться G91 для переходу в інкрементальний
' режим :
if proc_begin# then
write id1# using "G91"
' Інакше, якщо аналізоване переміщення належить головній
' програмі і йому передувала команда виклику підпрограми, то
' виводиться G90 для повернення в абсолютний режим :
elseif prog_body# AND (command_#=CALL#) then
write id1# using "G90"
endif
' Якщо на аналізованому переміщенні змінилася площина
' інтерполяції (тобто параметр plane# аналізованої команди
' не дорівнює аналогічному параметру попередньої
' команди plane# _) :
if plane#<>plane_# then
' Вивід G-функції відповідної площини інтерполяції :
if plane#=PLANE_XY# then
write id1# using "G17"
elseif plane#=PLANE_YZ# then
write id1# using "G19"
elseif plane#=PLANE_ZX# then
write id1# using "G18"
endif
endif
' якщо на аналізованому переміщенні змінився режим руху
' (тобто параметр primitive# аналізованої команди не
' дорівнює аналогічному параметру попередньої
' команди primitive_#) :
if primitive#<>primitive_# then
' Вивід відповідної G-функції лінійної або кругової
інтерполяції :
if primitive#=LOCATE# then
write id1# using "GO"
elseif primitive#=LINE# then
write id1# using "G1"
elseif primitive#=ARC_CCLW# then
write id1# using "G3"
elseif primitive#=ARC_CLW# then
write id1# using "G2"
38