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
   34   35   36   37   38   39   40   41   42   43   44