电工基础知识_电工技术-电工最常见电路移动版

电工基础主页 > plc编程入门

S7-300单个或多个定时器在FB功能块多重背景重复调

在西门子S7-300plc编程中,使用最多的定时器,其实应该是SFB4这个块,因此你的问题就转变成SFB4这个块如何在另外一个FB块中单次或者多次调用时候,FB块中如何声明这个SFB4块,使得SFB4作为FB块的多重背景中的一部分!
S7-300单个或多个定时器在FB功能块多重背景重复调用在声明变量接
这个图片是STEP7软件中系统功能块下的截图,可以看到SFB4是TON也就是通电延时接通的一个定时器,SFB5是TOF即延时断开的定时器,这里我就用我个人经常用的SFB4来讲一下,我在一个FB块中如果要多次使用这个SFB4改如何处理!
首先我建立一个FB3的多重背景功能块,然后在FB3中调用2次SFB4这个定时器,我的设置如下图:
S7-300单个或多个定时器在FB功能块多重背景重复调用在声明变量接
可以看到,SFB4其实是被设置在了SATA变量中,也就是静态变量中的!名称是你自己想叫什么都可以,数据类型那里显示TON是系统自己更改过来的,其实我输入的时候,我输入的是SFB4,来说一下为何这里要输入SFB4?因为FB块中的静态变量,为很多块成为FB块的一个子背景,提供了一个接口,如下图:
S7-300单个或多个定时器在FB功能块多重背景重复调用在声明变量接
这个图片上我画红线的SFB,其实就是我输入SFB4的真正数据类型,nr就是number的意思!在这里可以看到,其他是比如FB也是支持在SATA中调用的!
然后,再来看一下FB3这个块在OB1中调用的情况:
S7-300单个或多个定时器在FB功能块多重背景重复调用在声明变量接
从这里再来看上边FB3的程序块,也就是M0.0接通3s后M0.1为1,5s后M0.2为1!
来看一下最终的运行动态图吧:
S7-300单个或多个定时器在FB功能块多重背景重复调用在声明变量接
从这个动态图可以看到,我把m0.0置为1后,M0.1和M0.2都陆续自动为1了,就是因为SFB4定时器的计时值到了的原因!

(责任编辑:admin)
    相关文章