PLC中ST语言的几种程序流程控制语句,温故而知新吧

yumo6669小时前技术文章4

ST语言是IEC61131-3中规定的5中标准语言之一,ST语言的一个好处是移植性好,各家的ST语言基本都是类似的,所以如果有一个巨牛逼的算法,用ST语言实现是再好不过的了,这样可以很容易的在多个品牌的PLC上移植,当前,有个前提条件是在这个算法中不要使用太多的系统功能块,因为系统功能块往往都是各个品牌比较个性的东西,会给移植带来麻烦。另外,ST语言最适合写一些复杂的算法,个人觉得尤其是对应一些数组的操作,用ST语言是最方便的,当然有梯形图也能实现,不过远没有用ST来的方便。ST语言的语法和pascal非常像,有时候各种语言用多了,就会混,所以这里将ST语言的几种常用控制语句记录下来。

1,IF结构:

基本语法是:

IF bool_expression_1 THEN

<逻辑语句>

ELSIF bool_expression_2 THEN //这两行可选

<逻辑语句>

ElSE //这两行可选

<逻辑语句>

END_IF;

举例:

IF a>b THEN

flag:=1;

ELSIF a<b THEN

flag:=2;

ELSE

flag:=3;

END_IF;

说明:

IF语句和梯形图里的常开常闭指令类似,不太推荐用IF语句写复杂逻辑,bool逻辑还是用梯形图写起来方便也直观,除非对ST语言非常热爱同时对梯形图一点不懂。

2,FOR结构:

基本语法是:

FOR count:= initial_value TO final_value BY increment DO

<循环体>

END_FOR;

举例:

sum:=0;

FOR i:= 2 TO 100 BY 2 DO

sum:=sum+i; //计算0-100内偶数和,包含100

END_FOR;

说明:

BY可后面跟的步长是可选的,如果没有默认为1.

如果要提前退出循环,可以在循环内部增加一个判断条件,配合EXIT语句实现,如下:

FOR count:= initial_value TO final_value BY increment DO

IF bool_expression THEN

EXIT;

END_IF;

END_FOR;

3,CASE结构:

基本语法:

CASE numeric_expression OF

selector_1:

<逻辑语句>

……

selector_n:

<逻辑语句>

ELSE

<逻辑语句>

END_CASE;

举例:

CASE num OF

1,2,3:

a:=10;

4:

a:=20;

else

a:=100;

END_CASE;

说明:

CASE语句和其他高级语言中的CASE语句很类似,但是少了break,实际上这里的CASE只会执行第一个满足条件的语句,相当于在每一个选项里自动增加了一个break操作。

4,WHILE结构:

基本语法:

WHILE bool_expression DO

<逻辑语句>

END_WHILE;

举例:

i:=0;

sum:=0;

WHILE i=100 DO

sum:=sum+i;

i:=i+1;

END_WHILE;

说明:

WHILE和FOR几乎是可以通用的,随个人喜好用吧。

知识在于积累,天生异禀者有,而生而知之者不存在,更何况书山有路,学海无涯,在有限的生命里,用有限的精力去徜徉学海,百舸争流,虽苦,也不枉是一件趣事,当你征服一个又一个暗礁,躲过一个又一个激浪,待到风平浪静,旭日东升时,婉儿一笑。

与君共勉!

相关文章

PLC的五种编程语言

(1)梯形图编程语言梯形图编程语言是目前用得最多的 PLC 编程语言。梯形图是在继电器-接触器控制电路的基础上简化符号演变而来的,也就是说,它是借助类似于继电器的常开、常闭触点、线圈及串联与并联等术语...

LAD语言与SCL语言相比,谁将成为PLC编程主流语言?

在西门子博图软件中,有很多种编程语言,其中包括SCL语言、LAD(梯形图)等,这两种编程语言在现目前1200系列编程语言中用的是最多的两种,这两种编程语言在逻辑上其实差不多,SCL逻辑控制会相对强一些...

哪种语言最适合 PLC 编程?

引言当您学习 PLC 编程时,您需要了解五种常用的编程语言:梯形图语言(LD)、结构化文本语言(ST)、顺序功能流程图语言(SFC)、功能模块图语言(FBD)和指令表语言(IL)。这些语言都可以用来编...

实例 | SCL编程,这9种程序控制指令必须掌握

SCL作为一种编程语言,可以实现LAD/FBD所有的功能,大多数的指令与LAD/FBD都是相同的,只是在编辑器中的外形不同。只有一些指令使用是不太一样的甚至LAD/FBD没有的,这里只介绍这些不同的。...

支持PLC编程的5大电气语言,全部会用的才是大神!

PLC的软件编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同于一般的汇编语言,且要满足易于编写和调试的要求。早期的PLC仅支持梯形图编程语言和指令表编程语言,现根据国际电工委员...

关于PLC结构化(ST语言)编程该知道的语句

#头条创作挑战赛#PLC提供了多种编程方式,除了梯形图,ST语言编程也是非常不错的一种编程方式。本文简述一下常用的几种语句,通俗易懂。希望大家多多交流,共同进步。1.IF....ELSE....END...