[PLC伺服与运动控制]ST(结构化文本)-IEC61131-3编程语言之四 -PLC技术网(www.plcjs.com)-可编程控制器技术门户


[PLC伺服与运动控制]ST(结构化文本)-IEC61131-3编程语言之四 

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2007-12-10 19:40:26     来源:   作者: 点击:
点击【 大  中  小 】,可以选择字体的大小,以便你阅读.

结构化文本(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)。

上一篇: V80的软硬件结构和实现原理
下一: [PLC伺服与运动控制]FBD(功能块图)-IEC61131-3编程语言之三