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