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