目录
・简介………………………………………………………………………………………
. 目的……………………………………………………………………………
・结构文本特点……………………………………………………………………………
. 概述……………………………………………………………………………
. 特点……………………………………………………………………………
. 可能性…………………………………………………………………………
・结构文本基础……………………………………………………………………………
. 表达式…………………………………………………………………………
. 赋值……………………………………………………………………………
. 注释……………………………………………………………………………
. 操作符优先级…………………………………………………………………
・命令组……………………………………………………………………………………
. 布尔逻辑操作…………………………………………………………………
. 算术运算……………………………………………………………………
. 比较操作……………………………………………………………………
. 判断…………………………………………………………………………
. Case语句……………………………………………………………………
. Loops………………………………………………………………………
. 调用功能块…………………………………………………………………
. 指针和动态变量……………………………………………………………
・小结……………………………………………………………………………………
・练习……………………………………………………………………………………
・附录……………………………………………………………………………………
. 关键字………………………………………………………………………
. 函数…………………………………………………………………………
结构文本(ST) TM
简介
1、简介
结构文本是一种高级语言,如果你知道如何使用高级语言来编程,像:Basic、
PACSAL或C,那么你会很轻松的掌握Structured Text(ST)编程;如果不知
道,你会看到ST有着简单、标准的结构,保证程序高效、快速运行并简单易
懂。
图. 书本印刷: 过去和现在
在下一章里,你会学习到ST的命令、关键字、语法和其它的主题。所有的这些
你都可以做练习,我们有许多帮助你理解ST的简单例程。
结构文本(ST) TM
简介
1.1 目的
课程参与者将熟悉使用结构文本给自动化目标编程。
课程参与者将学到每个独立的命令组和它们之间如何工作。
课程参与者将了解结构文本预留的关键字。
图. 综述
结构文本(ST) TM
结构文本特点
2、结构化文本的特点
2.1 概述
ST是针对自动化系统的高级文本编程语言。简单的标准结构确保快速、高效的
编程。ST使用了高级语言的许多传统特性,包括:变量、操作符和控制流程语
句。ST还能与其它的PLC编程语言一起工作。
那么什么是结构文本呢?"结构"是指高水平的结构化编程能力,象一个"结构化
的编程";"文本"是指应用文本而不是梯形图和顺序函功能表的能力。
ST语言不能代替其它的语言,每种语言都有它自己的优点和缺点。ST主要的一
个优点就是能简化复杂的数学方程。
2.2 特点
结构化文本有以下特点:
高级文本编程语言
结构化的编程
简单的标准结构
快速高效的编程
使用直观灵活
与PASCAL类似
有计算机编程经验的人可以很容易地使用它
符合IEC -标准
2.3 可能性
Automation Studio提供以下功能:
数字量和模拟量I/O
逻辑操作
逻辑比较表达式
算术运算
判断语句
机器的状态语句
循环语句
功能块
可选用的动态变量
诊断工具
结构文本(ST) TM
结构文本基础
3、结构文本基础
3.1 表达式
表达式是指返回变量评估值的结构。表达式由操作符和操作数组成。操作数可以
是常量,变量,调用函数或其它表达式。
例子:
3.2 赋值操作符
通过一个表达式和一个值来给变量赋值。赋值语句包括位于左边的变量,赋值操
作符":=",及后边需要计算的表达式。所有的语句,包括赋值语句,必须要以分
号";"结尾。
例子:
图 Assignment
当这行程序执行后,变量"Var"的值是变量"Var"的两倍。
3.3 注释
虽然注释经常被删掉,但它们是源代码中非常重要的一部分。它们解释了一部分
代码,使程序更易读懂。注释帮助你或其他人读你的程序,即使过去了很长时
间。注释不被编译,因此不会影响程序的执行。注释应该用一对星号和小括号括
起来"(*comment*)"。
例子:
图. 单行注释
结构文本(ST) TM
结构文本基础
3.4 操作符优先级
如果在一个表达式中使用几个操作符,就会出现优先级的问题(执行的顺序)。
操作符按优先级的顺序来执行。
在任何一个表达式中,首先执行最高级别的操作符,接着执行低一级的操作符,
等等,直到执行完所有的操作符。具有相同级别的操作符按照书写顺序从左至右
依次执行。
操作符
括号
函数调用
例子
符号 / 语法:
()
Call argument(s)
最高优先级
LN(A), MAX(X), 等.
注释
取反
乘
除
取模 (取除法的余数)
/
MOD
加
减
-
比较
等于
不等于
<>
逻辑与
逻辑异或
逻辑或
**
NOT
*
+
<, >, <=, >=
=
AND
XOR
OR
最低优先级
结构文本(ST) TM
结构文本基础
执行顺序:
例 :
图. 例 : 执行顺序
首先做乘法,然后是加法,最后是减法。
使用小括号(最高优先级),可以得到你想要的执行顺序。看下面的例
子。
例 :
如下所示,将操作符放到小括号里可能影响执行的顺序。
图. 例 : 执行顺序
表达式从左至右执行。先执行小括号里的操作,接着是乘法。因为小括
号的优先级高于乘法的优先级。可以看出,这两个例子看起来很相似,
但结果不同。
结构文本(ST) TM
命令组
4、命令组
ST有下面的命令组:
布尔逻辑操作
算术操作
比较操作
判断
Case语句
4.1 布尔逻辑操作
操作数不需要是BOOL类型。
布尔逻辑操作:
符号
NOT
AND
OR
XOR
真值表:
逻辑操作
取反
逻辑与
逻辑或
异或
例子
a := NOT b;
a := b AND c;
a := b OR c;
a := b XOR c;
输入
AND
0
0
0
0
0
0
0
OR
0
XOR
0
0
这些操作符可以形成一个逻辑表达式和条件语句,结果是真(TRUE)或假
(FALSE)。
结构文本(ST) TM