;ЦИКЛ: С20 Измерение угла, образуемого
;произвольной прямой с осью абсцисс=
;==========
SYVAR185.15CH="Версия    1.02"
                                            ;
;Результат измерения в переменной: PR1001
                                            ;
;Особенности ЦИКЛА.
                                            ;
;Датчик касания (ДК) в шпинделе.
                                            ;
;Номер канала измерения в цикле не определяе
;тся: по умолчанию канал №0:
;канал №0     BPI=0 - активирует ДК,
;                     конфигурированный в
;                     TAS или TAS0 *5 PGCFIL
;канал №1     BPI=1 - активирует ДК,
;                     конфигурированный в
;                     TAS1 *5 PGCFIL
                                            ;
;В файле PGCFIL в секции *2 для процесса
;записать 2 инструкции:
;  SIM=E,,1000,,,         - количество E не
;                           более 65565
;  SIM=NEW,PR,2000,6,62,3 - новыя переменная
;      (исключительно для параметрирования
;       циклов измерения)
; Сокращение
; SB - стандартный блок
                                            ;
;=======================Текст цикла:========================================
; == Проверка: переменные INAX1),2),3) не
;    должны иметь одинаковые значения ====SB
(BEQ,$INAX1,$INAX2,ERR1)
                 ;проверка имя оси ординат
                 ;не совпадает с именем оси
                 ;шпинделя
(BEQ,$INAX2,$INAX3,ERR1)
                 ;проверка имя оси абсциссы
                 ;не совпадает с именем оси
                 ;шпинделя
(BEQ,$INAX1,$INAX3,ERR1)
                                            ;
;==Вычисление № процесса, в котором
;  выполняется цикл==SB
;Примечание.
;Используется для расчета номера сигнала
;управляющего безопасностью ДК
;Данный сигнал, например, для 1-ого процесса
;U10N9 устанавливается через переменную
;SN(E16).BL , где: E16=329  (10*32+9=329) 
;!!!Безопасность ДК в цикле включается до
;   начала движения по G0,G1,G2,G3
;!!!Безопасность ДК в цикле выключается до
;   начала движения по G72,G73,G74
;!!!В случае срабатывания защиты ДК система
;   выведет на экран сообщение:
;!!!"Вход на ограничение перемещения
;    <имя оси>,<# процесса>"
;!!!и в PLC установит сигнал I3N9="1".
(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"
                                            ;
                                            ;расчет порядкового номера
                                            ;сигнала управления защитой ДК
                                            ;для активного процесса
E16=(10+26*E15)*32+9
                                            ;
                                            ;PR1230=1 -управление сигналом
                                            ;          безопасности ДК
                                            ;          выполнено в ПЛ
(BEQ,PR1230,1,IZPLC1)
                 ;начальная установка:
                 ;защиту ДК выключить
SN(E16).BL=0
(DLY,0.2)
"IZPLC1"
                                            ;
                 ;=====Входные данные=======
         ;X1
E31=PL1
         ;Y1
E32=PL2
         ;X2
E33=PL3
         ;Y2
E34=PL4
         ;Z0
E30=PL5
         ;Z1
E37=PL6
         ;
;Ось измерения $PS7
         ;NP
E19=PL8
         ;D
E40=PL9+DPMA
         ;B
E8=PL10
         ;F
E25=DPMF
         ;R
E9=PL11
         ;T
E3=PL12
                 ;скорость быстрого
                 ;перемещения к точке начала
                 ;измерения
E28=PR1228
G1FE28
                                ;НУЖНО ЛИ ОБНУЛЯТЬ УГОЛ ??????????
                                ;обнуление угла поворота плоскости
                                ;обработки до начала его измерения
                                ;если да, то раскомментировать восстанов
                                ;ление ниже по тексту цикла
;PR1235=URP
;(URP,0)
                                ;?????????????????????????????????
                                ;
                                ;вспомогательная переменная.Используется для
                                ;выхода из цикла после появления на
                                ;видеостранице #8 ASSET текста ошибки
E5=0
                                            ;
;== определение осей на плоскости обработки ==SB
         ;имя оси абсцисс
$PS1=$INAX1
         ;имя оси ординат
$PS2=$INAX2
         ;имя оси шпинделя
$PS3=$INAX3
                                            ;
;==========================================
         ;== инициализация переменных
E53=0
E51=0
E52=0
                                            ;
         ;(1-ая точка) расчет координат
         ;точки начала измерения с учетом:
         ;D и DPMA и NP
;dX1
E51=E31-E19*E40
;dY1
E52=E32-E19*E40
                                            ;
         ;(2-ая точка) расчет координат
         ;точки начала измерения с учетом:
         ;D и DPMA и NP
;dX2
E53=E33-E19*E40
;dY2
E54=E34-E19*E40
;============================================
;СОХРАНЕНИЕ ПАРАМЕТРОВ, ЗАДАННЫХ В ИНСТРУКЦИИ
;DPM (DPM0).
;============================================
         ;DPMA- дистанция установки рабочей
         ;скорости измерения.
         ;Дистанция откладывается от
         ;предполагаемой точки касания DK
         ;с поверхностью в направлении к
         ;начальной точке цикла.
E199=DPMA
         ;DPMS- дистанция безопасности DK.
         ;Откладывается от предполагаемой
         ;точки касания щупа с поверхностью в
         ;направлении измерения. 
E200=DPMS
         ;DPMF- рабочая скорость измерения.
         ;Действует на отрезке DPMA+DPMS
E25=DPMF
         ;активация схемы движения
         ;в цикле измерения
E26=DPMF
(BEQ,PR1227,0,F)
E26=PR1227
"F"
(DPT,E40,E200,E26)
                                            ;
                                            ;
;метка XXX - переход на измерение
;            вдоль оси X
(BEQ,$PS7,$PS1,XXX)
                                            ;
;метка YYY - переход на измерение
;            вдоль оси Y
(BEQ,$PS7,$PS2,YYY)
                                            ;
;метка ZZZ - переход на измерение
;            вдоль оси Z
(BEQ,$PS7,$PS3,ZZZ)
                                            ;
                                            ;
"XXX"
         ;======измерение вдоль оси X=======
                                            ;
E87=ABS(E34-E32)
(BLE,E87,0.0001,ERR4)
                                            ;
(BEQ,PR1230,1,IZPLC2)
                 ;защиту ДК включить
SN(E16).BL=1
(DLY,0.2)
"IZPLC2"
;=== подход в начало измерения
;=====точка 1======
                 ;-по оси шпинделя
                 ; на безопасную высоту
G0 $PS3 E30
                 ;-по осям в плоскости
                 ; обработки
$PS1 E51 $PS2 E32 
                 ;-по оси шпинделя
                 ; на высоту измерения
$PS3 E37
                                            ;
                                            ;
(BEQ,PR1230,1,IZPLC3)
                 ;защиту ДК выключить
SN(E16).BL=0
(DLY,0.2)
"IZPLC3"
                                            ;
;====измерение 1-ой точки=====
E61=0
E62=0
(BEQ,E9,1,DDD11)
(BEQ,E9,2,DDD12)
G72 $PS1 E31 $PS2 E32 RE200 E59
E61=E59
E62=E60
   "DDD12"
G72 $PS1 E31 $PS2 E32 RE200 E59
E61=(E61+E59)/(E9-1)
E62=(E62+E60)/(E9-1)
   "DDD11"
G72 $PS1 E31 $PS2 E32 E59
E61=(E61*(E9-1)+E59)/E9
E62=(E62*(E9-1)+E60)/E9
                                            ;
(BEQ,PR1230,1,IZPLC4)
                 ;защиту ДК включить
SN(E16).BL=1
(DLY,0.2)
"IZPLC4"
                                            ;
                 ;-отход в плоскости
                 ; обработки
$PS1 E51 $PS2 E32
                                            ;
                 ;переход к точке начала
                 ;измерения №2 на высоте
                 ;измерения
(BEQ,E8,0,BBB1)
                                            ;
                 ;-отход по оси шпинделя на
                 ; безопасную высоту
G0 $PS3 E30
                                            ;
                                            ;
"BBB1"
                                            ;
                 ;-выход к точке начала
                 ; измерения №2 в плоскости
                 ; обработки на высоте
                 ; измерения
$PS1 E53 $PS2 E34
                 ;-выход оси шпинделя
                 ; на высоту измерения
$PS3 E37
                                            ;
                                            ;
(BEQ,PR1230,1,IZPLC5)
                 ;защиту ДК выключить
SN(E16).BL=0
(DLY,0.2)
"IZPLC5"
                                            ;
                 ;===измерение 2-ой точки===
E63=0
E64=0
(BEQ,E9,1,DDD21)
(BEQ,E9,2,DDD22)
G72 $PS1 E33 $PS2 E34  RE200 E59
E63=E59
E64=E60
"DDD22"
G72 $PS1 E33 $PS2 E34  RE200 E59
E63=(E63+E59)/(E9-1)
E64=(E64+E60)/(E9-1)
"DDD21"
G72 $PS1 E33 $PS2 E34  E59
E63=(E63*(E9-1)+E59)/E9
E64=(E64*(E9-1)+E60)/E9
                                            ;
(BEQ,PR1230,1,IZPLC6)
                 ;защиту ДК включить
SN(E16).BL=1
(DLY,0.2)
"IZPLC6"
                                            ;
                 ;-отход в плоскости
                 ; обработки
$PS1 E53 $PS2 E34
                 ;-отход по оси шпинделя на
                 ; безопасную высоту
G0 $PS3 E30   
                                            ;
                                            ;
                 ;Расчет угла по 2-м точкам
;           Y         X
E71=ART((E64-E62)/(E63-E61))-URP
                                            ;
                                            ;
(BNC,en)
                                            ;
;===========================================================================
                                            ;
                                            ;
"YYY"
                 ;==измерение вдоль оси Y==
                                            ;
(BEQ,PR1230,1,IZPLC8)
                 ;защиту ДК включить
SN(E16).BL=1
(DLY,0.2)
"IZPLC8"
                                            ;
                 ;перемещение к исходной
                 ;позиции для измерения
                 ;1-ой точки:
                                            ;
                 ;-отход по оси шпинделя на
                 ; безопасную высоту
G0 $PS3 E30
                 ;перемещение к началу
                 ;измерения на быстром ходу
$PS1 E31 $PS2 E52
                 ;-по оси шпинделя на высоту
                 ; измерения
$PS3 E37
                                            ;
(BEQ,PR1230,1,IZPLC9)
                 ;защиту ДК выключить
SN(E16).BL=0
(DLY,0.2)
"IZPLC9"
                                            ;
                 ;===измерение 1-ой точки===
E61=0
E62=0
(BEQ,E9,1,DDD31)
(BEQ,E9,2,DDD32)
G72 $PS1 E31 $PS2 E32  RE200 E59
E61=E59
E62=E60
"DDD32"
G72 $PS1 E31 $PS2 E32  RE200 E59
E61=(E61+E59)/(E9-1)
E62=(E62+E60)/(E9-1)
"DDD31"
G72 $PS1 E31 $PS2 E32  E59
E61=(E61*(E9-1)+E59)/E9
E62=(E62*(E9-1)+E60)/E9
                                            ;
(BEQ,PR1230,1,IZPL10)
                 ;защиту ДК включить
SN(E16).BL=1
(DLY,0.2)
"IZPL10"
                                            ;
                 ;-отвод по осям в плоскости
                 ; обработки
$PS1 E31 $PS2 E52
                                            ;
                 ;переход к точке начала
                 ;измерения №2 на высоте
                 ;измерения на быстром ходу
(BEQ,E8,0,BBB2)
                 ;отход на безопасную высоту
G0 $PS3 E30
                                            ;
                                            ;
"BBB2"
                                            ;
                 ;-выход к точке начала
                 ; измерения №2 в плоскости
                 ; измерения
G0 $PS1 E33 $PS2 E54
                 ;-выход оси шпинделя на
                 ; высоту измерения
$PS3 E37
                                            ;
                                            ;
(BEQ,PR1230,1,IZPL11)
                 ;защиту ДК выключить
SN(E16).BL=0
(DLY,0.2)
"IZPL11"
                                            ;
                 ;===измерение 2-ой точки===
E63=0
E64=0
(BEQ,E9,1,DDD41)
(BEQ,E9,2,DDD42)
G72 $PS1 E33 $PS2 E34  RE200 E59
E63=E59
E64=E60
"DDD42"
G72 $PS1 E33 $PS2 E34  RE200 E59
E63=(E63+E59)/(E9-1)
E64=(E64+E60)/(E9-1)
"DDD41"
G72 $PS1 E33 $PS2 E34  E59
E63=(E63*(E9-1)+E59)/E9
E64=(E64*(E9-1)+E60)/E9
                                            ;
(BEQ,PR1230,1,IZPL12)
                 ;защиту ДК включить
SN(E16).BL=1
(DLY,0.2)
"IZPL12"
                                            ;
                 ;-отвод по осям в
                 ; плоскости обработки
$PS1 E33 $PS2 E54
                 ;перемещение на
                 ;безопасную высоту
G0 $PS3 E30
                                            ;
;Расчет угла по 2-м точкам
;           Y         X
E71=ART((E64-E62)/(E63-E61))-URP
                                            ;
                                            ;
(BNC,en)
                                            ;
                                            ;
;===========================================================================
                                            ;
                                            ;
"ZZZ"
                 ;==измерение вдоль оси Z==
                                            ;
                                            ;
E87=ABS(E33-E31)
(BLE,E87,0.0001,ERR3)
                                ;
(BEQ,PR1230,1,IZPL14)
SN(E16).BL=1
(DLY,0.2)
"IZPL14"
                                            ;
                                            ;
                 ;-отход по оси шпинделя
                 ; на безопасную высоту
G0 $PS3 E30
                 ;выход к точке начала
                 ;измерения №1 в плоскости
                 ;обработки
$PS1 E31 $PS2 E32 
                                            ;
                                            ;
(BEQ,PR1230,1,IZPL15)
                 ;защиту ДК выключить
SN(E16).BL=0
(DLY,0.2)
"IZPL15"
                                            ;
                                            ;
                 ;===измерение 1-ой точки===
E63=0
E65=0
(BEQ,E9,1,DDD51)
(BEQ,E9,2,DDD52)
G72 $PS7 E37 RE200 E65
E63=E65
"DDD52"
G72 $PS7 E37 RE200 E65
E63=(E63+E65)/(E9-1)
"DDD51"
G72 $PS7 E37 RE200 E65
E63=(E63*(E9-1)+E65)/E9
E80=E63
                                            ;
                                            ;
(BEQ,PR1230,1,IZPL16)
                 ;защиту ДК включить
SN(E16).BL=1
(DLY,0.2)
"IZPL16"
                                            ;
                 ;отход на безопасную высоту
$PS3 E30
                 ;выход к точке начала
                 ;измерения №2 в плоскости
                 ;обработки
$PS1 E33 
                                            ;
                                            ;
(BEQ,PR1230,1,IZPL17)
                 ;защиту ДК выключить
SN(E16).BL=0
(DLY,0.2)
"IZPL17"
                                            ;
                 ;===измерение 2-ой точки===
E63=0
E81=0
(BEQ,E9,1,DDD61)
(BEQ,E9,2,DDD62)
G72 $PS7 E37 RE200 E65
E63=E65
"DDD62"
G72 $PS7 E37 RE200 E65
E63=(E63+E65)/(E9-1)
"DDD61"
G72 $PS7 E37 RE200 E65
E63=(E63*(E9-1)+E65)/E9
E81=E63
                                            ;
                                            ;
(BEQ,PR1230,1,IZPL18)
                 ;защиту ДК включить
SN(E16).BL=1
(DLY,0.2)
"IZPL18"
                                            ;
                 ;отход на безопасную высоту
$PS3 E30
                 ;расчет угла
E71=ART((E81-E80)/(E33-E31))
                                            ;
(BNC,en)
                                            ;
                                            ;
;===========================================================================
                                            ;
                                            ;
"en"
                                            ;
;?????????возвращение базового угла вращения
;E29=PR1235
;(URP,E29)
                                            ;
                                            ;

(BEQ,E3,0,END1)
(BEQ,E3,2,SQRT)
                                            ;
         ;структура файла-отчета PRC20/MP3
(DER,2,SYVAR.32CH,SYVAR32.7CH,E350,SYVAR39.3CH,E351)
ERR=1
(CRE,2,PRC20/MP3,21)
(BNE,IOSTA,5,OK)
(CAN,PRC20/MP3)
(CRE,2,PRC20/MP3,21)
                                            ;
"OK"
(OPN,1,PRC20/MP3,W)
SYVAR39.3CH="   "
E351=0
E350=0
SYVAR32.7CH="       "
SYVAR.32CH="Измерение угла от оси абсцисс"
(WRT,1,2,1)
                                            ;
SYVAR32.7CH="       "
E350=E31
SYVAR.32CH="1-ая точка измерения по оси X"
(WRT,1,2,2)
                                            ;
SYVAR32.7CH="       "
E350=E32
SYVAR.32CH="1-ая точка измерения по оси Y"
(WRT,1,2,3)
                                            ;

SYVAR.32CH="2-ая точка измерения по оси X"
E350=E33
(WRT,1,2,4)
                                            ;
SYVAR.32CH="2-ая точка измерения по оси Y"
E350=E34
(WRT,1,2,5)
                                            ;
SYVAR.32CH="Безопасная высота"
E350=E30
(WRT,1,2,6)
                                            ;
SYVAR.32CH="Высота измерения оси щупа"
E350=E37
(WRT,1,2,7)
                                            ;
SYVAR.32CH="Безопасное расстояние"
E350=E40
(WRT,1,2,8)
                                            ;
SYVAR.32CH="Скорость подачи"
E350=E26
(WRT,1,2,9)
                                            ;
SYVAR.32CH="Статус: Успешно"
E350=0
(WRT,1,2,18)
                                            ;
SYVAR.32CH="1-ая точка"
SYVAR12.1CH=$PS7
(BEQ,$PS7,"X",XXX1)
(BEQ,$PS7,"Y",YYY1)
(BEQ,$PS7,"Z",ZZZ1)
"XXX1"
E350=E61
(BNC,WRT1)
"YYY1"
E350=E62
(BNC,WRT1)
"ZZZ1"
E350=E80
"WRT1"
(WRT,1,2,10)
                                            ;
SYVAR.32CH="2-ая точка"
SYVAR12.1CH=$PS7
(BEQ,$PS7,"X",XXX2)
(BEQ,$PS7,"Y",YYY2)
(BEQ,$PS7,"Z",ZZZ2)
"XXX2"
E350=E63
(BNC,WRT2)
"YYY2"
E350=E64
(BNC,WRT2)
"ZZZ2"
E350=E81
"WRT2"
(WRT,1,2,11)
                                            ;
SYVAR32.7CH="PR1001="
SYVAR.32CH="Измеренное значение угла"
E350=E71
(WRT,1,2,12)
                                            ;
E350=0
SYVAR32.7CH="       "
SYVAR.32CH=SYVAR185.15CH
(WRT,1,2,21)
(CLO,1)
                                            ;
(BLE,E3,1,END1)
;==================
                                            ;
"SQRT"
                                            ;
(SCR,ON)
                                            ;
(DEF,  1, 2, 1," Цикл измерения детали          ",A16)
(DEF,  2, 2,32,"Измерение угла                  ",A16)
(DEF,  3, 2,64,SYVAR185.15CH,A16)
(DEF,  4, 1, 1,"                                ",A16)
(DEF,  5, 1,33,"                                ",A16)
(DEF,  6, 1,65,"              ",A16)
                                            ;
(DEF,  7, 3, 3,"Точка №",A59)
(DEF,  8, 3,40,"Ось измерения",A59)
(DEF,  9, 5,47,$PS7)
(DEF, 10, 7,47,$PS7)
(DEF, 11,17, 3,"Ось щупа",A59)
(DEF, 12,17,25,$PS5)
                                            ;
(DEF, 13, 5, 3,"P1",A59)
(DEF, 14, 5,12,$PS1)
(DEF, 15, 5,19,E31,6)
                                            ;
(DEF, 16, 7, 3,"P2",A59)
(DEF, 17, 7,12,$PS1)
(DEF, 18, 7,19,E33,6)
                                            ;
(DEF, 19, 5,28,$PS2)
(DEF, 20, 7,28,$PS2)
                                            ;
(DEF, 21, 5,35,E32)
(DEF, 22, 7,35,E34)
                                            ;
(DEF, 23,18, 3,"Высота безопасная")
(DEF, 24,18,25,E30,6)
(DEF, 25,19, 3,"Высота измерения")
(DEF, 26,19,25,E37,6)
                                            ;
(DEF, 27,17,40,"Параметры измерения:",A49)
(DEF, 28,18,40,"Безопасное расстояние")
E40=DPMA
(DEF, 29,18,62,E40,6)
(DEF, 42,18,67,"+")
E40=PL9
(DEF, 41,18,68,E40,6)
                                            ;
(DEF, 30,19,40,"Подача измерения")
(DEF, 31,19,62,E26.RE,5)
                                            ;
                                            ;
(DEF, 33, 4,53,"Результаты измерения:",A183)
                                            ;
(BEQ,$PS7,"X",XXX3)
(BEQ,$PS7,"Y",YYY3)
(BEQ,$PS7,"Z",ZZZ3)
                                            ;
"XXX3"
(DEF, 34, 5,65,E61,6)
(DEF, 35, 7,65,E63,6)
(BNC,FINAL)
"YYY3"
(DEF, 34, 5,65,E62,6)
(DEF, 35, 7,65,E64,6)
(BNC,FINAL)
"ZZZ3"
(DEF, 34, 5,65,E80,6)
(DEF, 35, 7,65,E81,6)
(BNC,FINAL)
                                            ;
"FINAL"
(DEF, 36, 9,56,"Угол",A16)
(DEF, 37, 9,65,E71,6,A16)
(DEF, 38,12,10,"Для продолжения нажмите ПУСК",A12)
;=================================
(OUT)
M0
(SCR,OFF)
"END1"
                                            ;
;======Сохранение результата в переменных===
                                            ;
PR1001=	E71
                                            ;
                                            ;
(BNC,END)
                 ;====обработка ошибок====== 
                                            ; 
"ERR1"
                                            ;
(SCR,ON)
(DEF, 1, 1,20,"ВНИМАНИЕ! Ошибка конфигурации ос")
(DEF, 2, 1,52,"ей")
(DEF, 5, 3, 5,"Абсцисса, ордината и ось шпинде-")
(DEF,10, 4, 5,"ля должны иметь разные имена.   ")
(DEF,15, 7, 5,"Для продолжения цикла нажать 1 и",A1)
(DEF,20, 7,37," клавишу ENTER ",A1)
(DEF,25, 7,53,E5,2)
(DEF,30, 9, 5,"Для прекращения программы выполн",A12)
(DEF,31, 9,37,"ить 'ОБЩИЙ СБРОС'.",A12)
                                            ;
(BNC,ENDERR)
                                            ;
                                            ;
"ERR3"
                                            ;
(SCR,ON)
(DEF, 1, 1,20,"ВНИМАНИЕ! ошибка ввода данных ци")
(DEF, 2, 1,52,"кла")
(DEF, 5, 3, 5,"Дистанция между точками измерени")
(DEF, 6, 3,37,"я")
(DEF,10, 4, 5,"вдоль оси X должна быть > 0.    ")
(DEF,15, 7, 5,"Для продолжения цикла нажать 1 и",A1)
(DEF,20, 7,37," клавишу ENTER ",A1)
(DEF,25, 7,53,E5,2)
(DEF,30, 9, 5,"Для прекращения программы выполн",A12)
(DEF,31, 9,37,"ить 'ОБЩИЙ СБРОС'.",A12)
                                            ;
(BNC,ENDERR)
                                            ;
                                            ;
"ERR4"
                                            ;
(SCR,ON)
(DEF, 1, 1,20,"ВНИМАНИЕ! ошибка ввода данных ци")
(DEF, 2, 1,52,"кла")
(DEF, 5, 3, 5,"Дистанция между точками измерени")
(DEF, 6, 3,37,"я")
(DEF,10, 4, 5,"вдоль оси Y должна быть > 0.    ")
(DEF,15, 7, 5,"Для продолжения цикла нажать 1 и",A1)
(DEF,20, 7,37," клавишу ENTER ",A1)
(DEF,25, 7,53,E5,2)
(DEF,30, 9, 5,"Для прекращения программы выполн",A12)
(DEF,31, 9,37,"ить 'ОБЩИЙ СБРОС'.",A12)
                                            ;
(BNC,ENDERR)
                                            ;
                                            ;
"ENDERR"
                                            ;
                                            ;
                 ;Запрос вывода ошибки на
                 ;видеостраницу #8 ASSET с
                 ;предложением выхода из
                 ;программы
E5=0
(DLY,0.1)
(OUT)
                                            ;
"ERR"
(INP," ",E5,25)
(BEQ,E5,0,ERR)
(SCR,OFF)
                                            ;
"END"
                 ;активация схемы движения
                 ;ДК, заданной в DPM
    ;DPMA,DPMS,DPMF
(DPT,E199,E200,E25)
                                            ;
;===
(BEQ,PR1230,1,IZPL19)
                 ;защиту ДК выключить
SN(E16).BL=0
(DLY,0.2)
"IZPL19"
       ;======Конец цикла======