 ;01.03.2021 KRAUTER G.
 ;========================================
 ;D01 - Цикл сверления отверстия
 ;========================================
 ;
 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 
 ;Глубина обработки Z
 E102=PL2 
 ;Подача на врезание F
 E25=PL3 
 ;Глубина врезания I
 E104=PL4 
 ;Время выдержки вверху t1
 E105=PL5 
 ;Координата поверхности заготовки (абсолютная) O
 E106=PL6 
 ;2-ой размер безопасности R2
 E107=PL7 
 ;Время выдержки внизу t2
 E108=PL8 
 
;====Координата сверления теперь задается вне цикла, а цикл запускается кодом (CCL)
 ;Координата отверстия по оси X
 ;E109=PL7 
 ;Координата отверстия по оси Y
 ;E110=PL8
 
  
  
  
  ;имя оси абсцисс
$PS1=$INAX1
;имя оси ординат
$PS2=$INAX2
;имя оси шпинделя
$PS3=$INAX3
  
;=============================================
;             РАСЧЕТЫ и ПЕРЕМЕЩЕНИЯ
;=============================================
 
 
 ;Проверка, что глубина одного врезания не больше глубины обработки.
 (BGT,E104,E102,ERRV)
 
 
 
 
 

 
 

  ;исходное значение Z и значение выхода после каждого врезания
      E112=E106+E101

  ;Переход на безопасную высоту 
  G$PS3E112
  

;========
;Переменные:
;E111 - текущая координата врезания.
;E201 - текущий остаток резания.
;E202 - текущая безопасная высота.

  FE25
  E201=E102-E104
  E111=E106-E104
  E202=E111+E101
  
 (BEQ,E104,E102,YES)
 
 "NO"

 G1$PS3E111 
 (DLY,E108)
 G$PS3E112
 (DLY,E105)
 G$PS3E202  
 
 E201=E201-E104
 E111=E111-E104
 E202=E202-E104
 
 (BGT,E201,0,NO)
 ;^^^^^^^^^^^^^^^^^^^^
 "YES"
; E111=E111+E104-E201
; E202=E111+E101
 E111=E106-E102
 G1$PS3E111
 G0$PS3E102
 
 ;ВЫХОД 
  (BEQ,E107,0,R1)
  
  ;"R2"
  ;расчет координаты выхода с учетом ВТОРОГО безопасного расстояния
  E111=E106+E107
   G0$PS3E111
  (BNC,ENDR)
  
  "R1"
  ;расчет координаты выхода с учетом ПЕРВОГО безопасного расстояния
  E111=E106+E101
  G0$PS3E111
 

 ;Ошибка =====================
  (BNC,ENDR)
 "ERRV"
 (DIS, " !ОШИБКА! I > Z.")
 "ENDR"
 ;============================
 

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