结构化文本(ST)是一种高级的文本语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。
结构化文本(ST)语言表面上与PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。结构化文本(ST)非常适合应用在有复杂的算术计算的应用中。
结构化文本(ST)程序格式自由,可以在关键词与标识符之间任何地方插入制表符、换行字符和注释。对于熟悉计算机高级语言开发的人员来说,结构化(ST)语言更是易学易用。此外,结构化文本(ST)语言还易读易理解,特别是用有实际意义的标识符、批注来注释时,更是这样。
3.5.1 操作符
结构化文本(ST)定义了一系列操作符用于实现算术和逻辑运算,如逻辑运算符:AND,&,XOR,OR; 算术运算符:<, >, <=, >=, =, <>, +, -, MOD, / 等,此外,还定义了这些操作符的优先级。如下是操作符预算的两个例子:
Start := Oilpress AND Stream AND Pump;
V : = K*(-W*T)
3.5.2 赋值语句
结构化文本(ST)程序既支持很简单的赋值语句,如 X:=Y, 也支持很复杂的数组或结构赋值,如Profile[3]:=10.3+SQRT((Rate+2.0)), Alarm.TimeOn:=RCT1.CDT。 PLC
3.5.3在程序中调用功能块
在结构化文本(ST)程序中可以直接调用功能块。功能块在被调用以前,输入参数被分配为缺省值;在调用后,输入参数值保留为最后一次调用的值。功能块调用的格式如下:
FunctionBlockInstance(
InputParameter1:=ValueExpression1,
InputParameter2:=ValueExpression2, …);
ValueExpression1……ValueExpressionN是符合功能块数据类型输入变量,InputParameter1……InputParameterN功能块的输入参数。FunctionBlockInstance是要调用的功能块。
3.5.4结构化文本(ST)程序中的语句
条件语句的功能是,某一条件满足时执行相应的选择语句。结构化文本(ST)有如下的条件语句:
迭代语句适用于需要一条或多条语句重复执行许多次的情况,迭代语句的执行取决于某一变量或条件的状态。应用迭代语句应避免迭代死循环的情况。
ST 语句
关键字 PLC | 说明 | 示例 PLC | 说明 PLC |
:= PLC资料网 | 赋值 PLC | d := 10 | 将右边的一个供计算的数值赋值给左边的标识符 PLC |
PLC | 调用 FB | FB Name( PLC资料网 Par1 := 10, Par2 := 20); PLC | 调用另一个类型为 FB 的 POU,包括其参数 PLC |
RETURN | 返回 PLC | RETURN | 脱离当前的 POU 和返回到调用 POU |
IF | 选择 PLC资料网 | IF d < e THEN f :=1; PLC ELSEIF d = e THEN f := 2; PLC ELSE f := 3; END_IF PLC资料网 | 通过布尔表达式选择替代值 PLC |
CASE PLC资料网 | 多重选择 PLC资料网 | CASE f OF 1: g := 11; 2: g := 12; PLC资料网 ELSE g := FunName(); PLC资料网 END_CASE | 根据表达式”f”的值选择一个语句块 PLC |
FOR | 跌代 (1) | FOR h:=1 TO 10 BY 2 DO F[h/2] := h; END_FOR PLC资料网 | 一个多循环语句块,带有起始和结束条件以及一个增量值 |
WHILE PLC | 跌代 (2) PLC | WHILE m > 1 DO PLC N := n / 2; END_WHILE PLC资料网 | 一个多循环语句块,具有在开始端的结束条件 |
REPEAT | 跌代 (3) PLC | PLC | 一个多循环语句块,具有在结束端的结束条件 PLC资料网 |
EXIT | 循环的结束 PLC资料网 | EXIT; | 一个迭代语句的结束条件。 PLC |
; | 空白语句 PLC | ;; PLC |