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