Метки и прыжки
Метки и прыжки в LD являются блоками и используются для изменения последовательности выполнения диаграммы при программировании условий и циклов. Прыжок позволяет перевести поток выполнения диаграммы к заранее установленной метке и продолжить выполнение следующих после нее блоков. Для этого на вход блока "прыжка" должно поступить булевское значение TRUE. Выходные параметры у блока "прыжка" отсутствуют, но его имя должно совпадать с именем "метки".
Блок "метки" не требуется предварительного объявлять в словарях, а его имя должно быть уникальным в пределах программного компонента, состоять только из латинских букв и может совпадать с именами переменных. Количество меток не ограничено.
В примере на следующем изображении, если значение переменной var_1 равно TRUE, прямой контакт пропускает дискретный сигнал TRUE на вход блока "прыжка", после чего управление перейдет к диаграмме, расположенной под меткой "label". Блок сложения при этом будет пропущен.

Синтаксис на языке ST:
//если значение переменной var_1 = true, выполняется переход к метке
IF var_1 THEN
GOTO label;
END_IF;
//сложение выполняется, если var_1 = false
out_1 := in1 + in2;
//метка
label: out_2 := in1 * in2;
|
Прыжок "RETURN".
Блок "прыжка" может использоваться для завершения выполнения текущего программного компонента. Для этого в блоке "прыжка" вместо имени метки указывается имя "return". На следующем примере, если в процессе выполнения второй программы на вход блока "прыжка" с именем "return" передается булевское значение TRUE, выполнение текущей программы завершается, и начинается выполнение следующей. Блок сложения при этом не выполняется.

Синтаксис на языке ST:
//если значение переменной var_1 = true,
//завершается выполнение программы
IF var_1 THEN
RETURN;
END_IF;
//сложение выполняется, если var_1 = false
out_1 := in1 + in2;
|
