ST语言-4.程序结构语句+选择语句+循环语句+跳转语句

1.分支结构(选择语句)

在这里插入图片描述

1.1简单IF

基本格式:

IF expression_1 THEN
  <逻辑语句>
END_IF;

代码示例:判断当前温度是否超过了 60 摄氏度,如果超过,始终打开风扇进行散热处理;
在这里插入图片描述

1.2IF-ELSE

基本格式:

IF expression_1 THEN
  <逻辑语句>
ElSE 
  <逻辑语句>
END_IF;

代码示例:判断当温度小于到 20 摄氏度时,开启加热设备,否则(温度大于等于 20摄氏度) 加热设备断开状态
在这里插入图片描述

1.3多重IF-ELSE

基本格式:

IF expression_1 THEN        
  <逻辑语句>
ELSIF expression_2 THEN //可选
  <逻辑语句>
ElSE //可选
  <逻辑语句>
END_IF;

代码示例:当设备进入自动模式后, 如实际温度大于 50 摄氏度时, 才开启风扇并关闭加热器,小于等于 50 摄氏度时关闭风扇打开加热器, 如在手动模式时,加热器风扇均不动作
在这里插入图片描述

1.4嵌套

基本格式:

IF expression_1 THEN
    <逻辑语句>
    IF expression_2 THEN  (*嵌套在内部的条件判断语句*<逻辑语句>
    END_IF;
END_IF;

示例:
在这里插入图片描述

2.循环结构

2.1ROR循环

在这里插入图片描述
基本语法:

*BY后的Step为设置步长,没有默认为1*)
(*重点:循环前检测终止条件*)
FOR  count:= Start_value  TO Stop_value BY Step DO
  <循环体>
END_FOR;

示例:

sum:=0;
FOR  count:= 0  TO 100 BY 2 DO
  sum:=sum+count;
  IF sum>=100 THEN
    EXIT;*当EXIT 语句用在一个嵌套的循环中时,退出只是在EXIT所在的循环中执行。 循环结束后继续执行结束语句后的程序*)
    (*CONTINUE打断当前当次循环,用于提前结束本次循环,并重新开始下一次循环。也可以使用RETURN返回指令,直接返回POU开头,即退出程序组织单元(POU)*)
  END_IF;
END_FOR;

2.2WHILE

在这里插入图片描述
基本语法:

WHILE bool_expression DO
  <逻辑语句>
END_WHILE;

程序示例:只要计数器不为零,则始终执行循环体内的程序
在这里插入图片描述

2.3REPEAT

在这里插入图片描述
基本语法:

REPEAT
    ···
    ···   
    ···
UNTIL <退出执行的条件>  
END_REPEAT;

程序示例:当计数器为 0 时, 则停止循环
在这里插入图片描述

3.CASE语句

在这里插入图片描述
基本语法:

CASE step_variable OF
(*在CASE和OF之间的变量必须是UINT类型*)
selector_1:
  <逻辑语句>
selector_2,selector_4,selector_6:*条件变量满足值246任意一个,就会执行下面对应的语句*)
  <逻辑语句>
selector_7..selector_15:*条件变量满足值715之间所有值的任意一个,就会执行下面对应的语句*<逻辑语句>
……
selector_n:
  <逻辑语句>
ELSE  (*条件变量值在以上变量都不满足时,就执行这里面的语句,这个条件分支可以不写*)
  <逻辑语句>
END_CASE;

程序示例:当前状态为 1 或 5 时,设备 1 运行和设备 3 停止;状态为 2 时,设备 2 停止和设备3 运行;如当前状态在 10 至 20 之间,设备 1 和设备 3 均运行,其他情况时要求设备 1, 2, 3 均停止
在这里插入图片描述
在这里插入图片描述

4.跳转语句

4.1EXIT语句

如果 FOR、 WHILE 和 REPEAT 三种循环中使用了 EXIT 指令,那么无论结束条件如何,内循环立即停止
程序示例:使用 EXIT 指令避免当使用迭代语句时中出现除零
在这里插入图片描述

4.2CONTINUE语句

CONTINUE 语句中断本次循环, 忽略位于它后面的代码而直接开始一次新的循环。当多个循环嵌套时, CONTINUE 语句只能使直接包含它的循环语句开始一次新的循环。
程序示例:使用 CONTINUE 指令避免当使用迭代语句时中出现除零
在这里插入图片描述

4.3 JMP语句

跳转语句, 跳转指令可以用于无条件跳转到使用跳转好标记的代码行。<标识符>可以是任意的标识符,它被放置在程序行的开始。 JMP 指令后面为跳转目的地,即一个预先定义的标识符。 当执行到 JMP 指令时,将跳转到标识符所对应的程序行。
必须避免制造死循环,可以配合使用 IF 条件控制跳转指令。
基本语法:

<标识符>:
JMP<标识符>;

程序示例:使用 JMP 语句实现计数器在 0…10 范围内循环
在这里插入图片描述

4.4RETURN指令

RETURN 指令是返回指令, 用于退出程序组织单元( POU) 。
程序示例:使用 IF 语句作为判断,当条件满足时,立即终止执行本程序
在这里插入图片描述

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值