 ;08.04.2021 KRAUTER G.
 ;========================================
 ;D05 - Расточка обратным ходом
 ;========================================
 ;
 G0 G94 G97 G40 G90 G29
 
 ;==============Вычисление № процесса=============
(BGE,SK25,80,5)
(BGE,SK25,80,4)
(BGE,SK25,80,3)
(BGE,SK25,80,2)
E15=0
(BNC,PROEND)
"2"
E15=1
(BNC,PROEND)
"3"
E15=2
(BNC,PROEND)
"4"
E15=3
(BNC,PROEND)
"5"
E15=4
"PROEND"
  
;===================Начальные условия=====================
  
;Безопасное расстояние R1
 E101=PL1 
;Безопасное расстояние R0
 E112=PL2
 ;Глубина обработки Z
 E102=PL3 
 ;Толщина заготовки
 E103=PL4
 ;Размер эксцентрика
 E104=PL5
 ;Подача на врезание F
 E25=PL6
 ;Подача обратного хода FBack
 E26=PL7 
 ;Координата поверхности заготовки (абсолютная) O
 E106=PL8
 ;2-ой размер безопасности R2
 E107=PL9
 ;Время выдержки внизу t2
 E108=PL10
 ;Направеление выхода из материала E
 E109=PL11
 ;Угол ориентации шпинделя перед выходом
 E110=PL12
 
 
 
  ;Если подача обратного хода =0, то приравнивается к подаче резания
  (BGT,E26,0,AAA)
     E26=E25
  "AAA"  
  ;Если безопасное расстояние R0=0, то приравнивается к R1
  (BGT,E107,0,BBB)
     E107=E101
  "BBB"  
  
  ;имя оси абсцисс
$PS1=$INAX1
;имя оси ординат
$PS2=$INAX2
;имя оси шпинделя
$PS3=$INAX3
  
;=============================================
;             РАСЧЕТЫ и ПЕРЕМЕЩЕНИЯ
;=============================================
;E300 - текущая координата по Z
;E301 - координата по X

  ;исходное значение Z : (O + R0)
      E300=E106+E112

  ;Переход на безопасную высоту:
      G$PS3E300
  ;Ориентация шпинделя:
      SPORA=0 
      SPOR=1

  ;Проверка выполенения ориентации:
     
       ;Расчет бита в зависимости от номера процесса 
       ; = N*32+25, N начинается с нуля
       ; 1-ый процесс 
         (BGE,E15,0,111)
         (BGE,E15,1,222)
         (BGE,E15,2,333)
         (BGE,E15,3,444)
         (BGE,E15,4,555)
       "111"
           "CYC1"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK25.BL,1,CYC1)
        (BNC,ENDPR)
   
       "222"
           "CYC2"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK857.BL,1,CYC2)
        (BNC,ENDPR)
       "333"
           "CYC3"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK1689.BL,1,CYC3)
        (BNC,ENDPR)
       "444"
           "CYC4"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK2521.BL,1,CYC4)
        (BNC,ENDPR)
       "555"
           "CYC5"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK3353.BL,1,CYC5)
        (BNC,ENDPR)

      "ENDPR"
 
 
 ;Перемещения (заход в отверстие):
 
  ;(1) Отход по оси абсцисс 
      (GTA,$PS1,1,E205)
      E301=-E104
      G91G0$PS1E301
  ;(2) Вход инструмента в отверстие
      E300=E106-E103-E101
      G90G0$PS3E300
  ;(3) Отвод обратно
      E301=E104
      G91G0$PS1E301
  G90



;Присвоение параметрам I и J цикла 
;86 значений в зависимости от 
;направления отхода
(BEQ,E109,1,22)
(BEQ,E109,1,33)
(BEQ,E109,1,44)
(BEQ,E109,1,55)
E203=0
E204=0
(BNC,66)
"22"
E203=-0.2
E204=0
(BNC,66)
"33"
E203=0
E204=-0.2
(BNC,66)
"44"
E203=0.2
E204=0
(BNC,66)
"55"
E203=0
E204=0.2

"66"


;Откючение ориентации
SPOR=0

FE25
  
  ;расчет координаты врезания:
  E300=E106+E102
  ;Врезание:
  G1$PS3E300 
  ;Задержка на дне:
   (DLY,E108)
  ;Угол ориентации на дне:
  SPORA=E110
  ;Выполнение ориентации:
  SPOR=1

  ;Проверка выполенения ориентации:
     
       ;Расчет бита в зависимости от номера процесса 
       ; = N*32+25, N начинается с нуля
       ; 1-ый процесс 
         (BGE,E15,0,111)
         (BGE,E15,1,222)
         (BGE,E15,2,333)
         (BGE,E15,3,444)
         (BGE,E15,4,555)
       "111"
           "CYC1"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK25.BL,1,CYC1)
        (BNC,ENDPR)
   
       "222"
           "CYC2"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK857.BL,1,CYC2)
        (BNC,ENDPR)
       "333"
           "CYC3"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK1689.BL,1,CYC3)
        (BNC,ENDPR)
       "444"
           "CYC4"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK2521.BL,1,CYC4)
        (BNC,ENDPR)
       "555"
           "CYC5"
         (DIS,"Ожидание ориентации шпинделя")
         (DLY,0.02) 
        (BNE,SK3353.BL,1,CYC5)
        (BNC,ENDPR)

      "ENDPR"
  ;Отход:
  FE26
  G1G91$PS1E203$PS2E204
  G90
  ;Выход:
  E300=E106-E101
  G1$PS3E300
  SPORA=0
  
  ;Выход из предварительного отверстия
   ;(1) Отход по оси абсцисс 
      E301=-E104
      G91G0$PS1E301
  ;(2) Вход инструмента в отверстие
      E300=E106+E103+E112
      G90G0$PS3E300
  ;(3) Отвод обратно
      E301=E104
      G91G0$PS1E301
  G90
  
  ;Переход на 2ое безопасное расстояние на подаче быстрого хода:
  E300=E300+E107
  G0$PS3E200
  
  ;Отключение ориентации:
  SPOR=0
  SPORA=0


 ;================================================================
 ;Конец цикла           
                