Page 24 - 4352
P. 24

3.2 Приклад найпростішого постпроцесора
                     Тепер  ми  можемо  побудувати  найпростіший  постпроцесор.  Цей
               постпроцесор повинен виводити у вихідний файл:
                     •    заголовок, що складається із символу ' % ';
                     •        кадри,  що  відповідають  переміщенням  в  абсолютному  режимі,  з
               нумерацією кадрів із кроком 1, що містять:
                     •    G-функції, що відповідають виду переміщення;
                     •    координати x, y, z кінцевої точки переміщення для лінійної інтерполяції
               й позиціювання по адресах X, Y, Z або координати x та у кінцевої точки дуги й
               координати i та j центра дуги по адресах X, Y, I, J для кругових переміщень;
                     •    значення робочої подачі за адресою F
                     •        Координати  повинні  бути  виражені  в  мм  і  виводитися  у  форматі  з
               обов'язковою  плаваючою  крапкою  й  знаком,  дискретність  повинна  бути
               дорівнює 0.001 мм.
                     •    Завершувати керуючу програму повинен кадр із функцією M02.
                     Текст опису цього постпроцесора:
                  REM  Найпростіший постпроцесор  -  тільки переміщення
                  ' Файл SMPL1.PSS  містить опис найпростішого постпроцесора
                  ' Дискретність  : 0.001  мм.   -  декартові  переміщення.
                  ' Основний режим: в  абсолютах.
                  ' Функції опису : Лінійна й кругова інтерполяція.
                  ' Розділ ініціалізації містить присвоєння початкових значень
                  ' для основних параметрів
                  ' і визначення імен констант, що вводяться користувачем

                  RDISCR=0.001  ' У параметра RDISCR значення 0.001:
                                ' дискретність по переміщеннях, рівна 0.001
                  Open fileout$ For Output As idl#
                  DO
                  CALL NEXT_STEP()

                  ' Головний розділ містить опис дій постпроцесора з
                  ' формування керуючої програми для кожної аналізованої
                  ' команди вихідної програми. Залежно від виду
                  ' аналізованої команди тобто значення параметра command#
                  ' описуємо дії постпроцесора з формування керуючої програми:

                  if command#=HEADER# then 'Інформація  на  початку  програми.
                  write id1# using "%%%s" , NL$)   ' Вивід заголовка (знак %)
                  n#=i                   ' Лічильник кадрів установлюється в 1
                  elseif command#=END# then  ' Інформація наприкінці програми.
                  write id1# using "N%d", n#    ' Вивід номера поточного кадру
                  n#=n#+1                       ' Збільшуємо лічильник  кадрів
                  write id1# using "МО 2"       ' Вивід функції МО 2
                  write id1# using "%s",  NL$   ' Завершення кадру - символ LF
                  elseif command# = MOVE# then
                  ' Інформація, пов'язана з переміщенням інструмента,

                                                               23
   19   20   21   22   23   24   25   26   27   28   29