前面描述的警报消息评估现在将用FB而不是FC来实现。
这提供了这样的优点,即不必将外部全局标签传递到FB以用于报警消息检测的内部所需边缘评估和内部所需存储器位。本地静态标记可以用于此操作。
报警消息1应通过仍处于活动状态的“FC_FaultEvaluation”(FC20)进行评估;警报消息2和3的评估应通过新创建的“FB_故障评估”(FB20)来完成。
调用FB时的参数传输
通过函数块调用,实际参数的值存储在实例数据块中。如果块调用中的形式参数没有分配给实际参数,则在程序执行期间将使用实例DB值中该参数最近存储的值。
每次调用FB时都会传输其他实际参数。功能块完成后,数据将保留在数据块中。
参数表现出与静态标记相同的行为:
-初始化时没有默认值
-可以在界面中设置“可从HMI访问/在HMI中可见”的属性
-Retain属性取决于块属性“优化访问”
-对参数的符号访问始终是可能的
绝对访问取决于“优化访问”块属性限制:设置点仅适用于静态标签。
静态标记
与函数不同,函数块使用“静态标记”。这些标签形成FB的内存,因为它们不是存储在L堆栈中,而是存储在块的单独内存空间(实例DB)中。
调用FB(实例化)
特殊功能
与功能块(FC)相比,功能块(FB)具有存储器。这意味着功能块被分配了一个本地数据块,即所谓的实例数据块。当调用FB时,还必须指定实例DB的编号,并且此DB会自动打开。
实例DB用于存储静态标记等。这些本地标签只能在FB中使用,但它们也会在块完成后保留。
参数
通过函数块调用,实际参数的值存储在实例数据块中。如果块调用中的形式参数没有分配给实际参数,则在程序执行期间将使用实例DB值中该参数最近存储的值。
每次调用FB时都会传输其他实际参数。在功能块完成之后,数据被保留在数据块中。
FB优势
用户必须搜索用于FC编程的空闲位存储器或数据区域,并亲自管理它们,而FB的静态标签由STEP7软件管理。
当使用静态标签时,FC编程中位存储器或数据区域重复分配的已知风险被消除。
可以使用FB的“Storedfault”和“Edge memory”静态标签,而不是FC20的形式参数“存储的故障”和“边缘内存”。块调用很简单,因为不需要这两个形式参数。
创建实例数据块
有三种方法可以创建实例数据块:
当第一次调用FB时,用户指定应该使用的FB的实例DB。
这将打开一个对话框,其中可以手动指定符号名称,如果需要,还可以指定实例DB的编号。
在FB调用的上下文菜单中,有一个功能可用:
“创建实例…”,当实例数据库尚未分配时
“更新”,当已分配实例数据库时
这将打开一个对话框,其中可以手动指定符号名称,如果需要,还可以指定实例DB的编号。
创建新数据库时,会选择“功能块XY”类型。
一个实例DB只能分配给一个FB。
每次调用每个被调用的FB时,都必须为其分配另一个不同的实例DB!
注意!
如果FB发生了更改(添加了额外的参数或静态标记),则还必须再次生成实例DB。
审核编辑:刘清
-
存储器
+关注
关注
38文章
7484浏览量
163759
原文标题:西门子博途:使用可参数化功能块(例如FB20)进行故障评估
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论