西門子濾波器6SL3000-0BE21-6DA0現貨供應 當后2種故障發生時,發生故障的ET200M從站的備IMl53將檢測到主IMl53故障,自動將自己切換為主IMl53。主CPU將因為與故障IMl53失去連接而引發OB86(故障診斷)中斷,并在中斷中調用診斷模塊FCl02完成所有從站的切換,并將自己置為備用。然后,主CPU將故障信息發送到備CPU。備CPU收到故障信息后將自己切換成主CPU。這時的切換時間為 (3) 式中tR為OB86中斷響應時間,CPU315—2DP為1 ms;tE為OB86執行時問;ts為故障狀態發送時間;tD為數據接收完畢到備站切換成主站的時間間隔。 因為OB86中只調用FCl02診斷模塊,所以tE由FCl02的執行時間決定。為分析OB86中調用FCl02時FCl02的執行順序,對FCl02進行了適當的修改以便采集數據。這些修改主要包括:在FCl02的開始加入采集狀態程序段;在跳轉指令處采集跳轉條件。在手動觸發一些故障之后,對得到的數據進行分析便得到了FCl02的執行順序。在各個代碼段兩端插入讀系統時間功能塊,對FCl02的程序執行時間進行分段測量。結果如表1所示(表中, 為SFC58執行時間;t(2ss)8為2次SFC58執行時間;t’為其余時間;t(PC102)為FCl02總執行時間)。 測量結果中FCl02執行時間并不等于各個時間段之和,這是因為讀系統時間功能塊的測量精度只能達到l ms。但從表中仍不難看出FCl02執行時間主要集中在調用系統功能SFC58向ET200M寫數據(控制從站切換)的操作上,SFC58的調用次數等于ET200M從站個數,因此可以近似得出tE=3 ms×ET200M從站個數。 式(3)中ts與主CPU的OB86中斷產生的時刻有很大關系。 如果主CPU在調用FB101執行發送功能之前產生OB86中斷,則在發送數據時主CPU直接把故障狀態發送給備站,在這種情況下ts最短,為發送一次數據所用時間tt,即 (4) 若主CPU調用FBl01執行完發送功能時產生OB86中斷,則主CPU要把先前數據發送完畢才能發送故障狀態到備站。在這種情況下,由于先前數據發送完畢的時刻不同,ts也會得到不同的值。 a.若先前數據發送完畢在主CPU調州FB 101執行發送功能之前,將立即發送主站的狀態,則 (5) b.若先前數據發送完畢在主CPU執行完發送功能之后,則要等到下個周期調用發送功能時才能發送主站的故障狀態。此時,ts是最長的。 (6) 式(3)中tD與備站接收完故障狀態的時刻有密切關系。 若數據接收完成是在備CPU調用FBl01執行接收功能之前,則備CPU將馬上得到主CPU狀態,并在調用發送功能時備CPU切換成主CPU。此時tD最小,僅為一個FBl01的執行時間,即 (7) 若數據接收完成是在備CPU調用FBl01執行接收功能之后,則備CPU要等到下個周期調用接收功能時才能獲得主站的狀態,并在調用發送功能時切換成主CPU。此時tD是最大的。 (8) 由以上分析可知,在以下2種情況將得到這2類故障主備CPU切換時間的極限值。 a.如果故障發生后主CPU馬上發送故障狀態,并且備CPU接收完數據是在備CPU調用接收功能之前,主備切換時間是最短的。 (9) b.如果故障發生時主CPU已經開始發送數據。并且此數據發送完畢是在主CPU調用完發送數據功能之后,而備CPU接收完數據是在備CPU調用完接收功能時,主備切換時問是最長的。
|