1.结构化文本(ST语言)
结构化文本(Text),简称ST语言,是-3中规定的PLC编程语言之一。
一种用于工业控制的高级语言。由于其编写方式与通用计算机语言类似,所以多用于较复杂的控制
场合和复杂的控制算法。
1、特点:
编程语言采用高度简化的表达形式,使得程序紧凑、结构清晰;
具有多种控制语句,可以轻松实现复杂的控制逻辑,如IF、CASE条件语句和FOR、WHILE、循环语句;
程序结构清晰,易于阅读。
2.ST程序结构
ST语言程序由语句组成,语句由表达式和关键字组成,表达式由操作数和运算符组成。
ST结构
2. 语法基础
1. 表达
表达式的构成
在ST语言程序中,表达式由操作数和运算符组成。
表达式可以包含一个或多个运算符、变量和函数
语法 1
操作数
操作数可以是数据文字、字符串文字、时间文字、变量元素、函数调用和其他表示数据的表达式;
例如:15、TRUE、T#20S、[1]、SIN(A)、(A>B) &(C=D)。
操作员
当表达式中使用多个运算符时,它们按优先级降序执行。 相同优先级的运算符按照写入的顺序从左到右执行。
操作员
2. 声明
赋值语句
赋值语句用于将赋值符号(:=)右侧的表达式计算出的值赋给左侧的变量。
格式
赋值语句的一般形式如下,其中“:=”是赋值运算符,必须以分号“;”结尾。
格式变量:=表达式;
例子
变量 1 := 100 ; //将100赋值给变量1
变量 2 := TRUE; //将 TRUE 赋给变量 2
变量 3 := 变量 1 *2 ; //将变量1乘以2并将结果赋给变量3
变量 4 := SIN(变量 3); //将变量3的正弦运算结果赋给变量4
数组 A[1] := 1.5; //将1.5赋给数组A中下标1的元素
变量 5 := 1; 变量 6 := 1.5; 变量 7 := FALSE; //一行中可以同时存在多个赋值语句
函数调用
u函数(FC)调用后,其返回值被赋给其他变量作为表达式的值,其一般格式如下:
变量:=函数名(参数列表);
参数表的写法有两种:
方法一:变量:=函数名(函数输入参数1:=输入变量1,函数输入参数2:=输入变量2,…);
方法二:变量:=函数名(输入变量1,输入变量2,...);
例如:通过函数MAX选择变量1和变量2的最大值(取最大值),并将最大值赋给变量3。两种调用方法如下:
方法一:变量3:=MAX(IN1:=变量1, IN2:=变量2);
方法二:变量3:=MAX(变量1,变量2);
注意:
通过方法2调用时,参数表中的变量从左到右对应函数的输入参数,所以不能留空;
某些二元运算符不能用作函数调用的函数名,例如 MOD、AND、NOT 等:
注意变量:=MOD(变量1,变量2); ×
变量: = 变量 1 MOD 变量 2; √
例子
函数调用
功能块调用
功能块(FB)调用需要实例化,通过实例名实现调用,其一般格式如下:
格式
功能块实例名称(参数列表);
参数表的写法有两种:
模式1:功能块实例名称(功能块输入参数1:=输入变量1,
功能块输入参数 2 := 输入变量 2 ,
……
功能块输出参数 1 => 输出变量 1,
功能块输出参数 2 => 输出变量 2,
...)
方法2:功能块实例名称(输入变量1,输入变量2,……,输出变量1,输出变量2,……);
例如:通过功能块TON的实例名调用TON:
方法一:
( EN:= 变量 1 , IN:= 变量 2 , PT:= T#1S,
ENO => 变量 4,Q => 变量 5,ET=> 变量 6 );
或者
方法二:
(变量1、变量2、T#1S、变量4、变量5、变量6);
直接和间接赋值
直接赋值
通过功能块TON的实例名调用TON:
( EN:= 变量1 ,
IN:= 变量2 ,
PT:= T#1S,
ENO => 变量 4,
Q => 变量 5,
ET => 变量 6 );
间接赋值
.EN:= 变量 1; //分配TON的输入参数EN
。 IN:=变量2; //对TON的输入参数IN进行赋值
.PT:= T#1S; //分配TON的输入参数PT
( ); //调用TON功能块执行
变量 4 := .ENO; //将TON功能块的输出参数ENO的状态输出到变量4
变量 5 := .Q; //将TON功能块输出参数Q的状态输出到变量5
变量 6 := .ET; //将TON功能块输出参数ET的状态输出到变量6
这次就到这里吧,下一篇我们将继续学习ST中的常用语句。
如果你喜欢这篇文章,可以转发并关注我。 如果您有什么好的建议或者意见,请留言告诉我。
下次见! !
我是气球! !