登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:有些晕头转向了!S7-1500 多次调用含有定时器的块,是FC还是FB

点击:10231 回复:4

手上正在实施一个项目,要控制400多个电机的启动停止。
每个电机的控制程序大都类似,如果一个一个去写的话太费时间和精力了。
想写在块里面,要用的时候去调用就行。
查了手册和指南,以及西门子论坛。不知道在FC,FB里哪个更合适。
自己动手做了个程序实验:
1、放FC里不会产生DB块,程序容量小。
2、如果放在FB里每次调用就会有一个DB块,程序容量变大了。不知道能不能共用一个DB?
以下是我写实验程序,烦请大家指点下。
FC  用TON指令
附件 FC1.jpg
附件 FC2.jpg
FB  用TON指令
附件 FB2-1.jpg
附件 FB2-2.jpg
FB   用S_ODT指令
附件 FB3-1.jpg
附件 FB3-3.jpg
附件 FB3-2.jpg
最后修改:2016/8/20 20:51:30
16-08-20 20:40
在FC,FB里的数据类型与符号不知道是否正确。
特别是在FB里我添加TON指令时,会提示选择DB类型,不知道该怎么选择?
附件 捕获.jpg
最后修改:2016/8/20 20:49:44
16-08-20 20:40
1、在IEC编程中,FB,FC是不能直接使用外部变量的,都需要铜鼓IN,或者IN_OUT变量引入FB或者FC中的,但是在西门子中,是可以的。
2、在IEC编程中,FC是不能建立静态变量的,但是在西门子中,是可以得。
所以,在西门子编程中,不需要过多的考虑FC与FB的差异,当然,西门子本土工程师是完全符合IEC规范的,你如果希望你编写的程序在支持IEC规范的厂家之间具有通用性,你就要注意上述两点,符合IEC规范来编写程序。
最后,通过定时器产生周期脉冲,利用比较来作为定时器的方法,你可以将你的400个定时器缩减到1个定时器,甚至于如果利用系统的秒脉冲位的话你可以不用定时器,这省下来的系统开销将远远多于你纠结于FB,FC所带来的开销更省力省心。
Good Luck~
16-08-21 07:56
TO:cvlsam
感谢您的指点,特别是最后的提示,让我受益匪浅。正琢磨该如何实现!
16-08-21 23:08
你好,可以加你为好友吗?
18-09-23 20:35

工控新闻

更多新闻资讯