|
調(diào)試一個(gè)PLC程序的時(shí)候,下載之后就SFC燈亮,看診斷是由編程錯(cuò)誤引起的 STOP 模式(OB 沒(méi)有裝載或不能裝載,或沒(méi)有 FRB),打開(kāi)幫助,發(fā)現(xiàn)如下解釋
原因:
存在一個(gè)編程錯(cuò)誤,但沒(méi)有加載或還未激活相應(yīng)的OB (OB121)或FRB。
如何糾正或避免出錯(cuò):
加載一個(gè)OB121或激活一個(gè)FRB,以響應(yīng)編程錯(cuò)誤或防止出錯(cuò)。
FRB = 功能請(qǐng)求塊,與M7有關(guān)
我在程序的塊中插入了一個(gè)OB121,再下載下去就正常了,敢問(wèn)大家,誰(shuí)知道這是什么原因呀,小弟搞不懂。謝謝,詳細(xì)點(diǎn)。

答:下載之后就SFC燈亮?
1、是SF燈亮。從上傳的圖片來(lái)看是你的FC 300功能塊的問(wèn)題。
2、檢查FC 300中是否有讀取變量地址時(shí)超出了定義的長(zhǎng)度。例如DB100定義了20個(gè)字,但在程序中卻引用了DW30..
3、如果系統(tǒng)中組態(tài)了DP從站,檢查引用DP從站是否超出了超出了硬件組態(tài)中所定義的地址。
下載OB121,CPU不再停機(jī),并不意味你解決了問(wèn)題。
CPU發(fā)生故障時(shí),OS就會(huì)觸發(fā)中斷,然后系統(tǒng)自動(dòng)調(diào)用中斷例程。你上述故障觸發(fā)的是OB121。OB121就是相關(guān)運(yùn)行錯(cuò)誤處理的中斷例程,空的OB,即意味不做任何處理。所以你下載了OB121,只是給了CPU在出現(xiàn)故障時(shí)有一個(gè)出口,從而避免了停機(jī),但你程序里的錯(cuò)誤陷阱依舊存在。
|
|