工野开通头条号半月有余,整天不务正业,发布了不少今年夏天钓鱼、游玩的视频、照片,不过也是觉得这些东西颇有意思,供大家娱乐。好了,废话不多说,今天结合工野多年来的工作经验,分享点干货给大家。西门子Step7 V5.5编程软件什么时候用FB,什么时候用FC?初学者在刚接触西门子S7-300、S7-400PLC编程时,可能都被这个问题困扰过,明明都有输入、输出,都是执行一段逻辑,到底有什么分别呢?我们打开Step7 V5.5编程软件管理器SIMATIC Manager,在插入对象时可以看到功能块和功能,其中功能块即FB,功能即FC。插入对象功能块FB:是带背景数据块的功能;功能FC:是不带背景数据块的功能。从FB和FC的编程界面我们可以看出他们的细微差别:FB编程界面FC编程界面从上图可以对比出FB比FC多了一个STAT变量类型,而FC除了IN(输入引脚)、OUT(输出引脚)、IN_OUT(输入输出引脚)外只有TEMP变量类型。而区分FB和FC的不同之处就在STAT变量类型和TEMP变量类型上。STAT变量我们称之为静态变量,即对这个变量赋值后,该变量可以保持被赋值直至下一次对其赋值。而TEMP变量我们称之为临时变量,即对这个变量的赋值只能保持到该功能块/功能调用结束。为什么会有这种差别呢?这就和是否拥有背景数据块有关了。上文我们提到,FB是带背景数据块的功能,而STAT变量是保存在背景数据块上的,也就是说在PLC的存储空间内专门为STAT变量分配了存储地址,所以STAT变量值可以保存多个PLC扫描周期。FC是不带背景数据块的功能,所以它只能使用TEMP变量,而TEMP变量由PLC系统管理,可用的存储地址较少,当功能块/功能调用结束时系统会回收功能块/功能占用的TEMP变量存储地址,分配给下一个被调用的功能块/功能使用,由此我们看出TEMP变量的值只能在功能块/功能调用期间保持。说了这么多,那到底什么时候使用FB,什么时候使用FC呢?根据工野的经验可总结为一句话:当功能块中有需要保持多个PLC扫描周期的变量时使用FB,当功能中所有变量值都不需要保持多个PLC扫描周期时使用FC。至此可能有的网友会产生疑问,为什么搞这么复杂,全用FB不就行了?在这里工野一块给出答案,FC更节省PLC资源。更多工控经验分享,欢迎关注“工控领域野钓人”。
0 评论