首页 理论教育 功能块、功能和数据块详解

功能块、功能和数据块详解

时间:2023-06-25 理论教育 版权反馈
【摘要】:系统功能块是集成在S7CPU中的功能块,SFB是操作系统的一部分,不作为程序的一部分而被加载。属于FC的临时变量保存在本地数据堆栈中,执行FC时,该数据将丢失,为永久保存该数据,功能也可使用共享数据块。不能给FC的本地数据分配初始值。

功能块、功能和数据块详解

1.功能块和系统功能块

功能块(FB)是属于用户自己编程的块,需要分配数据块(DB)作为其内存(实例数据块),因此传送到FB的参数和静态变量保存在实例DB中,而临时变量则保存在本地数据堆栈中。执行完FB时,不会丢失实例DB中保存的数据。但执行完FB时,会丢失保存在本地数据堆栈中的数据。

系统功能块(SFB)是集成在S7CPU中的功能块,SFB是操作系统的一部分,不作为程序的一部分而被加载。同FB一样,必须给SFB创建实例数据块,然后将它们作为程序的一部分下载到CPU中。

2.功能和系统功能

功能(FC)也是属于用户自己编程的块,是一种“不带内存”的逻辑块。属于FC的临时变量保存在本地数据堆栈中,执行FC时,该数据将丢失,为永久保存该数据,功能也可使用共享数据块。由于FC本身没有内存,因此,必须始终给它指定实际参数。不能给FC的本地数据分配初始值。

FC和FB输出参数之间的重要区别在于后者使用实例DB。在功能块(FB)中,访问参数时,使用实例DB中的实际参数副本。如果调用FB时,没有传送输入参数或没有写访问输出参数,那么将使用原先保存在实例DB(实例DB=FB内存)中的值。但功能(FC)没有内存。因此,与FB相反,将形式参数分配给这些FC不是可选,而是必需的。通过地址指针跨过区域边界指向目标)访问FC参数。当数据区(数据块)地址或调用块的局部变量用作实际参数时,实际参数的副本将临时保存到用于传送参数的调用块的本地数据区中。(www.xing528.com)

系统功能(SFC)是集成在S7CPU中的预编程功能,可以在程序中调用SFC。SFC属于操作系统,不能作为程序的一部分而被加载。同FC一样,SFC也是“不具内存”的块。

3.数据块

与逻辑块(如FB、OB等)相反,数据块不包含STEP7指令,它们用来存储用户数据,即数据块包含用户程序使用的变量数据。共享数据块则用来存储可由所有其他块访问的用户数据,其大小各不相同。用户也可以任何方式构造共享数据块,满足特定要求。

978-7-111-45066-5-Chapter03-65.jpg

图3-39 逻辑块的编程和启动

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

我要反馈