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