安全PLC與普通PLC的區(qū)別
安全PLC與普通PLC的區(qū)別
安全型可編程邏輯控制器(PLC)是為特殊用途的機器設(shè)備而設(shè)計的,,用于關(guān)鍵型控制和安全型應(yīng)用,。這些控制器通常是安全儀表系統(tǒng)(SIS)的 一部分,用在檢測具有潛在危險的流程工業(yè)環(huán)境中。一旦檢測出危險,SIS的應(yīng)用程序能自動作用,把流程切換到安全狀態(tài)。談到這里,,用戶可能會有一系列的問題:常規(guī)PLC已經(jīng)成功地使用了這么多年了,與安全PLC相比有什么不同,?為什么在關(guān)鍵型控制和安全型應(yīng)用中,,不能使用常規(guī)的PLC?
一,、綜述
一臺安全PLC采用了特殊的設(shè)計,,能夠?qū)崿F(xiàn)兩個重要目標(biāo):
1.系統(tǒng)不會失效(采用冗余的工作方式),即使元件的失效不可避免,;
2.失效是在可預(yù)測的范圍內(nèi),,一旦失效,系統(tǒng)將進(jìn)入安全模式,。
在設(shè)計安全PLC時,,要考慮到很多因素,需要很多的特殊設(shè)計,。比如:一臺安全PLC更強調(diào)內(nèi)部診斷,,結(jié)合硬件和軟件,可以讓設(shè)備隨時檢測自身工作狀態(tài)的不適,;一臺安全PLC具有的軟件,,要使用一系列的特殊技術(shù),能確保軟件的可靠性,;一臺安全PLC具有冗余功能,,即使一部分失效,也能夠維持系統(tǒng)運行,;一臺安全PLC還具有外加的安全機制,,不允許通過數(shù)字通信接口隨便讀寫內(nèi)部的數(shù)據(jù)。
安全PLC與常規(guī)PLC的不同還在于:安全PLC需要得到第三方專業(yè)機構(gòu)的安全認(rèn)證,,滿足苛刻的安全性和可靠性國際標(biāo)準(zhǔn)。必須*地采用系統(tǒng)方法,,來設(shè)計和測試安全PLC,。德國的TUV專家和美國的FM專家會提供對安全PLC設(shè)計和測試過程的、第三方獨立的確認(rèn)和驗證,,
特殊的電子線路,,細(xì)致的診斷軟件分析,再加上對所有可能失效進(jìn)行測試的完整性設(shè)計,,確保了安全PLC具有測定99%以上的內(nèi)部元件潛在危險失效的能力,。一種失效模式,、影響和診斷分析(FMEDA)方法一直指導(dǎo)著設(shè)計,這種方法會指出每個元件是怎樣引起系統(tǒng)失效,,并且告訴你系統(tǒng)應(yīng)該如何檢測這個失效,。TUV的工程師會親自執(zhí)行失效測試,把它作為他們認(rèn)證過程的一個部分,。
嚴(yán)格的國際標(biāo)準(zhǔn)軟件應(yīng)用于安全PLC,。這些標(biāo)準(zhǔn)需要特殊技術(shù),避免復(fù)雜性,。更進(jìn)一步的分析和測試,,細(xì)致地檢查操作系統(tǒng)的任務(wù)交互操作。這種測試包括實時的交互操作,,比如多任務(wù)(當(dāng)使用時)和中斷,。還需要進(jìn)行一種特殊的診斷,被稱為“程序流控制"和“數(shù)據(jù)確認(rèn)",。程序流檢查能確?;竟δ苣馨凑_的順序執(zhí)行,數(shù)據(jù)確認(rèn)使所有的關(guān)鍵數(shù)據(jù)在存儲器里進(jìn)行冗余存儲,,并且在使用前進(jìn)行有效性測試,。在軟件開發(fā)過程中,一個安全PLC需要附加的軟件測試技術(shù),。為了核實數(shù)據(jù)完整性檢查,,必須執(zhí)行一系列“軟件失效注入"測試,也就是人為對程序進(jìn)行故意破壞,,來檢查PLC的響應(yīng)是否運行在預(yù)計的安全方式,。軟件的設(shè)計和測試帶有詳細(xì)的文件資料,這樣第三方的檢查員就能夠明白PLC的運行原理,,而多數(shù)軟件開發(fā)沒有使用這種規(guī)范的操作流程,,這也正好說明為什么眾多的垃圾軟件會出現(xiàn)那么多的臭蟲而無法發(fā)現(xiàn)了。
二,、舉例
下面試通過某公司的一款安全PLC,,來更具體地說明安全PLC與常規(guī)PLC的區(qū)別。
2.1安全PLC與常規(guī)PLC的CPU的差別
常規(guī)PLC內(nèi)部CPU的數(shù)量有一個或多個,,它或它們的作用是:執(zhí)行用戶的程序,、進(jìn)行I/O的掃描和系統(tǒng)的診斷。但用戶的程序通常就進(jìn)行一次處理,,多個CPU的功能是把程序中的邏輯運算,、算數(shù)運算、通信功能等分擔(dān)實現(xiàn),,也就是協(xié)作處理,。
而安全PLC的CPU至少有兩個或多個,,兩個CPU的功能是:分別對同一個用戶程序各自執(zhí)行一次,然后再把兩個結(jié)果放在一起進(jìn)行比較,,如果比較的結(jié)果是一致的,,就輸出這個結(jié)果,如果是不一致的,,選擇安全的結(jié)果輸出,。由此看出,這才是安全PLC與常規(guī)PLC最大的不同:冗余+比較,。
2.2安全PLC內(nèi)部CPU的結(jié)構(gòu)
安全PLC包含2個處理器,,每個處理器在自己的存儲器區(qū)中,執(zhí)行它們自己的安全邏輯,,然后在每個周期的結(jié)尾和對方的結(jié)果進(jìn)行比較,,每個處理器有它自己獨立的停機通道,如果檢測到結(jié)果的不同或有失效成分,,它能夠?qū)崿F(xiàn)系統(tǒng)停機,,切到安全狀態(tài)。這種雙處理結(jié)構(gòu)被稱為內(nèi)部的二選一結(jié)構(gòu),。
下圖表示了這種安全PLC的內(nèi)部結(jié)構(gòu):
安全PLC通常都有兩個處理器,,同時進(jìn)行解碼和執(zhí)行。這種差異性提供了失效檢測的下列優(yōu)點:
?◎兩個可執(zhí)行碼獨自生成,,編譯的差異性使得在代碼生成時,,容易檢測系統(tǒng)失效。
?◎兩個生成碼由不同的處理器執(zhí)行,,因此,,CPU能夠在代碼執(zhí)行時,檢測出系統(tǒng)失效和PLC的隨機失效,。
?◎兩個獨立的存儲器區(qū)用于兩個處理器,,因此,CPU能夠檢測出RAM的隨機失效,,而這在每個掃描周期的全部RAM檢查時測不出來,。
這里我們接著引出安全PLC與常規(guī)PLC第二個最大的不同:隨時+步步進(jìn)行診斷和檢測。這種檢測有的是通過自身信息進(jìn)行的,,稱為自檢,;還有的通過對方的信息進(jìn)行檢測,稱為互檢,。后面我們還會提到更多的檢測。
2.3安全PLCCPU中的檢測
時鐘測量:在處理器電路中,,有兩個不同的振蕩器交叉檢查它們的行為,,每個處理器使用一個時鐘檢查另外一個是否運行,。如果在一個確定的周期里,檢測到對方?jīng)]有運行,,CPU就會進(jìn)入安全狀態(tài),。固件每秒鐘會檢查兩個振蕩器的精度。
監(jiān)視時鐘:一個硬件和一個固件的監(jiān)視時鐘檢查PLC的活動和執(zhí)行用戶邏輯的執(zhí)行時間,。這和常規(guī)的PLC系統(tǒng)是相同的,。
序列檢查:序列檢查監(jiān)視CPU操作系統(tǒng)不同部分的執(zhí)行。
存儲器檢查:所有靜態(tài)存儲器區(qū),,包括Flash存儲器和RAM,,使用循環(huán)冗余碼(CRC)進(jìn)行檢測,并且雙碼執(zhí)行,。動態(tài)存儲器區(qū)由雙碼執(zhí)行保護(hù),,周期性進(jìn)行檢測。在冷啟動時,,這些檢測重新進(jìn)行初始化,。
從上面的分析可以看出,安全PLC的診斷和檢測比常規(guī)的PLC的檢測要多很多,,所以相對來說,,硬件和軟件的設(shè)計更復(fù)雜。當(dāng)然,,檢測和診斷的范圍也更廣范,,更細(xì)致。
2.4安全PLCI/O診斷概述
上面我們對安全PLC的CPU的情況進(jìn)行了一個簡單的分析,,下面我們再來看看安全輸入/輸出模塊的情況,。
所有安全I(xiàn)/O模塊都要執(zhí)行以下兩個診斷功能:
?◎更多的系統(tǒng)層面的診斷,包括了:RAM測試,、ROM測試,、以及
?◎根據(jù)模塊的類型不同,現(xiàn)場層面的診斷,,
還有,,安全PLC要對安全CPU和安全I(xiàn)/O之間的通信進(jìn)行診斷,比如使用CRC校驗,。因此,,不僅要檢查接收的數(shù)據(jù)是否等于發(fā)送的數(shù)據(jù),而且要檢查數(shù)據(jù)變化,。為了解決擾動問題,,比如EMC的影響,它可能瞬間破壞你的數(shù)據(jù),,所以你需要對每個模塊,,配置一個很大的連續(xù)CRC錯誤診斷,。
上電時診斷:在上電時,I/O模塊執(zhí)行擴展的自檢程序,,如果測試出現(xiàn)錯誤,,模塊被認(rèn)為不健康,輸入輸出全部置為0,。
運行時的診斷:在系統(tǒng)運行時,,I/O模塊執(zhí)行自檢程序,輸入模塊檢驗是否能夠從傳感器讀取整個范圍的數(shù)據(jù),,輸出模塊對它們的開關(guān)執(zhí)行脈沖測試,,周期小于1ms,在數(shù)字量輸入和數(shù)字量輸出模塊,,上電自檢失效和模塊沒有接到外部的24V電源時,,模塊不工作。
過壓診斷:因為電子元件,,從理論上說,,電源電壓超過了最大值時,它們不應(yīng)該工作,,所以I/O模塊必須對來自背板的電源電壓進(jìn)行監(jiān)視,。
下表描述了對電源電壓的監(jiān)視:
電源監(jiān)視
來自背板總線的電壓,理論上的最大值為18.5V,。有兩個過壓檢測器,,每個處理器系統(tǒng)有一個。每個監(jiān)測器能夠處理可能出現(xiàn)的過壓,,用斷開電源開關(guān)和觸發(fā)復(fù)位塊的方法,。復(fù)位塊用于管理電源的接通和斷開,并且停止兩個處理器運行,。如果背板電源電壓還在升高,,限制器塊會對電子元件提供保護(hù)。
在現(xiàn)場側(cè)的電源信息,,由直流-到-直流的轉(zhuǎn)換器生成,。有兩個過壓和欠壓監(jiān)測器,每個處理器系統(tǒng)有一個,。如果兩個隔離的直流-到-直流轉(zhuǎn)換器生成一個電源到現(xiàn)場側(cè)電子元件的失效信號,,監(jiān)測器通過隔離器發(fā)送失效信號至處理器。
在運行時,,當(dāng)一個現(xiàn)場的輸入電源電壓達(dá)到60V,。有2個過壓和欠壓監(jiān)測器,每個處理器系統(tǒng)提供1個,以同樣方式監(jiān)視直流-到-直流轉(zhuǎn)換器,。一旦失效,,監(jiān)測器會發(fā)出失效信號,對用戶邏輯的狀態(tài)位設(shè)置,,警告系統(tǒng)可能出現(xiàn)了輸入不一致。
2.5安全PLC的安全模擬量輸入模塊
接地斷線檢測:安全模擬量輸入模塊具有監(jiān)視接地失效(漏電流)的功能,。外接線一端通常要連接到中性地,,在接地端子與中性地之間可以接入一個分流電阻(比如250歐姆),那么模擬量輸入的漏電流就可以通過這個電阻上的電壓,,檢測出來,。
內(nèi)部診斷:現(xiàn)場側(cè)包括了8個隔離獨立的輸入通道,每個輸入具有2個相同的電路構(gòu)成,,每個電路的微處理器通過驅(qū)動它的模擬量-數(shù)字量轉(zhuǎn)換器,、再經(jīng)過隔離器得到輸入值。另外,,當(dāng)進(jìn)行診斷時,,微處理器還驅(qū)動它的數(shù)字量-模擬量轉(zhuǎn)換器并且把它置成高阻抗(非干涉)或者低阻抗,強迫做為模擬量-數(shù)字量轉(zhuǎn)換器的輸入,。
模擬量輸入模塊執(zhí)行:
?◎短期間的自檢,。使用常規(guī)的、周期的差異值檢測,,判斷內(nèi)部是否失效,。
?◎長期間的自檢。使用每個通道的健康狀態(tài)來核實內(nèi)部是否失效,。
現(xiàn)場電源監(jiān)督:沒有電源監(jiān)督,,這個功能由模擬量-數(shù)字量轉(zhuǎn)換器檢測期間,對模擬量-數(shù)字量轉(zhuǎn)換器和數(shù)字量-模擬量轉(zhuǎn)換器提供的根據(jù)它們電源電壓的值來實現(xiàn),。
2.6安全PLC的安全數(shù)字量輸入模塊
內(nèi)部診斷:每個輸入通道使用一個公共輸入電路和2個獨立獲取鏈路,,每個微處理器驅(qū)動一個數(shù)字輸入串行器(DIS)來實現(xiàn)對輸入信息的采樣。另外,,微處理器還驅(qū)動一個數(shù)字輸入還原器(DID),,再驅(qū)動診斷功能塊進(jìn)行診斷,實現(xiàn)還原數(shù)據(jù)與輸入數(shù)據(jù)的同步比較,。
輸入通道錯誤檢測:數(shù)字量輸入監(jiān)視現(xiàn)場側(cè)電源,,利用外部接線來進(jìn)行漏電流的檢測,最小的漏電流是1mA,,如果沒有漏電流,,就代表外部電路出現(xiàn)開路故障,在干接點的情況下,在接點兩端并聯(lián)一個10k?的上拉電阻,,用于外部線路的斷線檢測,。每個輸入電路都配置了開關(guān),周期地強制為1或0,,用于檢測電路是否健康,。每個輸入電路獨立進(jìn)行檢測,如果發(fā)現(xiàn)問題就對診斷位置1,,聲明通道處于非健康狀態(tài),。
2.7安全PLC的安全數(shù)字量輸出模塊
內(nèi)部診斷:為了檢查開關(guān)是否能夠斷開與閉合,要在輸出模塊(在模塊內(nèi)部電路,,插入周期性的診斷循環(huán))進(jìn)行一個脈沖測試,。
診斷序列包括:
?◎更改開關(guān)命令,這個時間非常短,,不會影響執(zhí)行器,,最大不超過1ms;
?◎核實測試結(jié)果,,并且
?◎恢復(fù)正確的開關(guān)命令,。
電源監(jiān)視:每個輸出電路包括兩個串聯(lián)的開關(guān),有兩個處理器分別進(jìn)行控制,。