在西门子S7-400PLC内,FB块调用FB块,PLC循环扫描时,被调用的FB块是如何被执行的,包括内的静态变量、临时变量是如何被扫描的啊,静态变量什么时候被存储到背景数据块啊,我看到有段程序,被调用的FB块内部输入变量在监控时一直在变化,而调用他的FB块外部输入条件一直不变,这是为什么?
答:PLC的扫描机制是从上而下,自左向右顺序扫描。有中断就去执行中断程序的内容。中断又按优先级扫苗。
答:PLC的扫描机制是从上而下,自左向右顺序扫描。有中断就去执行中断程序的内容。中断又按优先级扫苗。
无论你是怎么调用FB的,(多个FB调用同一FB或同一FB调用多个FB),PLC的CPU都是顺序扫描,当你调用的条件满足了,就执行调用功能,这个时候的FB外部管脚填写的相应变量,和内部临时变量(执行完这个FB功能,temp变量自动释放)和静态变量,是这个时候,调用这个FB的情况满足条件下的数据。
PLC接着顺序扫描,在下面又调用同一个FB,那么这个时候的外部管脚填写的变量,和内部的临时变量((执行完这个FB功能,temp变量自动释放)和静态变量,是这个条件满足下的执行的FB功能,那么就会覆盖上面一个调用同一个FB的,外部管脚变量和静态变量。