 ;27.04.2021 KRAUTER G.
 ;========================================
 ;D08 - Группа отверстий на прямых
 ;========================================
 ;
 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"
  
;===================Начальные условия=====================

;Координата начальной точки по оси абсцисс
E350=PL1
E359=NEG(E350)

;Координата начальной точки по оси ординат
E351=PL2
E362=NEG(E351)
;Расстояние между точками по оси абсцисс
E352=PL3
;Расстояние между точками по оси ординат
E353=PL4
;Количество столбцов
E1=PL5
;Количество строк
E2=PL6
;Угол поворота
E25=PL7
;Безопасное расстояние
E355=PL8
;Координата поверхости заготовки
E356=PL9
;2-ое безопасное расстояние
E357=PL10
;Перемещение на безопасную высоту (0 или 1)
E358=PL11

 ;Если R2=0 или R2<R1, то R2 приравнивается к R1
(BGT,E357,E355,R2)
E357=E355
"R2"

 
 ;имя оси абсцисс
$PS1=$INAX1
;имя оси ординат
$PS2=$INAX2
;имя оси шпинделя
$PS3=$INAX3

(DPI,$PS1,$PS2)
(UIO,$PS1E350,$PS2E351)


;E360 - координата текущая по X
;E361 - координата текущая по Y


E360=0
E361=0
E3=0
E4=1

;Перемещение на 2ое без расстояние
E370=E356+E357
E371=E356+E355
G0 $PS3 E370
;Перемещение в координату врезания
G0 $PS1 0 $PS2 0 
 (URT,E25)
 
"NXT"
"BCK"
(BEQ,E3,E1,NXTST)

;Перемещение в следующую точку
G0 $PS1 E360 $PS2 E361
(CCL)
;Перемещение на безопасное расстояние 
  (BEQ,E358,1,11)
     G0 $PS3 E371
    (BNC,22)
  "11"
    G0 $PS3 E370
  "22"
  
  
;Расчет следующей координаты по X
E360=E360+E352
E3=E3+1
(BNC,BCK)
"NXTST"
(BEQ,E4,E2,END)
E360=E360-E352
E361=E361+E353
E4=E4+1
E3=0
E352=NEG(E352)
(BNC,NXT)

"END"











(URT,0)
(UIO,$PS1E359,$PS2E362)
 
 
 
 
 
  
  
 
;=====================================================================
 
 ;================================================================
 ;Конец цикла           
                