点击【 大 中 小 】,可以选择字体的大小,以便你阅读.
结构化文本(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。
3.5.3在程序中调用功能块
在结构化文本(ST)程序中可以直接调用功能块。功能块在被调用以前,输入参数被分配为缺省值;在调用后,输入参数值保留为最后一次调用的值。功能块调用的格式如下:
FunctionBlockInstance(
InputParameter1:=ValueExpression1,
InputParameter2:=ValueExpression2, …);
ValueExpression1……ValueExpressionN是符合功能块数据类型输入变量,InputParameter1……InputParameterN功能块的输入参数。FunctionBlockInstance是要调用的功能块。
3.5.4结构化文本(ST)程序中的语句
条件语句的功能是,某一条件满足时执行相应的选择语句。结构化文本(ST)有如下的条件语句:
迭代语句适用于需要一条或多条语句重复执行许多次的情况,迭代语句的执行取决于某一变量或条件的状态。应用迭代语句应避免迭代死循环的情况。
ST 语句
关键字 |
说明 |
示例 |
说明 |
:= |
赋值 |
d := 10 |
将右边的一个供计算的数值赋值给左边的标识符 |
|
调用 FB |
FB Name( Par1 := 10, Par2 := 20); |
调用另一个类型为 FB 的 POU,包括其参数 |
RETURN |
返回 |
RETURN |
脱离当前的 POU 和返回到调用 POU |
IF |
选择 |
IF d < e THEN f :=1; ELSEIF d = e THEN f := 2; ELSE f := 3; END_IF |
通过布尔表达式选择替代值 |
CASE |
多重选择 |
CASE f OF 1: g := 11; 2: g := 12; ELSE g := FunName(); END_CASE |
根据表达式”f”的值选择一个语句块 |
FOR |
跌代 (1) |
FOR h:=1 TO 10 BY 2 DO F[h/2] := h; END_FOR |
一个多循环语句块,带有起始和结束条件以及一个增量值 |
WHILE |
跌代 (2) |
WHILE m > 1 DO N := n / 2; END_WHILE |
一个多循环语句块,具有在开始端的结束条件 |
REPEAT |
跌代 (3) |
|
一个多循环语句块,具有在结束端的结束条件 |
EXIT |
循环的结束 |
EXIT; |
一个迭代语句的结束条件。 |
; |
空白语句 |
;; |
|
ST 语言不包括跳转指令 (GOTO)。