您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400用户程序的结构

来源:艾特贸易2017-09-21

简介PLC 的程序分为操作系统和用户程序,操作系统用来实现与特定的控制任务无关的功能,处理 PLC 的启动、刷新过程映像输入 / 输出表、调用用户程序、处理中断和错误、管理存储区和处

    PLC的程序分为操作系统和用户程序,操作系统用来实现与特定的控制任务无关的功能,处理PLC的启动、刷新过程映像输入/输出表、调用用户程序、处理中断和错误、管理存储区和处理通信等。用户程序包含处理用户特定的自动化任务所需要的所有功能。

   STEP 7将用户编写的程序和程序所需的数据放置在块中,使单个的程序部件标准化。通过块与块之间类似于子程序的调用,使用户程序结构化,可以简化程序组织,使程序易于修改、查错和调试。块结构显著地增加了PLC程序的组织透明性、可理解性和易维护性。各种块的简要说明见表4-1OBFBFCSFBSFC都包含程序,统称为逻辑块。程序运行时所需的大量数据和变量存储在数据块中。

    4-1    用户程序中的块

    块

    简要描述

组织块(OB)

操作系统与用户程序的接口,决定用户程序的结构

功能块(FB)

用户编写的包含经常使用的功能的子程序,有专用的存储区(即背景数据块)

功能(FC)

用户编写的包含经常使用的功能的子程序,没有专用的存储区

系统功能块(SFB)

集成在CPU模块中,通过SFB调用系统功能,有专用的存储区(即背景数据块)

系统功能(SFC)

集成在CPU模块中,通过SFC调用系统功能,无专用的存储区

共享数据块(DB)

存储用户数据的数据区域,供所有的逻辑块共享

背景数据块(DI)

用于保存FBSFB的输入、输出参数和静态变量,其数据在编译时自动生成

    可以将控制任务分层划分为工厂级、车间级、生产线、设备等多级任务,分别建立与各级任务对应的逻辑块。每一层的控制程序(逻辑块)作为上一级控制程序的子程序,前者又可以调用下一级的子程序。这种调用称为嵌套调用,即被调用的块又可以调用别的块。

    可以多次重复调用同一个块,来处理同一类任务。FBFC的内部应全部使用局部变量,不使用IQMTC和共享数据块中的全局地址。这样的块具有很好的可移植性,不作任何修改,就可以用于其他项目。

   FBFC通过其输入、输出参数来实现与“外部”的数据交换,即与过程控制的传感器和执行器、用户程序中的其他块交换数据。在块调用中,调用者可以是各种逻辑块,被调用的块是OB之外的逻辑块二调用功能块和系统功能块时需要为它们指定一个背景数据块,后者随这些块的调用而打开,在调用结束时自动关闭。

    在图4-1中,OB1调用FB1FB1调用FC1,应按下面的顺序创建块:FC1FB1及其背景数据块→OB1,即编程时被调用的块应该是已经存在的。

块调用的分层结构

    4-1    块调用的分层结构

    如果出现中断事件,CPU将停止当前正在执行的程序,去执行中断事件对应的组织块OB(即中断程序)。中断程序执行完后,返回到程序中断处继续执行。