3.27 Ветвление программы.

 

    Внутри УП можно осуществлять логические переходы к соответствующим меткам.    Переходы могут быть условные и безусловные.

    При ветвлении программ используются следующие символы:

>   больше;

<   меньше;

=   равно;

‘>  больше и равно;

‘<  меньше и равно;

‘=   не равно;

 

 Безусловный переход

Конструкция безусловного перехода имеет следующий вид:

БП_Метка  , где    _       пробел (может быть опущен);

                              БП     ключевое слово (безусловный переход)

                           Метка   место в УП, к которому выполняется переход

 В качестве “Метка” может быть:

1) номер кадра ( БП N=25 ;или  БП N=N+4;)

2) последовательность любых символов (заключенная в круглые скобки). Число символов не больше 6:

БП_KONEC

 .  .  .

N121(KONEC)

 

  Условный переход

   Конструкция условного перехода имеет следующий вид:

      Если_АВ1{  >   <    =    ‘>     ‘<      ‘=  }АВ2_TO_Метка

 Где:

                    _                            пробел (может быть отпущен);

                 Если                         ключевое слово (переход по условию)

{  >   <    =    ‘>     ‘<      ‘=  }   символы условных переходов

             АВ1 , АВ2                    арифметические выражения

                  TO                            ключевое слово

                Метка                          метка

 

    Конструкция кадра с переходом (A) имеет вид:

Nxxx  (1)

(информация предшествующая переходу)  (2)

(конструкция условного перехода)   (3)

ПС  (4)

(Информация, Если условие не выполнено)   (5)

ПС (6)

 

Конструкция кадра с меткой (R) имеет вид:

Nxxx  (7)

(информация)  (8)

(метка)  (9)

(Информация)   (10)

ПС  (11)

 

    Метка оформляется в виде имени, заключенного в круглые скобки и может быть расположена как в начале кадра, так и в середине его. В качестве метки не допускается использование следующих символов :  X, Z, I, K, P, (И, К -  русские), S, N, F, C, H”, а также комбинации символов:  последовательность цифр, “N=”, “O” и последовательность цифр, “R” и последовательность цифр. Для безусловного перехода позиции (5, 6) опускаются. Позиции (2, 5) являются не обязательными.

     При невыполнении условия перехода информации из позиции (2, 5) для отработки объединяются, и рассматривается как единый кадр. При этом не допускается наличие одинаковых  адресов в позиции 2 и 5.

     Взаимное расположение кадров (A) и (R) внутри структурной единицы УП не имеет значения.

 

Примечания:

1) Если в кадре имеет место позиция (2) и условный переход осуществляется по метке, которая установлена между символами “ПС” и “Начало кадра”, то информация, соответствующая позиции (2), утрачивается;

2) При реализации кадра с условным переходом по метке, расположенной внутри кадра (условие выполняется) информация позиций (2, 10) объединяется для отработки;

3) При реализации кадра с условным переходом по номеру кадра (условие выполняется),  сначала отрабатывается информация из позиции (2), а затем информация кадра по указанному номеру;

4) Если в позиции (2) имеет место информация по  X” и “Z” (геометрия) и условный переход использует сравнение со значениями “X” и “Z”, то осуществляется сравнение с той информацией по данным координатам, которая справедлива до позиции (1) -  начало кадра.

    Все виды переходов допустимы только в пределах рассматриваемой структурной единицы; для УП зона поиска по указанному переходу выполняется по всей области программы и входящих в нее подпрограмм; для подпрограммы и циклов -   только внутри данной подпрограммы (цикла). Если заданная в кадре информация не найдена, формируется ошибка с кодом “?28”.

 

Пример программирования с использованием ветвления программы:

%

N1 T01.01 M6

N2 G0 Z0

N3 S1900 M4 M41

N4 R1=28000

N5 X=R1

N6 G1 Z-23000 F300

N7 Z-47000 F2000 G9

N8 Z-68000 F300

N9 G0 X29000

N10 70

N11 R1=R1-1000

N12 ЕСЛИ R1 ‘> 25200 ТО N=5

N13 X25200

N14 G1 Z-23000 F300

N15 Z-47000 F2000 G9

N16 Z-68000 F300

N17 G0 X26000

N18 Z0

N19 M2