一、工控軟件的結(jié)構(gòu)特點(diǎn)及干擾途徑
在不同的工業(yè)控制系統(tǒng)中,工控軟件雖然完成的功能不同,但就其結(jié)構(gòu)來說,一般具有如下特點(diǎn):
?。?實(shí)時性:工業(yè)控制系統(tǒng)中有些事件的發(fā)生具有隨機(jī)性,要求工控軟件能夠及時地處理隨機(jī)事件。
?。?周期性:工控軟件在完成系統(tǒng)的初始化工作后,隨之進(jìn)入主程序循環(huán)。在執(zhí)行主程序過程中,如有中斷申請,則在執(zhí)行完相應(yīng)的中斷服務(wù)程序后,繼續(xù)主程序循環(huán)。
?。?相關(guān)性:工控軟件由多個任務(wù)模塊組成,各模塊配合工作,相互關(guān)聯(lián),相互依存。
?。?人為性:工控軟件允許操作人員干預(yù)系統(tǒng)的運(yùn)行,調(diào)整系統(tǒng)的工作參數(shù)。在理想情況下,工控軟件可以正常執(zhí)行。但在工業(yè)現(xiàn)場環(huán)境的干擾下,工控軟件的周期性、相關(guān)性及實(shí)時性受到破壞,程序無法正常執(zhí)行,導(dǎo)致工業(yè)控制系統(tǒng)的失控,其表現(xiàn)是:
?。?程序計數(shù)器PC值發(fā)生變化,破壞了程序的正常運(yùn)行。PC值被干擾后的數(shù)據(jù)是隨機(jī)的,因此引起程序執(zhí)行混亂,在PC值的錯誤引導(dǎo)下,程序執(zhí)行一系列毫無意義的指令,后常常進(jìn)入一個毫無意義的“死循環(huán)"中,使系統(tǒng)失去控制。
* 輸入/輸出接口狀態(tài)受到干擾,破壞了工控軟件的相關(guān)性和周期性,造成系統(tǒng)資源被某個任務(wù)模塊獨(dú)占,使系統(tǒng)發(fā)生“死鎖"。
* 數(shù)據(jù)采集誤差加大。干擾侵入系統(tǒng)的前向通道,疊加在信號上,導(dǎo)致數(shù)據(jù)采集誤差加大。特別是當(dāng)前向通道的傳感器接口是小電壓信號輸入時,此現(xiàn)象更加嚴(yán)重。
?。?RAM數(shù)據(jù)區(qū)受到干擾發(fā)生變化。根據(jù)干擾竄入渠道、受干擾數(shù)據(jù)性質(zhì)的不同,系統(tǒng)受損壞的狀況不同,有的造成數(shù)值誤差,有的使控制失靈,有的改變程序狀態(tài),有的改變某些部件(如定時器/計數(shù)器、串行口等)的工作狀態(tài)等。筆者在研制電力遠(yuǎn)程抄表系統(tǒng)時就曾遇到因現(xiàn)場強(qiáng)電磁干擾而造成RAM數(shù)據(jù)經(jīng)常性被破壞的情況。
?。?控制狀態(tài)失靈。在工業(yè)控制系統(tǒng)中,控制狀態(tài)的輸出常常是依據(jù)某些條件狀態(tài)的輸入和條件狀態(tài)的邏輯處理結(jié)果而定。在這些環(huán)節(jié)中,由于干擾的侵入,會造成條件狀態(tài)錯誤,致使輸出控制誤差加大,甚至控制失常