發布日期:2022-07-14 點擊率:90
【摘要】本文介紹了常規PLC與安全PLC的很多不同點,然后通過安全PLC的CPU、I/O模塊舉例說明了它們不同的具體內容。
【關鍵詞】安全PLC 常規PLC 冗余 診斷
Abstract: The article introduces basic different between normal PLC and safety PLC. Later, gives some examples to explain detail different points on CPU, I/O modules.
Key word: Safety PLC Normal PLC Redundancy Diagnosis
安全型可編程邏輯控制器(PLC)是為特殊用途的機器設備而設計的,用于關鍵型控制和安全型應用。這些控制器通常是安全儀表系統(SIS)的一部分,用在檢測具有潛在危險的流程工業環境中。一旦檢測出危險,SIS的應用程序能自動作用,把流程切換到安全狀態。談到這里,用戶可能會有一系列的問題:常規PLC已經成功地使用了這么多年了,與安全PLC相比有什么不同?為什么在關鍵型控制和安全型應用中,不能使用常規的PLC?
一、綜述
一臺安全PLC采用了特殊的設計,能夠實現兩個重要目標:
1.系統不會失效(采用冗余的工作方式),即使元件的失效不可避免;
2.失效是在可預測的范圍內,一旦失效,系統將進入安全模式。
在設計安全PLC時,要考慮到很多因素,需要很多的特殊設計。比如:一臺安全PLC更強調內部診斷,結合硬件和軟件,可以讓設備隨時檢測自身工作狀態的不適;一臺安全PLC具有的軟件,要使用一系列的特殊技術,能確保軟件的可靠性;一臺安全PLC具有冗余功能,即使一部分失效,也能夠維持系統運行;一臺安全PLC還具有外加的安全機制,不允許通過數字通信接口隨便讀寫內部的數據。
安全PLC與常規PLC的不同還在于:安全PLC需要得到第三方專業機構的安全認證,滿足苛刻的安全性和可靠性國際標準。必須徹底地采用系統方法,來設計和測試安全PLC。德國的TUV專家和美國的FM專家會提供對安全PLC設計和測試過程的、第三方獨立的確認和驗證,
特殊的電子線路,細致的診斷軟件分析,再加上對所有可能失效進行測試的完整性設計,確保了安全PLC具有測定99%以上的內部元件潛在危險失效的能力。一種失效模式、影響和診斷分析(FMEDA)方法一直指導著設計,這種方法會指出每個元件是怎樣引起系統失效,并且告訴你系統應該如何檢測這個失效。TUV的工程師會親自執行失效測試,把它作為他們認證過程的一個部分。
嚴格的國際標準軟件應用于安全PLC。這些標準需要特殊技術,避免復雜性。更進一步的分析和測試,細致地檢查操作系統的任務交互操作。這種測試包括實時的交互操作,比如多任務(當使用時)和中斷。還需要進行一種特殊的診斷,被稱為“程序流控制”和“數據確認”。程序流檢查能確保基本功能能按正確的順序執行,數據確認使所有的關鍵數據在存儲器里進行冗余存儲,并且在使用前進行有效性測試。在軟件開發過程中,一個安全PLC需要附加的軟件測試技術。為了核實數據完整性檢查,必須執行一系列“軟件失效注入”測試,也就是人為對程序進行故意破壞,來檢查PLC的響應是否運行在預計的安全方式。軟件的設計和測試帶有詳細的文件資料,這樣第三方的檢查員就能夠明白PLC的運行原理,而多數軟件開發沒有使用這種規范的操作流程,這也正好說明為什么眾多的垃圾軟件會出現那么多的臭蟲而無法發現了。
二、舉例
下面試通過某公司的一款安全PLC,來更具體地說明安全PLC與常規PLC的區別。
2.1 安全PLC與常規PLC的CPU的差別
常規PLC內部CPU的數量有一個或多個,它或它們的作用是:執行用戶的程序、進行I/O的掃描和系統的診斷。但用戶的程序通常就進行一次處理,多個CPU的功能是把程序中的邏輯運算、算數運算、通信功能等分擔實現,也就是協作處理。
而安全PLC的CPU至少有兩個或多個,兩個CPU的功能是:分別對同一個用戶程序各自執行一次,然后再把兩個結果放在一起進行比較,如果比較的結果是一致的,就輸出這個結果,如果是不一致的,選擇安全的結果輸出。由此看出,這才是安全PLC與常規PLC最大的不同:冗余+比較。
2.2 安全PLC內部CPU的結構
安全PLC包含2個處理器,每個處理器在自己的存儲器區中,執行它們自己的安全邏輯,然后在每個周期的結尾和對方的結果進行比較,每個處理器有它自己獨立的停機通道,如果檢測到結果的不同或有失效成分,它能夠實現系統停機,切到安全狀態。這種雙處理結構被稱為內部的二選一結構。
下圖表示了這種安全PLC的內部結構:
安全PLC通常都有兩個處理器,同時進行解碼和執行。這種差異性提供了失效檢測的下列優點:
· 兩個可執行碼獨自生成,編譯的差異性使得在代碼生成時,容易檢測系統失效。
·兩個生成碼由不同的處理器執行,因此,CPU能夠在代碼執行時,檢測出系統失效和PLC的隨機失效。
· 兩個獨立的存儲器區用于兩個處理器,因此,CPU能夠檢測出RAM的隨機失效,而這在每個掃描周期的全部RAM檢查時測不出來。
這里我們接著引出安全PLC與常規PLC第二個最大的不同:隨時+步步進行診斷和檢測。這種檢測有的是通過自身信息進行的,稱為自檢;還有的通過對方的信息進行檢測,稱為互檢。后面我們還會提到更多的檢測。
[DividePage:NextPage]
2. 3 安全PLC CPU中的檢測
時鐘測量:在處理器電路中,有兩個不同的振蕩器交叉檢查它們的行為,每個處理器使用一個時鐘檢查另外一個是否運行。如果在一個確定的周期里,檢測到對方沒有運行,CPU就會進入安全狀態。固件每秒鐘會檢查兩個振蕩器的精度。
監視時鐘:一個硬件和一個固件的監視時鐘檢查PLC的活動和執行用戶邏輯的執行時間。這和常規的PLC系統是相同的。
序列檢查:序列檢查監視CPU操作系統不同部分的執行。
存儲器檢查:所有靜態存儲器區,包括Flash存儲器和RAM,使用循環冗余碼(CRC)進行檢測,并且雙碼執行。動態存儲器區由雙碼執行保護,周期性進行檢測。在冷啟動時,這些檢測重新進行初始化。
從上面的分析可以看出,安全PLC的診斷和檢測比常規的PLC的檢測要多很多,所以相對來說,硬件和軟件的設計更復雜。當然,檢測和診斷的范圍也更廣范,更細致。
2.4 安全PLC I/O診斷概述
上面我們對安全PLC的CPU的情況進行了一個簡單的分析,下面我們再來看看安全輸入/輸出模塊的情況。
所有安全I/O模塊都要執行以下兩個診斷功能:
·更多的系統層面的診斷,包括了:RAM測試、ROM測試、以及
·根據模塊的類型不同,現場層面的診斷,
下面的表格列出了安全I/O模塊的現場診斷情況:
還有,安全PLC要對安全CPU和安全I/O之間的通信進行診斷,比如使用CRC校驗。因此,不僅要檢查接收的數據是否等于發送的數據,而且要檢查數據變化。為了解決擾動問題,比如EMC的影響,它可能瞬間破壞你的數據,所以你需要對每個模塊,配置一個很大的連續CRC錯誤診斷。
上電時診斷:在上電時,I/O模塊執行擴展的自檢程序,如果測試出現錯誤,模塊被認為不健康,輸入輸出全部置為0。
運行時的診斷:在系統運行時,I/O模塊執行自檢程序,輸入模塊檢驗是否能夠從傳感器讀取整個范圍的數據,輸出模塊對它們的開關執行脈沖測試,周期小于1ms,在數字量輸入和數字量輸出模塊,上電自檢失效和模塊沒有接到外部的24V電源時,模塊不工作。
過壓診斷:因為電子元件,從理論上說,電源電壓超過了最大值時,它們不應該工作,所以I/O模塊必須對來自背板的電源電壓進行監視。
下表描述了對電源電壓的監視:
2.5 安全PLC的安全模擬量輸入模塊
接地斷線檢測:安全模擬量輸入模塊具有監視接地失效(漏電流)的功能。外接線一端通常要連接到中性地,在接地端子與中性地之間可以接入一個分流電阻(比如250歐姆),那么模擬量輸入的漏電流就可以通過這個電阻上的電壓,檢測出來。
內部診斷:現場側包括了8個隔離獨立的輸入通道,每個輸入具有2個相同的電路構成,每個電路的微處理器通過驅動它的模擬量-數字量轉換器、再經過隔離器得到輸入值。另外,當進行診斷時,微處理器還驅動它的數字量-模擬量轉換器并且把它置成高阻抗(非干涉)或者低阻抗,強迫做為模擬量-數字量轉換器的輸入。
模擬量輸入模塊執行:
·短期間的自檢。使用常規的、周期的差異值檢測,判斷內部是否失效。
·長期間的自檢。使用每個通道的健康狀態來核實內部是否失效。
現場電源監督:沒有電源監督,這個功能由模擬量-數字量轉換器檢測期間,對模擬量-數字量轉換器和數字量-模擬量轉換器提供的根據它們電源電壓的值來實現。
[DividePage:NextPage]
2。6 安全PLC的安全數字量輸入模塊
內部診斷:每個輸入通道使用一個公共輸入電路和2個獨立獲取鏈路,每個微處理器驅動一個數字輸入串行器(DIS)來實現對輸入信息的采樣。另外,微處理器還驅動一個數字輸入還原器(DID),再驅動診斷功能塊進行診斷,實現還原數據與輸入數據的同步比較。
輸入通道錯誤檢測:數字量輸入監視現場側電源,利用外部接線來進行漏電流的檢測,最小的漏電流是1mA,如果沒有漏電流,就代表外部電路出現開路故障,在干接點的情況下,在接點兩端并聯一個10kW的上拉電阻,用于外部線路的斷線檢測。每個輸入電路都配置了開關,周期地強制為1或0,用于檢測電路是否健康。每個輸入電路獨立進行檢測,如果發現問題就對診斷位置1,聲明通道處于非健康狀態。
2.7 安全PLC的安全數字量輸出模塊
內部診斷:為了檢查開關是否能夠斷開與閉合,要在輸出模塊(在模塊內部電路,插入周期性的診斷循環)進行一個脈沖測試。
診斷序列包括:
·更改開關命令,這個時間非常短,不會影響執行器,最大不超過1ms;
·核實測試結果,并且
·恢復正確的開關命令。
電源監視:每個輸出電路包括兩個串聯的開關,有兩個處理器分別進行控制。 第一個微處理器使用數字量輸出還原器(DOD)驅動它的開關,而第二個微處理器則在還原器之后驅動它的開關。在每個周期里,兩個微處理器系統的中點電壓要與一個閥值進行比較,然后還要交換它們的如果,評估中點的狀態,診斷開關的狀態。如果在一個通道中檢查到出錯的行為,那么立即停機,并且設置診斷位,通知CPU。
三、小結
通過前面兩個章節的介紹,了解了安全PLC和常規PLC的基本不同點,實際上還有象:外部傳感器接線方式的不同、內部操作系統的不同、軟件功能塊的設置不同、軟件編制的要求不同、以及安全通信協議的規范不同等,有機會再與讀者進行交流。
當然,安全PLC和常規PLC還有很多相似之處,比如說:兩者都具有執行邏輯和算數計算的能力;兩者都具有典型的輸入和輸出(I/O)模塊,提供解釋來自流程傳感器信號和執行控制到最終元件的能力;兩者都是采用掃描輸入,然后進行計算,最后寫到輸出;兩者都具有典型的數字通信接口。但常規PLC不是基于容錯和失效安全而設計的,這是兩者的最基本的不同。
由于很多用戶發現常規的PLC不能用于關鍵應用的保護,因此產生了對安全PLC的需求。對安全PLC的設計、制造和安裝的要求標準是非常高的。如果在項目的設施中,忽略這些標準,或者按低于這些高標準的方法執行,從職業和社會的角度來看,都是靠不住的、不負責任的。
作者: 羅克韋爾自動化(中國)有限公司 華镕
下一篇: PLC、DCS、FCS三大控
上一篇: 常用安全PLC 的結構和