回复:S7-300 功能块

bosswangyt

  • 帖子

    516
  • 精华

    0
  • 被关注

    7

论坛等级:侠客

注册时间:2011-09-03

普通 普通 如何晋级?

发布于 2011-11-10 19:08:52

11楼

功能块(FB)
功能块(FB)属于个人自己编程的块。功能块是一种"带内存"的块。分配数据块作为其内存(背景数据块)。传送到FB的参数和静态变量保存在实例DB中。临时变量则保存在本地数据堆栈中。

执行完FB时,不会丢失实例DB中保存的数据。但执行完FB时,会丢失保存在本地数据堆栈中的数据。



注意

为避免在使用FB时出错,读取附录中的传送参数时的允许数据类型。



应用

FB包含由其它逻辑块调用FB时始终执行的程序。功能块可以使频繁发生的复杂功能更易于编程。

功能块和背景数据块

背景数据块可分配给传送参数的每个功能块调用。

通过调用一个FB的多重背景,可以通过一个FB控制多个设备。例如,用于电机类型的FB可以通过给不同电机使用不同的实例数据集来控制各个电机。每个电机的数据(例如,速度、斜坡、累积操作时间等)可以保存在一个或多个实例DB中。

下图显示了使用保存在实例DB中的实际参数的FB的形式参数。




数据类型FB的变量

如果将用户程序结构化,以便FB能包含现存功能块的调用,那么可以在调用FB的变量声明表中包含作为数据类型FB的静态变量调用的FB。该技术允许在一个背景数据块(多重背景)中嵌套变量和集中实例数据。

将实际参数分配给形式参数

通常没有必要在STEP 7 中将实际参数分配给FB的形式参数。但也有例外情况。但下列场合中必须分配实际参数:

复杂数据类型的输入/输出参数(例如,STRING、ARRAY、DATE_AND_TIME)

所有参数类型 (例如TIMER、COUNTER或POINTER)

STEP 7按如下所述将实际参数分配给FB的形式参数:

在调用声明中指定实际参数时:FB指令使用所提供的实际参数。

当未在调用语句中指定实际参数时:FB指令使用保存在实例DB中的值。

下表显示了必须分配实际参数的FB变量。



数据类型



变量
基本数据类型
复杂数据类型
参数类型

输入
不要求参数
不要求参数
要求实际参数

输出
不要求参数
不要求参数
要求实际参数

输入/输出
不要求参数
要求实际参数
-



将初始值分配给形式参数

可以在FB的声明部分将初始值分配给形式参数。这些值写入到与FB有关的实例DB中。

如果在调用声明中没有将实际参数分配给形式参数,则STEP 7将使用保存在实例DB中的值。这些值也可以是在FB变量声明表中输入的初始值。

下表显示了可以分配初始值的变量。由于执行块后,临时数据已丢失,因此不能给它们分配任何值。
you must control your mood
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。