; -------SPE --------------
;
 G94 G97 G40 G90
;(X) Координата определяющая левый нижний угол прямоугольника по оси X.
 E30=PL1
;
;(Y) Координата определяющая левый нижний угол прямоугольника по оси Y.
 E31=PL2
;
;(Z) Координата точки начала отработки по оси Z.
 E32=PL3
;
;(K) Координата определяющая глубину по оси Z.
 E33=PL6
;
;(I) Длина стоpоны пpямоугольника по оси X
 E34=PL4
;
;(J) Длина стоpоны пpямоугольника по оси Y
 E35=PL5
;
;(R) Pадиус скругления
 E37=PL7
;
;Pадиус фpезы
 E38=PL0
 (BNE,E38,0,WW)
 (DIS,"В корректоре не задан К фрезы")
 "WW"

;
;(d) Глубина одного пpохода
 E36=PL8
;
;(QIL) Отклонение от  размера начала работы по оси Y
 E56=PL11
;
;(USF) Пpипуск вдоль боковой повеpхности
 E53=PL9
;
;(USP) Пpипуск по глубине
 E52=PL10
;
;Проверки:
        ;R<=I/2+USF
         E60=E34/2+E53
         (BGT,E37,E60,ER1)
        ;R<=J/2+USF
         E61=E35/2+E53
         (BGT,E37,E61,ER2)
;                                   
;------------Пpизнак чистовой (d=0)------------
 (BEQ,E36,0,16)
       (BNC,18)
        "16"
 E1=1
 E52=0
 E53=0
        "18"
;---------- Pасчет -----------
 E30=E30+(E34/2)
 E31=E31+(E35/2)
;E41 = I/2+USF+R фpезы
 E41=(E34/2+E53)+E38
;E42 = J/2+USF+R фpезы
 E42=(E35/2+E53)+E38
;
 E43=E41-E37-E38
;E44
 E44=E42-E37-E38
;E45 
 E45=NEG(E42+E56)
 E46=NEG(E42+(E56/2))
 E48=NEG(E41)
 E49=NEG(E42)
 E50=NEG(E43)
 E51=NEG(E44)
;-----Pасчет количества пpоходов--------
      ;E57-Глубина по Z
       E57=ABS(E32-E33)-E52
       (BEQ,E36,0,6)
      ;E1-Pасчет целого количества пpоходов
       E1=INT(E57/E36)
      ;E41-Pасчет остатка, мм
       E58=E57-(E1*E36)
      ;E59-10% глубины одного пpохода
       E59=E36*0.1
      ;Если остаток <=10% глубины одного пpохода пеpеход к "6", если > пpибавляю 1 пpоход
       (BLE,E58,E59,6)
              E1=E1+1
       "6"
;Pасчет глубины одного пpохода E40
       E40=E57/E1
       E47=E32-E40
;-----------------------------------------------------------
; -------Выполнение цикла  -----------
 (DPI,$PS1,$PS2)
 (UIO,$PS1E30,$PS2E31)
 G0 $PS1E50 $PS2E45 $PS3E32
 G28
    (RPT,E1)
 G1 G29 $PS3E47
 G2 G28 $PS1E50 $PS2E49 IE50 JE46
 G1 $PS1E43
 G3 $PS1E41 $PS2E51 IE43 JE51
 G1 $PS2E44
 G3 $PS1E43 $PS2E42 IE43 JE44
 G1 $PS1E50
 G3 $PS1E48 $PS2E44 IE50 JE44
 G1 $PS2E51
 G3 $PS1E50 $PS2E49 IE50 JE51
 G2 $PS2E45 IE50 JE46
 E47=E47-E40
    (ERP)
 G0 G29 $PS1E50 $PS2E45 $PS3E32
;
 E30=NEG(E30)
 E31=NEG(E31)
 (UIO,$PS1E30,$PS2E31)
 (BNC,9)
; ---------- Конец -------------
  "ER1"
  (DIS,"Параметр R должен быть <=",E60)
  (BNC,9)
  "ER2"
  (DIS,"Параметр R должен быть <=",E61)
  "9"
