1 引言
在生產(chǎn)過程中采用計算機(jī)進(jìn)行控制后,最重要的問題之一就是控制系統(tǒng)的可靠性,控制系統(tǒng)的不可靠將導(dǎo)致系統(tǒng)不穩(wěn)定、運行錯誤、停機(jī)后產(chǎn)生故障,輕則影響工藝指標(biāo)造成經(jīng)濟(jì)損失,重則產(chǎn)生事故后果無法預(yù)計。因此,進(jìn)行提高控制系統(tǒng)的可靠性的研究并在實際中加以應(yīng)用是十分必要的。
控制系統(tǒng)運行的可靠性主要受硬件故障、軟件錯誤(包括控制算法的不合理)和偶發(fā)性干擾影響。要獲得實時控制的高可靠性,通常可以用兩種辦法:一是采用高可靠性的元件進(jìn)行完善設(shè)計,盡可能延長系統(tǒng)的無故障運行周期,但隨著可靠性的增長,其成本呈非線性急劇上升。這種設(shè)計不能克服軟件錯誤和偶發(fā)性干擾的影響,而且當(dāng)系統(tǒng)發(fā)生故障時,必須中斷系統(tǒng)的正常工作加以修復(fù);另一種是采用容錯設(shè)計技術(shù),即用適當(dāng)增加冗余資源的辦法來得到可靠性較高的系統(tǒng),它可以克服硬件故障和偶發(fā)性干擾的影響,對軟件錯誤也有一定的抑制能力。冗余的成本線性增加,但可使故障率控對數(shù)規(guī)律下降,并可實現(xiàn)不中斷系統(tǒng)工作的修復(fù)。是一種有效提高控制系統(tǒng)可靠性的高性價比的實用技術(shù)。
2 容錯控制系統(tǒng)
根據(jù)工業(yè)企業(yè)生產(chǎn)過程控制的實際需求,筆者研究和發(fā)展了一種實用的容錯控制系統(tǒng),研發(fā)內(nèi)容包括以下二個部分:
2.1 雙模冗余系統(tǒng)的研究和構(gòu)成
雙模冗余系統(tǒng)是一種較為經(jīng)濟(jì)實用的冗余技術(shù),它采用雙計算機(jī)互為備份并行工作。采用了這種結(jié)構(gòu)后,如果能準(zhǔn)確地判定運行錯誤和故障,并完成切換,則二臺計算機(jī)中只要有一臺是正常的,控制系統(tǒng)就可以帶錯正常工作甚至自動修復(fù)錯誤,確保系統(tǒng)長周期正常工作。根據(jù)可靠性理論,如果單機(jī)運行的故障率為0.1%,則并列雙機(jī)運行的故障率僅為 0.0001%,具有很高的可靠性和可用性。
圖1 雙模冗余容錯控制系統(tǒng)構(gòu)成圖
對于工業(yè)控制系統(tǒng),實現(xiàn)雙模冗余系統(tǒng)的關(guān)鍵問題是主控機(jī)和備用機(jī)運行數(shù)據(jù)的采集與正確性的確認(rèn)、運行故障的判定與檢出、主備機(jī)狀態(tài)的確認(rèn)和無干擾的相互切換。根據(jù)上述要求,筆者研究了一種實用的容錯控制系統(tǒng)。
(1) 控制計算機(jī)
控制計算機(jī)采用兩臺完全相同但相互獨立的PC總線工業(yè)計算機(jī),這兩臺計算機(jī)中的操作是完全獨立的。兩臺計算機(jī)之間的主控和備用關(guān)系,可以通過上電復(fù)位時的隨機(jī)競爭自動確認(rèn),也可以通過隨時的人工干預(yù)加以改變。當(dāng)主控機(jī)和備用機(jī)均正常工作時,它們同時通過數(shù)據(jù)通道接收接口單元傳送來的輸入過程參數(shù),相互獨立地進(jìn)行顯示、查詢和記錄等操作。因此,對于使用者而言,主控機(jī)和備用機(jī)在操作和顯示上是一致的,但它們的工作模式實際上有很大不同的。
主控計算機(jī)對冗余輸入的關(guān)鍵參數(shù)和非冗余輸入的一般參數(shù)進(jìn)行診斷和推理,剔除錯誤后存入實時和歷史數(shù)據(jù)庫。根據(jù)設(shè)定的控制算法和控制參數(shù),主控機(jī)運行控制運算,通過輸出接口單元控制被控設(shè)備的運行。同時,主控計算機(jī)進(jìn)行定時自診斷,在測控任務(wù)正確完成和軟硬件正常的前提下,定時向備用機(jī)發(fā)送包含所有經(jīng)診斷后確認(rèn)是正確的過程參數(shù)、過程變量和主控機(jī)狀態(tài)的數(shù)據(jù)同步報文,用以同步主控機(jī)和備用機(jī)的運行狀態(tài)。
備用計算機(jī)通過接收主控計算機(jī)發(fā)送的數(shù)據(jù)同步報文,與主控機(jī)嚴(yán)格同步它的實時和歷史數(shù)據(jù)庫。備用計算機(jī)具有完整的CRT操作站的功能,其大部分功能通過訪問本機(jī)的實時和歷史數(shù)據(jù)庫即可實現(xiàn),但涉及到任何參數(shù)和設(shè)置的修改都需將其發(fā)送到主控機(jī),主控機(jī)修改數(shù)據(jù)庫后再通過參數(shù)同步命令返回備用機(jī)。
當(dāng)主控計算機(jī)發(fā)生錯誤或故障時,如果是非致命性的,主控機(jī)可以直接向備用機(jī)發(fā)出主備切換命令,備用機(jī)根據(jù)命令切換為主控狀態(tài);如果是致命性的,根據(jù)它的軟件設(shè)計,主控機(jī)不再向備用機(jī)發(fā)送用于同步主控機(jī)和備用機(jī)的數(shù)據(jù)報文。備用機(jī)在預(yù)定時間內(nèi)收不到同步報文,則向主控機(jī)發(fā)出查詢報文,在預(yù)定時間內(nèi)主控機(jī)無應(yīng)答,備用機(jī)自動切換為主控狀態(tài)。備-主切換完成后,向原主控機(jī)發(fā)送數(shù)據(jù)同步報文,并發(fā)出聲光報警提示,通知維護(hù)處理,原主控機(jī)通過接收數(shù)據(jù)同步報文切換為備用狀態(tài),人工主備切換則通過發(fā)送主備切換命令完成。
當(dāng)備用計算機(jī)發(fā)生錯誤或故障時,由于備用計算機(jī)并不參加控制,發(fā)出聲光報警提示通知人工維護(hù)即可。
數(shù)據(jù)同步報文的發(fā)送周期為0.5秒,因此主控計算機(jī)錯誤或故障時主備切換的時間是1秒。這對于采樣周期一般選擇在0.5秒到1秒之間的過程控制系統(tǒng)是完全能夠滿足要求的。由于備用機(jī)的數(shù)據(jù)庫和主控機(jī)是嚴(yán)格同步的,因此主備相互切換是無擾動的。
(2) 輸入輸出接口單元
輸入輸出接口單元是自行開發(fā)的,采用插槽式結(jié)構(gòu),可按需插入不同類型的I/O接口模板,使用中允許帶電拔插。模擬量輸入帶有隔離調(diào)理能力,可直接輸入熱電阻、熱電偶、毫伏或標(biāo)準(zhǔn)信號,開關(guān)量采用繼電器輸出。
由于模擬量輸入是點點隔離(通道間在電氣上是絕緣)的,因此對于電壓和可轉(zhuǎn)換為電壓的電流信號直接并聯(lián)即可實現(xiàn)冗余輸入,但對熱電阻則無法直接并聯(lián),需要配置雙支熱電阻分別輸入。
模擬量輸出也是可以冗余配置的,將模擬量控制輸出同時賦值給位于二塊輸出接口模板的二個輸出通道,再利用輸出接口模板上的開關(guān)量輸出繼電器轉(zhuǎn)接型觸點構(gòu)成互鎖電路,在輸入輸出接口單元軟件的配合下實現(xiàn)模擬量輸出的切換。
(3) 數(shù)據(jù)通道
數(shù)據(jù)通道采用自行開發(fā)的 FLAN令牌總線網(wǎng)。通道互連的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為總線型,采用基帶網(wǎng)雙絞線傳輸,通信速率為 96kbps,接口標(biāo)準(zhǔn)為 RS-485,控制方式為令牌(IEEE 802.4)。不加重復(fù)器時的最大網(wǎng)絡(luò)長度為1 200m。具有長線傳輸能力和較強(qiáng)的抗干擾能力。
令牌網(wǎng)絡(luò)是一種多主控制模式,網(wǎng)絡(luò)中的任何一個節(jié)點都可以在不超過特定的延遲時間內(nèi)獲得令牌,成為事實上的主節(jié)點并發(fā)送數(shù)據(jù),然后將令牌傳遞到下一個節(jié)點。這個延遲時間完全取決于通信速率、節(jié)點數(shù)量和允許傳送的報文的最大長度,可通過計算確定。因此,使用令牌網(wǎng)絡(luò)不但可以保證通信報文的有效傳輸,而且可通過對報文傳輸延遲的監(jiān)控來診斷網(wǎng)絡(luò)的工作狀態(tài)。與CD/CDMA控制方式相比,令牌網(wǎng)避免了CD/CDMA 由于競爭而造成的報文傳輸延遲的不確定性。與主從型網(wǎng)絡(luò)結(jié)構(gòu)相比,令牌網(wǎng)則完全避免了因主節(jié)點的故障而造成的網(wǎng)絡(luò)崩潰。
對于分布式控制系統(tǒng),網(wǎng)絡(luò)連接的可靠性是非常重要的,故采用雙重數(shù)據(jù)通道。在一個令牌傳遞的循環(huán)周期中,使用一條數(shù)據(jù)通道進(jìn)行數(shù)據(jù)通信,另一條數(shù)據(jù)通道作為熱備用;當(dāng)令牌傳遞具有最小地址的節(jié)點時,發(fā)出切換數(shù)據(jù)通道命令并切換數(shù)據(jù)通道的工作模式;如切換失敗,則返回原來的工作模式。因此,只要有一條數(shù)據(jù)通道是正常的,就能保證數(shù)據(jù)通信的正常進(jìn)行,同時產(chǎn)生故障診斷信息。
為了進(jìn)一步提高網(wǎng)絡(luò)的可靠性,節(jié)點采用了MAXIM公司的光電隔離型RS-485驅(qū)動器MAX1480,不但實現(xiàn)了各節(jié)點之間的電氣隔離,而且經(jīng)過合理設(shè)計后,當(dāng)節(jié)點產(chǎn)生故障時,MAX1480能自動處于浮空狀態(tài),避免了對總線型網(wǎng)絡(luò)的干擾。
2.2 推理機(jī)制和容錯控制策略的研究以及計算機(jī)軟件的實現(xiàn)
推理過程就是對故障進(jìn)行識別的過程。需要建立系統(tǒng)動態(tài)數(shù)據(jù)庫、知識庫和過程故障模式庫,用當(dāng)前的動態(tài)數(shù)據(jù)與知識庫中的已有數(shù)據(jù)進(jìn)行匹配,對故障進(jìn)行識別和診斷。在控制系統(tǒng)的不斷運行中,根據(jù)實際執(zhí)行結(jié)果,知識庫內(nèi)數(shù)據(jù)也將進(jìn)行不斷地修改,實現(xiàn)了知識庫的自我完善。
在計算機(jī)軟件的具體實現(xiàn)中,程序在每個采樣周期讀取輸入的實時數(shù)據(jù)進(jìn)行計算,以實時數(shù)據(jù)的有效值、中期和短期變化速率以及相關(guān)變量為索引,查詢知識庫中的已有數(shù)據(jù)進(jìn)行比較匹配,根據(jù)匹配的結(jié)果查詢過程故障模式庫得出處理方法。同時根據(jù)運行的累計結(jié)果,修改知識庫內(nèi)數(shù)據(jù)相關(guān)數(shù)據(jù)。由于多維的知識庫需要占用大量的存儲空間,而大部分非關(guān)鍵參數(shù)對少量錯誤并不敏感,因此在實際應(yīng)用中,根據(jù)具體情況對不同的實時數(shù)據(jù)設(shè)置不同的索引結(jié)構(gòu),減少存儲空間的占用和加快推理識別過程速度。
容錯控制策略保證檢測到故障信息后,使設(shè)備繼續(xù)安全正常運轉(zhuǎn);或以犧牲性能為代價,使設(shè)備在規(guī)定時間內(nèi)完成其基本功能。筆者采用了冗余控制與補(bǔ)償技術(shù)相結(jié)合的綜合容錯控制策略,并采用了多模塊并行診斷決策的容錯處理方法,即對同一種故障信息用不同模塊進(jìn)行診斷,然后用表決方法得出故障結(jié)果。借助于硬件機(jī)構(gòu)支持,采用軟、硬件結(jié)合方法實現(xiàn)故障容錯。
2.3 典型應(yīng)用實例
本容錯控制系統(tǒng)已應(yīng)用于在多個企業(yè)的多個生產(chǎn)裝置,最典型應(yīng)用實例是福州一化集團(tuán)硫酸化工總廠的六萬噸硫酸生產(chǎn)線。該生產(chǎn)線采用加熱液化的硫磺為生產(chǎn)原料,存放在保溫原料庫中的液態(tài)硫由泵抽出,通過噴槍霧化后進(jìn)入焚硫爐燃燒氧化生成二氧化硫,二氧化硫送入轉(zhuǎn)化爐中,在釩催化劑的作用下進(jìn)一步氧化為三氧化硫,再經(jīng)過一次吸收、二次吸收和干燥后形成硫酸成品。反應(yīng)過程中產(chǎn)生的大量熱量則由三個廢熱鍋爐加以利用,產(chǎn)出蒸汽供廠內(nèi)其它生產(chǎn)裝置使用。根據(jù)生產(chǎn)工藝的要求,需要對原料庫、系統(tǒng)焚硫、轉(zhuǎn)化、吸收、成品及廢熱鍋爐等裝置進(jìn)行檢測和控制,對象包括溫度、壓力、流量、液位和硫酸的濃度等,共計近90個檢測點和6個控制回路系統(tǒng)。
根據(jù)該硫酸生產(chǎn)線的生產(chǎn)工藝和成本控制的要求,控制系統(tǒng)由CRT操作站 2 臺,現(xiàn)場控制器5臺和冗余配置的 FLAN令牌總線網(wǎng)構(gòu)成。共有模擬量輸入通道96個,模擬量輸出通道8個,其中用于重要參數(shù)的32個輸入通道和控制輸出的8個輸出通道是冗余配置的,以確保系統(tǒng)可靠性;其余64個用于一般參數(shù)檢測的輸入通道則不作冗余配置,以降低系統(tǒng)的成本。控制系統(tǒng)的軟件設(shè)計上則充分使用了上述的研究成果。
該自動控制系統(tǒng)1998年投入運行,2000年根據(jù)生產(chǎn)工藝的要求和改進(jìn)對硬軟件升級改造后,已連續(xù)運行至今。雖然在四年的使用過程中發(fā)生過因CPU風(fēng)扇卡住使CPU過熱、硬盤故障而造成操作站死機(jī)、通信電纜因外力而被機(jī)械切斷等嚴(yán)重故障,但由于控制系統(tǒng)具有較完善的冗余和容錯能力,通過自動切換保持了控制系統(tǒng)的連續(xù)正常運行,達(dá)到了無故障長周期連續(xù)運行的目的,實現(xiàn)了從原料庫、焚硫、轉(zhuǎn)化、吸收、成品及廢熱鍋爐等輔助裝置的自動控制。