首页 理论教育 STEP7程序结构详解

STEP7程序结构详解

时间:2023-06-29 理论教育 版权反馈
【摘要】:STEP 7是一种模块化、结构化程序编制软件,用文件块的形式管理用户编写的程序及程序运行所需的数据,程序结构可分为线性化程序结构和结构化程序结构两类。在STEP7操作系统的控制下,通过在程序块内部或程序块之间的调用,实现程序运行与控制任务。这样,PLC的程序组织明确,结构清晰,易于修改。图2-22所示为STEP7的系统程序结构图,图2-23所示为STEP7的系统程序块网络图。CPU可处理STEP7中的OB数量与CPU型号有关。

STEP7程序结构详解

STEP 7是一种模块化、结构化程序编制软件,用文件块的形式管理用户编写的程序及程序运行所需的数据,程序结构可分为线性化程序结构和结构化程序结构两类。基本编程语言采用梯形图(LAD)、语句表(STL)、功能块图(FBD)。

在STEP7操作系统的控制下,通过在程序块内部或程序块之间的调用,实现程序运行与控制任务。这样,PLC的程序组织明确,结构清晰,易于修改。图2-22所示为STEP7的系统程序结构图,图2-23所示为STEP7的系统程序块网络图。

978-7-111-44245-5-Chapter02-29.jpg

图2-22 STEP7系统程序结构

978-7-111-44245-5-Chapter02-30.jpg

图2-23 STEP7系统程序块网络

通常用户程序由组织块(OB)、功能和功能块(FB,FC)、数据块(DB)构成。

1.组织块(OB)

OB是系统操作程序与用户应用程序在各种条件下的接口界面,用于控制程序的运行,可以对OB进行编程来确定CPU特性。也就是说,OB包括启动、检错和中断三大类,分别用于启动CPU,循环或定时执行用户程序、过程出错时调用检错OB、发生硬件中断时启动中断OB。

OB确定单个程序段执行的顺序(启动事件)。一个OB调用可以中断另一个OB的执行。哪个OB允许中断另一个OB取决于其优先级。高优先级的OB可以中断低优先级的OB。背景OB的优先级最低。

OB1是主程序循环块,在任何情况下都需要它。CPU可处理STEP7中的OB数量与CPU型号有关。

2.功能块(FB)和功能(FC)

功能块(FB)和功能(FC)实际上是用户子程序,可以将具有相同控制过程的用户程序编写在功能块(FB)和功能(FC)中,然后在主程序循环块OB1或其他程序块中调用FC或FB。FB与FC的区别见表2-6。

2-6 FBFC的区别(www.xing528.com)

978-7-111-44245-5-Chapter02-31.jpg

功能块分为带“记忆”的FB和不带“记忆”的FC,前者有一个背景数据块附属于该功能块,并随功能块的调用而打开,随功能块的结束而关闭。

该附属数据块(DB)叫做背景数据块,存在背景数据块中的数据在FB结束时继续保持,也即被“记忆”。FC没有背景数据块,当FC完成操作后数据不能保持。

3.数据块(DB)

DB是用户定义的用于存取数据的存储区,也可以被打开或关闭。DB包括背景数据块(Instance Data Block,IDB)和共享数据块(Share Data Block,SDB)。“背景”即功能块调用。

如果在用户程序中调用一个功能块3次,则有3个该块的背景。每个单独背景都有一个背景数据块。创建背景数据块之前,必须存在相应的FB。创建背景数据块时指定FB的编号。

背景数据块(IDB)是和某个FB或SFB相关联,其内部数据的结构与其对应的FB或SFB的变量声明表一致。共享数据块(SDB)的主要目的是为用户程序提供一个可保存的数据区,它的数据结构和大小并不依赖于特定的程序块,而是用户自己定义的。

4.系统功能块(SFB)和系统功能(SFC)

S7的CPU还提供标准系统功能块SFB和系统功能SFC。

SFB和SFC集成在CPU操作系统中的功能,是预先编好的可供用户程序中调用的程序块,它们已经固化在S7的CPU中,其功能和参数已经确定,可以调用不能修改。一台PLC具有哪些SFC和SFB功能,是由CPU型号决定的。

SFB是操作系统的一部分,不作为程序的一部分而被加载。同FB一样,SFB也是“具有存储器”的块。必须给SFB创建背景数据块,然后将它们作为程序的一部分下载到CPU中。SFC属于操作系统,不能作为程序的一部分而被加载。同FC一样,SFC也是“具有存储器”的块。

通常SFC和SFB提供一些系统级的功能调用,如通信功能、集成的高速处理功能等。在调用SFB时,需要用户指定其背景数据块(CPU中不包含其背景数据块),并确定将背景数据块下载到PLC中。SFC具有复制功能和块功能、检查程序、处理时钟和运行表、传送数据集、在多值计算模式中将事件从一个CPU传送到其他CPU中、处理日历和延时中断、处理同步错误以及中断和异步错误、关于静态和动态系统数据的信息,如诊断、过程映像更新及位域处理、寻址模块、分布式I/O、全局数据通信、通过未组态的连接进行通信、产生与块有关的消息等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈