关于S7-300的PLC中定时器的使用问题

分享到:
582
下一篇 >

菜鸟:

用315-2DP的CPU做的一个项目,程序中用SCL做了4个FB块,这4个FB块在不同的FC程序中调用了很多次。问题是这样的:  我的FB块需要用几个S_ODT的定时器,这个CPU只有256个定时器编号可用,由于我的这些FC程序在OB1里面不会同时导通,即这些FC不会同时工作,所以开始的时候我是在不同的FC里面使用了重复的定时器编号,但定时器不会工作,只能使用不同的编号定时器才会工作。问题是我调用了很多次FB块,每个FB块都要占用几个定时器,256个就不够用,又不想自己做定时器,所以想知道为什么在不同的FC块中使用同一个定时器就会导致定时器不工作呢,这些FC块不会同时运行的。有没有什么好的办法,除了自己做定时器以外。谢谢

游民:

可以使用IEC定时器,如SFB4等,FB里使用多重背景调用,即在FB的静态变量里定义类型为SFB4的变量,然后在程序里调用这些变量即可。

侠士:

我也遇到过同样问题,改进后可以在不同子程序调用同一定时器。

需要在子程序末尾给定时器复位,当然这不够,定时器需要一个上升沿信号才会开始计时,所以你要自己产生一个上升沿信号配合定时器使用。

菜鸟:

谢谢两位提供的方法,等项目调试完我分别学习一下这两个方法。

侠士:

实践证明,绝B可以一个定时器多处调用。

当然容易出错,不推荐罢了。

游民:

可以使用IEC定时器, 在FB的静态区指定SFB4,就可以减少PLC定时器的使用。




你可能感兴趣: 工控菜鸟园 图片 自动化系统 定时器 PLC
无觅相关文章插件,快速提升流量