Page 40 - 4352
P. 40

endif
                  endif

                  ' При підході до контуру із включенням лівої корекції
                  ' виводиться G41 і двозначний номер коректора :
                  if contour_to_l# then
                    write id1# using "G41T%.2d", cutter_r_crtr#
                  ' Інакше, при підході до контуру із включенням правої
                  ' корекції виводиться G42 і двозначний номер коректора :
                  elseif contour_to_r# then
                    write id1# using "G42T%.2d", cutter_r_crtr#
                  ' Інакше, при відході від контуру з вимиканням правої
                  ' корекції виводиться G40 :
                  elseif contour_from# then
                    write id1# using "G40"
                  endif

                  ' Якщо аналізована команда переміщення виконується в
                  ' головній програмі, то поточні координати виводяться
                  ' в абсолютах:
                  if prog_body# then
                  if dx<>0.0 then     ' при ненульовому переміщенні по осі X :
                  ' Виводиться нове значення x :
                     write id1# using "X%.15g", x*RDISCR
                  endif
                  if dy<>0.0 then     ' при ненульовому переміщенні по осі Y :
                  ' Виводиться нове значення у :
                    write id1# using "Y%.15g", y*RDISCR
                  endif
                  if dz<>0.0 then     ' при ненульовому переміщенні по осі Z :
                  ' Виводиться нове значення z :
                    write id1# using "Z%.15g", z*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", i*RDISCR
                    write id1# using "J%.15g", j*RDISCR
                  ' Інакше, якщо дуга лежить у площині YZ, виводяться J і К :
                  elseif plane#=PLANE_YZ# then
                    write id1# using "J%.15g", j*RDISCR
                    write id1# using "K%.15g", k*RDISCR
                  ' Інакше, якщо дуга лежить у площині ZX, виводяться I і К :
                  elseif plane#=PLANE_ZX# then
                    write id1# using "I%.15g", i*RDISCR
                    write id1# using "K%.15g", k*RDISCR
                  endif

                                                               39
   35   36   37   38   39   40   41   42   43   44   45