TIA protal与SCL从入门到精通(5)——函数终止跳转处理

跳出循环指令

对于学过基础编程语言的同学函数处理应该很熟悉,如果当前并不很熟悉函数基本处理,阅读本教程应当也可以。

本章主要分为两节详细解释以下五个程序指令

1.CONTINUE
2.EXIT
3.GOTO
4.RETURN

在条状指令这块儿,大部分程序较为简单,所以只给出简单的例子,与运行结果。
主函数如图:
TIA protal与SCL从入门到精通(5)——函数终止跳转处理_第1张图片

1.CONTINUE (复查循环)

示例:

FOR "DATA".i:= 1 TO 10 BY 1 DO
    IF ("DATA".i <= 5) THEN
        CONTINUE;//停止下方循环,检查循环是否到达边界,若不是则执行新的一轮循环
    END_IF;
    "DATA".Data1["DATA".i]:= "DATA".i;
END_FOR;

关于FOR循环指令会在后几章进行阐述,本例中主要是说明CONTINUE语句的基本使用,执行上方代码后所得各个变量的结果如下:
TIA protal与SCL从入门到精通(5)——函数终止跳转处理_第2张图片
有一定C基础的同学不难看出,CONTINUE与C中的含义是相同的,这与SCL这种语言本身有关,作为结构化语言,其是源于帕斯卡语言,这种语言以及C最初都曾被应用与教学。

2.EXIT(退出循环)

示例:

FOR "DATA".i:= 1 TO 10 BY 1 DO
    IF ("DATA".i <= 5) THEN
        EXIT;//结束当前循环
    END_IF;
    "DATA".Data1["DATA".i]:= "DATA".i;
END_FOR;

运行结果如下:

TIA protal与SCL从入门到精通(5)——函数终止跳转处理_第3张图片

3.GOTO(跳转指令)

跳转指令只能在一个块中使用,每个跳转目标都需要一个标签作为本程序段中唯一跳转目标标记。
注意:不允许从“外部”跳转到程序循环内,但允许从循环内跳转到“外部”。
示例程序如下:

CASE #Value OF
    1:
        GOTO T1;
    2:
        GOTO T2;
    3:
        GOTO T3;
    ELSE
        GOTO T4;
END_CASE;
T1:
"DATA".Data2[1] := 1;
T2:
"DATA".Data2[2] := 2;
T3:
"DATA".Data2[3]:= 3;
T4:
"DATA".Data2[4] := 4;

当#Value为0时程序跳转至T4程序段:

T4:
"DATA".Data2[4] := 4;

TIA protal与SCL从入门到精通(5)——函数终止跳转处理_第4张图片
当#Value为0时程序跳转至T2程序段,然后顺序执行后面的程序:
TIA protal与SCL从入门到精通(5)——函数终止跳转处理_第5张图片

3.RETURN(退出函数块)

RETURN语句能够终止当前处理块中的程序执行,退出该程序块后,继续运行调用块中的函数。
注:RETURN语句不能使用在程序最末端,在程序最末端的执行效果与没有使用该指令相同。

示例:

FOR "DATA".i := 1 TO 10 BY 1 DO
    IF ("DATA".i = 5) THEN
        EXIT;//结束当前循环
    END_IF;
    "DATA".Data1["DATA".i] := "DATA".i;
END_FOR;
IF #ErrorR = 3 THEN
    RETURN;
    
END_IF;
CASE #Value OF
    1:
        GOTO T1;
    2:
        GOTO T2;
    3:
        GOTO T3;
    ELSE
        GOTO T4;
END_CASE;
T1:
"DATA".Data2[1] := 1;
T2:
"DATA".Data2[2] := 2;
T3:
"DATA".Data2[3]:= 3;
T4:
"DATA".Data2[4] := 4;

如上程序,当程序执行到此程序段后,程序不再运行。

IF #ErrorR = 3 THEN
    RETURN;
    
END_IF;

如图,当"DATA".ErrorR为3时,程序完成跳转。
TIA protal与SCL从入门到精通(5)——函数终止跳转处理_第6张图片
其后的程序段不会再继续运行
TIA protal与SCL从入门到精通(5)——函数终止跳转处理_第7张图片

你可能感兴趣的:(TIA,portal)