st计算机编程语言,ST(结构化文本语言(ST))_百度百科
ST(结构化文本语言(ST))语音编辑锁定讨论上传视频本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!结构化文本/结构式文件编程语言(英语:Structured text)也称为ST语言,是为可编程逻辑控制器(PLC)设计的编程语言,是相关的IEC 61131-3标准中支援几种语言之一[1]。结构式文件编程语言是支援块状结构(block structured)的高阶语言,以
ST
(结构化文本语言(ST))
语音
编辑
锁定
讨论
上传视频
本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
结构化文本/结构式文件编程语言(英语:Structured text)也称为ST语言,是为可编程逻辑控制器(PLC)设计的编程语言,是相关的IEC 61131-3标准中支援几种语言之一[1]。结构式文件编程语言是支援块状结构(block structured)的高阶语言,以Pascal为 基础,语法也类似Pascal。所有IEC 61131-3的语言都支援IEC61131通用元素(IEC61131 Common Elements)。其变数及函式呼叫是由IEC61131通用元素所定,因此同一个程式中可以使用IEC 61131-3中的不同语言。
结构式文件编程语言类似于PASCAL及C语言,因此可利用与微电脑及个人电脑相同的程式设计技术,进行阶梯图所难以执行的复杂计算,完成程式的建立。常用的程式及回路可透过FB(功能区块)的建立轻易地重复利用。
中文名
结构化文本/结构式文件编程语言外文名
Structured text
STST的构成
编辑
语音
结构化文本是IEC 61131-3标准支持的五种语言之一,专为可编程逻辑控制器(PLC)设计。它是一种块结构的高级语言,在语法上类似于它所基于的Pascal。所有语言都共享IEC61131公共元素。变量和函数调用由公共元素定义,因此可以在同一程序中使用IEC 61131-3标准中的不同语言。
结构式文件编程语言支援复杂的叙述及巢状指令:
循环(REPEAT-UNTIL; WHILE-DO)
条件式执行(IF-THEN-ELSE; CASE)
函数(SQRT(), SIN())
ST范例
编辑
语音
(* simple state machine *)
TxtState := STATES[StateMachine];
CASE StateMachine OF 1: ClosingValve();
ELSE ;; BadCase();
END_CASE;// PLC configurationCONFIGURATION DefaultCfg
VAR_GLOBAL
b_Start_Stop : BOOL;
// Global variable to represent a boolean.
b_ON_OFF : BOOL;
// Global variable to represent a boolean.
Start_Stop AT %IX0.0:BOOL;
// Digital input of the PLC (Address 0.0)
ON_OFF AT %QX0.0:BOOL;
// Digital output of the PLC (Address 0.0). (Coil)
END_VAR
// Schedule the main program to be executed every 20 ms
TASK Tick(INTERVAL := t#20ms);
PROGRAM Main WITH Tick : Monitor_Start_Stop;
END_CONFIGURATIONPROGRAM Monitor_Start_Stop
// Actual Program
VAR_EXTERNAL
Start_Stop : BOOL;
ON_OFF : BOOL;
END_VAR
VAR
// Temporary variables for logic handling
ONS_Trig : BOOL;
Rising_ONS : BOOL;
END_VAR
// Start of Logic
// Catch the Rising Edge One Shot of the Start_Stop input
ONS_Trig := Start_Stop AND NOT Rising_ONS;
// Main Logic for Run_Contact -- Toggle ON / Toggle OFF ---
ON_OFF := (ONS_Trig AND NOT ON_OFF) OR (ON_OFF AND NOT ONS_Trig);
// Rising One Shot logic
Rising_ONS := Start_Stop;END_PROGRAM
STST 表达式
编辑
语音
ST 语言中的表达式由运算符和操作数组成。操作数可以是常量、变量、函数调用或另一
个表达式。表达式的计算通过执行具有不同优先级的运算符完成。有最高优先级的运算符先
被执行,然后依次执行下一个优先级的运算符,直到所有的运算符被处理完。有相同优先级
的运算符按从左到右的顺序执行。
STST 指令
编辑
语音
赋值
执行赋值操作时,等号左边是操作数(变量或地址),右边是被赋予的表达式的值。例
如:Var1 := Var2 * 10;
调用功能块
通过写入功能块实例的名字,并且在随后的圆括号中赋给参数值来调用功能块。
举例
变量声明:
TPInst:TP;
VarBOOL1: BOOL;
VarBOOL2: BOOL;
程序:
TPInst(IN:= VarBOOL1,PT:= T#5s);(*参数IN 和PT 设定时钟脉冲的触发信号和高电平
的长度*)
VarBOOL2:=TPInst.Q;(*输出脉冲值Q 赋给变量VarBOOL2*)
返回指令
返回指令可以根据条件退出POU。
IF 指令
使用IF 指令可以检查条件,根据条件执行相应的指令。
语法:
IF THEN
{ELSIF THEN
ELSIF THEN
ELSE
}
END_IF;
其中{}的部分可选。
如果返回TRUE,那么只有被执行,其它的指令不被执行。同样,
从开始,相继执行逻辑表达式,直到其中一个表达式返回TRUE 为止,返回
TRUE 的逻辑表达式对应的指令被执行。
如果没有逻辑表达式生成TRUE,那么只有被执行。
举例
IF temp<17
THEN heating_on := TRUE;
ELSE heating_on := FALSE;
END_IF;
这里,如果温度低于17 度,打开加热器,反之则保持关闭状态。
CASE 指令
使用CASE 指令,可以在结构中用一个相同的条件变量表示几个条件指令。
语法:
CASE OF
:
:
:
:
...
:
ELSE
END_CASE;
CASE 指令根据下面的模型来执行:
如果变量有值,那么被执行。
如果变量没有任何指定的值,那么被执行。
如果变量的几个值都需要执行相同的指令,那么可以把几个值相继写在一起,并且用逗号分
开。这样,就会有相同的执行指令。
如果对于变量的一个范围需要执行相同的指令,可以写入初值和终值,中间用两个点分开。
这样,条件就会有相同的执行。
举例
CASE INT1 OF
1, 5: BOOL1 := TRUE;
BOOL3 := FALSE;
2: BOOL2 := FALSE;
BOOL3 := TRUE;
10..20: BOOL1 := TRUE;
BOOL3:= TRUE;
ELSE
BOOL1 := NOT BOOL1;
BOOL2 := BOOL1 OR BOOL2;
END_CASE;

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)