Page 30 - 4352
P. 30

' Залежно від виду аналізованої команди тобто значення
                   ' параметра command# описуємо дії постпроцесора по
                   ' формуванню керуючої програми:
                  if  command#=HEADER#  then        '  Вивід  інформації  на  початку
                  програми,
                  write id1# using "%%%s”, NL$  ' Вивід заголовка знак %
                  n#=NSTART#             ‘ Лічильник кадрів установлюється в 1
                  elseif command#=END# then   ' Вивід інформації наприкінці
                                                             ' програми.
                    write id1# using "N%d", n#  ' Вивід номера поточного кадру
                  n#=n#+NSTEP#                  ' Збільшуємо лічильник кадрів
                    write id1# using "МО 2"     ' Вивід функції МО 2
                    write id1# using "%s", NL$  ' Завершення кадру - символ LF
                  elseif        command#=LOAD_TOOL#               then       '     Вивід        інформації,
                  зв'язаної зі зміною інструмента
                    write id1# using "N%d", n#  ' Вивід номера поточного кадру
                  n#=n#+NSTEP#                  ' Збільшуємо лічильник кадрів
                  ' Вивід номера інструмента й M06
                    write id1# using "T%.3d06", cutter_no#
                    write idl# using "%s", NL$  ' Завершення кадру - символ LF
                  elseif command#=MOVE# then  ' Вивід інформації пов'язаної з
                                              ' переміщенням інструмента
                  write id1# using "N%d", n#  ' Вивід номера поточного кадру
                  n#=n#+NSTEP#                ' Збільшуємо лічильник кадрів
                    ' якщо на аналізованому переміщенні змінився режим руху
                  ' (тобто параметр primitive#  аналізованої команди не
                   ' дорівнює аналогічному параметру попередньої команди
                   ' primitive_#) :
                  if primitive#<>primitive_# then

                   '  Вивід  відповідної  G-функції  лінійної  або  кругової
                  інтерполяції :
                  if primitive#=LOCATE# then
                    write id1# using "G00"
                  elseif primitive#=LINE# then
                    write id1# using "G01"
                  elseif primitive#=ARC_CLW# then
                    write id1# using "G02"
                  elseif primitive#=ARC_CCLW# then
                    write id1# using "G03"
                  endif
                  endif

                  '  Якщо аналізована команда є "підходом" до контуру із
                  ' включенням лівої корекції радіуса інструмента, вивести
                  ' функцію G41 з коректором за адресою D:
                  if contour_to_l# then
                    write id1# using "G41D%.2d", cutter_r_crtr#
                  '  Інакше, якщо аналізована команда є "підходом" до контуру

                                                               29
   25   26   27   28   29   30   31   32   33   34   35