FB块的程序是如何被PLC执行扫描的

在西门子S7-400plc内,FB块调用FB块,PLC循环扫描时,被调用的FB块是如何被执行的,包括内的静态变量、临时变量是如何被扫描的啊,静态变量什么时候被存储到背景数据块啊,我看到有段程序,被调用的FB块内部输入变量在监控时一直在变化,而调用他的FB块外部输入条件一直不变,这是为什么啊,不太理解,请帮我解答一下

问题补充:
当多个FB调用同一FB或同一FB调用多个FB时,是如何定义的,PLC是如何执行扫描循环的啊?被调用的FB内部变量为什么不会发生冲突,若需要监控被调用FB时,是不是只能监控其对应背景数据块才是真实的状态啊?当多个FB调用同一FB,多个fb是按照什么顺序给同一FB赋值然后输出啊,我实在不太明白,谢谢!

最佳答案

PLC的扫描机制是从上而下,自左向右顺序扫描。有中断就去执行中断程序的内容。中断又按优先级扫苗。

 无论你是怎么调用FB的,(多个FB调用同一FB或同一FB调用多个FB),PLC的CPU都是顺序扫描,当你调用的条件满足了,就执行调用功能,这个时候的FB外部管脚填写的相应变量,和内部临时变量(执行完这个FB功能,temp变量自动释放)和静态变量,是这个时候,调用这个FB的情况满足条件下的数据。
  PLC接着顺序扫描,在下面又调用同一个FB,那么这个时候的外部管脚填写的变量,和内部的临时变量((执行完这个FB功能,temp变量自动释放)和静态变量,是这个条件满足下的执行的FB功能,那么就会覆盖上面一个调用同一个FB的,外部管脚变量和静态变量。

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc243428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午10:37
下一篇 2018年12月1日

相关推荐