ЦИКЛ WHILE

Добрый день. Уже несколько дней не могу сделать чтоб программа заработала корректно. Пробовал по разному. Сейчас цикл While не правильно работает. Если сделать отдельно то работает нормально, но по Z тогда не опускается до 15. Помогите пожалуйста разобраться. Заранее благодарен. Всем хорошего настроения и хороших программ.

%

O0020

G90G94G54G21

T1M6S2000

G43H1Z100

#1=-50; (nachaln X)

#2=-80; (nachaln Y)

#3=20; (nachaln Z)

#4=10; (diam frez)

#5=[#4/2]; (shag frezerov)

#11=200; (konechn X)

#12=400; (konechn Y)

#13=15; (konechn Z)

G0X0Y0Z100

N10

G1Z21F1000

X-50Y-80

#3=#3-#6

Z#3

IF[#3LE#13]GOTO20

G65P0021

#6=+1

GOTO10

N20

G0Z100

M30

O0021

WHILE[#1LE#11]DO1

#1=#1+#5

G1X#1

Y#12

#1=#1+#5

G1X#1

Y#2

END1

M99

%