您现在的位置是:首页 > PLC技术 > PLC技术
S7-300/400用户程序中的块
来源:艾特贸易2017-06-05
简介PLC 中的程序分为操作系统和用户程序,操作系统用来实现与特定的控制任务无关的功能,处理 PLC 的启动、刷新过程映像输入 / 输出表、调用用户程序、处理中断和错误、管理存储区和
PLC中的程序分为操作系统和用户程序,操作系统用来实现与特定的控制任务无关的功能,处理PLC的启动、刷新过程映像输入/输出表、调用用户程序、处理中断和错误、管理存储区和处理通信等。用户程序包含处理用户特定的自动化任务所需要的所有功能。
STEP 7将用户编写的程序和程序所需的数据放置在块中,使单个的程序部件标准化。通过块与块之间类似子程序的调用,使用户程序结构化,可以简化程序组织,使程序易于修改、查错和调试。块结构显著地增加了PLC程序的组织透明性、可理解性和易维护性。各种块的简要说明如表6-1所示,OB、FB、FC、SFB和SFC都包含部分程序,统称为逻辑块。
表6-1 用户程序中的块
1.组织块
组织块(OB)是操作系统与用户程序的接口,由操作系统调用,用于控制扫描循环和中断程序的执行、PLC的启动和错误处理等,有的CPU只能使用部分组织块。
(1) OB1
OB1用于循环处理,是用户程序中的主程序。操作系统在每一次循环中调用一次OB1。
(2)事件中断处理
如果出现一个中断事件,例如时间日期中断、硬件中断和错误处理中断等,当前正在执行的块在当前语句执行完后被停止执行(被中断),操作系统将会调用一个分配给该事件的组织块。该组织块执行完后,被中断的块将从断点处继续执行。
这意味着部分用户程序可以不必在每次循环中处理,而是在需要时才被及时地处理。处理中断事件的程序放在该事件驱动的OB中。
(3)中断的优先级
OB按触发事件分成几个级别,这些级别有不同的优先级,高优先级的OB可以中断低优先级的OB。当OB启动时,用它的临时局部变量提供触发它的初始化启动事件的详细信息,这些信息可以在用户程序中使用。
2.临时局部数据
生成功能和功能块时可以声明临时局部数据。这些数据是临时的,退出逻辑块时不保留临时局部数据。它们又是局部( Local)数据,只能在生成它们的逻辑块内使用。CPU按优先级划分局部数据区,同一优先级的块共用一片局部数据区。可以用STEP 7改变S7-400每个优先级的局部数据区的大小。
除了临时局部数据外,所有的逻辑块都可以使用共享数据块中的共享数据。
3.功能
功能(FC)是用户编写的没有固定的存储区的块,其临时变量存储在局部数据堆栈中,功能执行结束后,这些数据就丢失了。可以用共享数据区来存储那些在功能执行结束后需要保存的数据,不能为功能的局部数据分配初始值。
4.功能块
功能块(FB)是用户编写的有自己的存储区(背景数据块)的块,功能块的输入、输出变量和静态变量f STAT)存放在指定的背景数据块(DI)中,临时变量存储在局部数据堆栈中。功能块执行完后,背景数据块中的数据不会丢失,但是不会保存局部数据堆栈中的数据。
5.数据块
数据块(DB)是用于存放执行用户程序时所需的变量数据的数据区。与逻辑块不同,数据块没有STEP7的指令,STEP 7按数据生成的顺序自动地为数据块中的变量分配地址。数据块分为共享数据块(ShareBlock)和背景数据块(InstanceData Block)。
CPU可以同时打开一个共享数据块和一个背景数据块。访问被打开的数据块中的数据时不用指定数据块的编号。
6.系统功能块与系统功能
系统功能块( SFB)和系统功能(SFC)是集成在S7 CPU的操作系统中,预先编好程序的逻辑块,可以在用户程序中调用这些块,但是用户不能修改它们。它们作为操作系统的一部分,不占用程序空间。SFB有存储功能,其变量保存在指定给它的背景数据块中,SFC没有存储功能。
7.程序库
程序编辑器左边窗口的“库”文件夹中的程序库(见图6-5)用来存放可以多次使用的程序部件,其中的子文件夹“StandardLibrary”(标准库)是STEP 7标准软件包提供的标准程序库,它由以下子文件夹组成:
1) System Function Blocks:包括系统功能块(SFB)和系统功能(SFC)。
2) S5-S7 Converting Blocks:用于转换STEP 5程序的块。
3) IEC Function Blocks:处理时间和日期信息、比较操作、字符串处理与选择最大值和最小值等。
4) Organization Blocks:组织块。
5) PID Control Blocks:PID控制块。
6) Communication Blocks:用于通信的块。
7) TI-S7 Converting Blocks(TI-S7转换块):一般用途的标准功能。
8) Miscellaneous Blocks(其他块),例如用于时间标记和实时钟同步的块。
“库”文件夹中还有其他程序库,例如“SIMATIC_NET_CP”文件夹中的块用于通信处理器(CP)的编程,文件夹“Redundant IO( V1)”中的块用于冗余控制系统,文件夹“stdlibs”与“Standard Library”的某些子文件夹的内容重复。
用户安装可选软件包后,将会增加其他程序库。例如安装S7 Graph后将增加Graph 7库。
点击排行
