西门子FB块调用之多重实例的应用

S7-1200/300/1500中的程序块分为用于程序编写的OB块、FC块、FB块和用于存储数据的DB块,DB块又分为“全局DB和背景DB”。

FB块是具有存储器的代码块,可将值存储于背景DB中,即使在执行完成后,这些值仍然有效。所有在调用FB块时需要为其分配相应背景DB块。

在分配背景DB块时,可选择分配“单个实例”、“多重实例”和“参数示例”,如下图所示:

这次主要介绍下“多重实例”的调用和在什么情况下选择使用“多重实例”。

(1)什么叫“多重实例”?

当在大量调用FB块时,若每个FB块都为其分配“单个实例”,则会生成很多个数据块,这样占用的数据块资源就比较多。比如在编写程序时,使用了较多的定时器指令,对应定时器指令,每个定时器其实就是一个小FB块,当使用定时器指令时就需要分配一个背景DB块。这样在程序的资源里面就可看到生成了好多个背景DB,如下图程序所示,在程序中调用了两个定时器指令,每个第定时器指令都需要为其分配对应的DB块。

打开程序块>>>>系统块>>>>程序资源,在里面可看到定时器所分配的背景DB块,若使用的定时器指令比较多少,而且都采用“单个实例”的方式分配的背景DB块,那么在程序资源中就会出现很多个DB块,这不方便管理,所以对应该种情况,可选择使用“多重实例”的方式进行处理。

在一个FB块中去调用其余的小FB块,然后在分配背景DB时可选择“多重实例”,当在OB块中调用主FB块时就会生成一个总的背景数据块,这些小的FB 块的数据存储在主FB的静态变量中,这就是“多重实例”。但并不是在任何的块中调用FB时都可选择分配“多重实例”,只有在FB块中调用FB 块时才可选择多重实例,因为多重实例时存储于静态变量中,只有FB块才具备又静态变量的变量类型。

(2)多重实例应用示例

【示例】按下启动按钮,电机延时3秒后启动运行,运行5秒后电机自动停止运行。

如下图所示为控制程序,在该程序中每一个定时器都是一个小的FB块,小FB开的背景DB使用“多重实例”的方式进行分配,存储器于主FB块的静态变量(Static)中。

在OB1中调用主FB块,并为该主FB块分配一个“单个实例”,(DB1)

打开背景DB1,可查看到在该DB块中存放于FB块的接口区的各参数,在Static的接口区中就存放了定时器的背景DB相关的数据。

总结:若在程序的编写过程种,调用的一些指令是FB块模式的,如定时器指令、计数器指令、运动控制的指令或通信应用的一些指令等,这些指令其实都是一个一个的FB块。调用时都可以考虑在FB块种去编写,这样可减少在程序资源中生成过多的背景DB,同样一些自己编写的FB块,若比较多时,也可以把它集成到一个FB块中。

本文来源技成培训网原创文章,作者:曾鑫!

END
(0)

相关推荐

  • 西门子SCL编程实例——定时自复位程序

    在实际项目中,有时候需要对某个变量进行定时自复位处理.也就是说,当该变量被置位(值变为TRUE)后,经过一定时间,会自动复位(其值变为FALSE).今天这篇文章,我们就使用SCL语言编程实现这样一个函 ...

  • PLC初学者不知道什么是FC、FB、OB、DB块,一定要明白

    最近经常有初学西门子PLC编程的朋友,对于FC.FB.OB.DB块特别迷茫,一开始的时候可能很多人都会遇到类似的问题 一. 组织块,组织块是操作系统和用户程序之间的接口.OB 用于执行具体的程序,我们 ...

  • 西门子PLC编程技巧,经典实例讲解!

    技成PLC课堂 从0到1,带你学习PLC技能! 79篇原创内容 公众号 今天跟大家一起探讨一下具体应用程序的编写方法,我们以运料小车控制系统的编程方法为例进行讲解. 运料车主要用于搬运加工工件,在工矿 ...

  • 55三菱FX3U PLC编程之FB块基础入门简介

    55三菱FX3U PLC编程之FB块基础入门简介

  • 西门子S7200与变频器MODBUS通讯实例详解

    Modbus通讯协议简介Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议.ModBus网络是一个工业通信系统,由带智能终端的可编 ...

  • 如何创建一个FB块,并进行加密封装成库文件

    之前经常有朋友问什么是结构化编程,什么是FB块,怎么去建一个FB块,又或者有问到三菱PLC有没有库文件,怎么创建和调用等等问题.那么小编就给大家介绍一下FB块相关的知识,以及做一些解答吧. 1.什么是 ...

  • C#中WebService的创建、部署和调用的简单实例

    webservice 可以用于分布式应用程序之间的交互,和不同程序之间的交互.概念性的东西就不说太多,下面开始创建一个简单的webservice的例子. 一:WebService的创建开发 先新建一个 ...

  • 第9课、FB块的建立和使用

    博途软件全套视频教程 第9课.FB块的建立和使用

  • 西门子TIA S7-1200 配方快速入门实例

    关于启程 启程自动化培训成立于2012年,培训项目主打西门子PLC编程系统集成.工业机器人编程.EPLAN电气设计.视觉等培训与技术服务的机构.推荐高薪就业,越努力越幸运 配方数据文件按照标准 CSV ...

  • 西门子PLC编程技巧,经典实例讲解

    今天跟大家一起探讨一下具体应用程序的编写方法,我们以运料小车控制系统的编程方法为例进行讲解. 运料车主要用于搬运加工工件,在工矿企业的生产车间是比较常见的运输设备.运料车由三相交流异步电动机进行驱动. ...

  • 西门子PLC故障排查解说及实例,很实用~

    蓝字  '电气达人"  PLC硬件损坏或软件运行出错的概率极低,检查故障时,重点应放在PLC的外围电气元件,PLC的故障大多数是外围接口信号故障,维修时,只要PLC有部分控制的动作正常,就不 ...