在西門子s7-400plc內(nèi),fb塊調(diào)用fb塊,plc循環(huán)掃描時,被調(diào)用的fb塊是如何被執(zhí)行的,包括內(nèi)的靜態(tài)變量、臨時變量是如何被掃描的啊,靜態(tài)變量什么時候被存儲到背景數(shù)據(jù)塊啊,我看到有段程序,被調(diào)用的fb塊內(nèi)部輸入變量在監(jiān)控時一直在變化,而調(diào)用他的fb塊外部輸入條件一直不變,這是為什么?
答:plc的掃描機制是從上而下,自左向右順序掃描。有中斷就去執(zhí)行中斷程序的內(nèi)容。中斷又按優(yōu)先級掃苗。
無論你是怎么調(diào)用fb的,(多個fb調(diào)用同一fb或同一fb調(diào)用多個fb),plc的cpu都是順序掃描,當你調(diào)用的條件滿足了,就執(zhí)行調(diào)用功能,這個時候的fb外部管腳填寫的相應變量,和內(nèi)部臨時變量(執(zhí)行完這個fb功能,temp變量自動釋放)和靜態(tài)變量,是這個時候,調(diào)用這個fb的情況滿足條件下的數(shù)據(jù)。
plc接著順序掃描,在下面又調(diào)用同一個fb,那么這個時候的外部管腳填寫的變量,和內(nèi)部的臨時變量((執(zhí)行完這個fb功能,temp變量自動釋放)和靜態(tài)變量,是這個條件滿足下的執(zhí)行的fb功能,那么就會覆蓋上面一個調(diào)用同一個fb的,外部管腳變量和靜態(tài)變量。