ST结构化文本

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

结构化文本语言学习心得

一、工程的简介和建立工程

1.工程文件的结构:

工程文件的后缀名为pro,在新工程中建立的第一个程序结构单元(Program Organization Unit)将被自动命名为PLC_PRG,这个程序结构单元就类似于C

语言中的主程序。在PLC_PRG中可以调用各种函数及功能块,而函数和功能块都属于程序结构单元。

PLC-1131-3 DS能够区分在同一工程中的不同对象:

程序结构单元(POU)

数据类型(data types)

资源(resources)

2.工程的设置:

1) 首先应该设置PLC的输入输出以保证工程中使用的地址的准确性。

2)接着建立解决问题的程序结构单元

3) 选择适当的语言编写程序

4) 写好程序之后,对程序进行编译去除程序中的所有错误。

3.工程的测试:

当工程之中的所有错误被去除之后激活仿真模式,就是与仿真PLC连接,与此

同时将工程下载到PLC中,这样PLC-1131-3 DS就处于在线方式了。

现在能以适当的顺序测试工程了,手动改变输入变量的值,观察输出是否正确。用PLC-1131-3DS调试程序

当程序发生错误时,你可以设置断点。当处理发生中断时,你就可以及时的在断点处检查所有工程变量的值。工作在单步方式(singlestep)下,可以检验程序的逻辑错误。

你可以强制输入或输出变量的值。使用流控制(flowcontrol)可以知道哪些程序段已经执行。采样轨迹(SamplingTrace)显示变量在长时间的变化过程曲线。

整个工程可以以文本文件的形式导出。

总而言之PLC-1131-3 DS对于PLC编程是一种完善和方便的工具。

4.工程的组成

(1)工程(Project)

一个工程包括了PLC程序中所有的对象,工程中包含了如下对象:错误!未找到

引用源。

∙程序结构单元POUs

∙数据类型data types

∙资源resources

∙库函数libraries

(2)程序结构单元(POU)

函数 (Functions)错误!未找到引用源。, 功能块(function blocks)错误!未找到引用源。和程序(programs)都是程序结构单元(错误!未找到引用源。POUs)。

每个POU包括了定义变量和程序主体两个部分错误!未找到引用源。错误!未找到引用源。。程序主体用IEC编程语言编写,其中包括:

指令表(IL)

结构文本(ST)

SFC

FBD

梯形图(LD).

PLC-1131-3 DS 支持所有的标准IEC程序结构单元。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。

POUs之间能够相互调用,但是不允许递归调用.

(3)函数(Function)错误!未找到引用源。

当定义函数的时候,不要忘记函数中必须含有返回值的数据类型,也就是说在函数名的后面

必需紧跟冒号和一个数据类型。

二.ST结构化文本编程

1.定义

"结构"是指高水平的结构化编程能力,象一个"结构化的编程";"文本"是指应用

文本而不是梯形图和顺序函功能表的能力。ST语言不能代替其它的语言,每种

语言都有它自己的优点和缺点。ST主要的一个优点就是能简化复杂的数学方程。

2.特点

高级文本编程语言

结构化的编程

简单的标准结构

快速高效的编程

使用直观灵活

与PASCAL类似

有计算机编程经验的人可以很容易地使用它

符合IEC 61131-3 标准

3.功能

数字量和模拟量I/O

逻辑操作

逻辑比较表达式

算术运算

判断语句

机器的状态语句

循环语句

功能块

可选用的动态变量

诊断工具

4.结构文本基础

IF value < 7 THEN

WHILE value < 8 DO

value := value + 1;

END_WHILE;

END_IF;

4.1表达式

表达式是指返回变量评估值的结构。表达式由操作符和操作数组成。操作数可以是常量,变量,调用函数或其它表达式。

4.2赋值操作符

通过一个表达式和一个值来给变量赋值。赋值语句包括位于左边的变量,赋值操 作符":=",及后边需要计算的表达式。所有的语句,包括赋值语句,必须要以分 号";"结尾。

当这行程序执行后,变量"Var 1"的值是变量"Var 2"

的两倍。

4.3注释

虽然注释经常被删掉,但它们是源代码中非常重要的一部分。它们解释了一部分 代码,使程序更易读懂。注释帮助你或其他人读你的程序,即使过去了很长时 间。注释不被编译,因此不会影响程序的执行。注释应该用一对星号和小括号括 起来"(*comment*)"

4.4操作符优先级

如果在一个表达式中使用几个操作符,就会出现优先级的问题(执行的顺序)。 操作符按优先级的顺序来执行。

在任何一个表达式中,首先执行最高级别的操作符,接着执行低一级的操作符, 等等,直到执行完所有的操作符。具有相同级别的操作符按照书写顺序从左至右 依次执行。

操作符 符号/语言 优先级

括号 ()

依次

降低

函数调用

例子 Call argument(s) LN(A), MAX(X), 等 注释 ** 取反 NOT

乘 *

除 /

相关文档
最新文档