siemens x
傳感器

常規(guī)PLC與安全PLC的不同

2025China.cn   2009年09月09日

【摘要】本文介紹了常規(guī)PLC與安全PLC的很多不同點(diǎn),然后通過安全PLC的CPU、I/O模塊舉例說明了它們不同的具體內(nèi)容。
【關(guān)鍵詞】安全PLC 常規(guī)PLC 冗余 診斷 
     
安全型可編程邏輯控制器(PLC)是為特殊用途的機(jī)器設(shè)備而設(shè)計(jì)的,用于關(guān)鍵型控制和安全型應(yīng)用。這些控制器通常是安全儀表系統(tǒng)(SIS)的一部分,用在檢測(cè)具有潛在危險(xiǎn)的流程工業(yè)環(huán)境中。一旦檢測(cè)出危險(xiǎn),SIS的應(yīng)用程序能自動(dòng)作用,把流程切換到安全狀態(tài)。談到這里,用戶可能會(huì)有一系列的問題:常規(guī)PLC已經(jīng)成功地使用了這么多年了,與安全PLC相比有什么不同?為什么在關(guān)鍵型控制和安全型應(yīng)用中,不能使用常規(guī)的PLC? 
一、綜述 
      一臺(tái)安全PLC采用了特殊的設(shè)計(jì),能夠?qū)崿F(xiàn)兩個(gè)重要目標(biāo): 
      1.系統(tǒng)不會(huì)失效(采用冗余的工作方式),即使元件的失效不可避免; 
      2.失效是在可預(yù)測(cè)的范圍內(nèi),一旦失效,系統(tǒng)將進(jìn)入安全模式。 
      在設(shè)計(jì)安全PLC時(shí),要考慮到很多因素,需要很多的特殊設(shè)計(jì)。比如:一臺(tái)安全PLC更強(qiáng)調(diào)內(nèi)部診斷,結(jié)合硬件和軟件,可以讓設(shè)備隨時(shí)檢測(cè)自身工作狀態(tài)的不適;一臺(tái)安全PLC具有的軟件,要使用一系列的特殊技術(shù),能確保軟件的可靠性;一臺(tái)安全PLC具有冗余功能,即使一部分失效,也能夠維持系統(tǒng)運(yùn)行;一臺(tái)安全PLC還具有外加的安全機(jī)制,不允許通過數(shù)字通信接口隨便讀寫內(nèi)部的數(shù)據(jù)。

      安全PLC與常規(guī)PLC的不同還在于:安全PLC需要得到第三方專業(yè)機(jī)構(gòu)的安全認(rèn)證,滿足苛刻的安全性和可靠性國際標(biāo)準(zhǔn)。必須徹底地采用系統(tǒng)方法,來設(shè)計(jì)和測(cè)試安全PLC。德國的TUV專家和美國的FM專家會(huì)提供對(duì)安全PLC設(shè)計(jì)和測(cè)試過程的、第三方獨(dú)立的確認(rèn)和驗(yàn)證,

      特殊的電子線路,細(xì)致的診斷軟件分析,再加上對(duì)所有可能失效進(jìn)行測(cè)試的完整性設(shè)計(jì),確保了安全PLC具有測(cè)定99%以上的內(nèi)部元件潛在危險(xiǎn)失效的能力。一種失效模式、影響和診斷分析(FMEDA)方法一直指導(dǎo)著設(shè)計(jì),這種方法會(huì)指出每個(gè)元件是怎樣引起系統(tǒng)失效,并且告訴你系統(tǒng)應(yīng)該如何檢測(cè)這個(gè)失效。TUV的工程師會(huì)親自執(zhí)行失效測(cè)試,把它作為他們認(rèn)證過程的一個(gè)部分。

      嚴(yán)格的國際標(biāo)準(zhǔn)軟件應(yīng)用于安全PLC。這些標(biāo)準(zhǔn)需要特殊技術(shù),避免復(fù)雜性。更進(jìn)一步的分析和測(cè)試,細(xì)致地檢查操作系統(tǒng)的任務(wù)交互操作。這種測(cè)試包括實(shí)時(shí)的交互操作,比如多任務(wù)(當(dāng)使用時(shí))和中斷。還需要進(jìn)行一種特殊的診斷,被稱為"程序流控制"和"數(shù)據(jù)確認(rèn)"。程序流檢查能確保基本功能能按正確的順序執(zhí)行,數(shù)據(jù)確認(rèn)使所有的關(guān)鍵數(shù)據(jù)在存儲(chǔ)器里進(jìn)行冗余存儲(chǔ),并且在使用前進(jìn)行有效性測(cè)試。在軟件開發(fā)過程中,一個(gè)安全PLC需要附加的軟件測(cè)試技術(shù)。為了核實(shí)數(shù)據(jù)完整性檢查,必須執(zhí)行一系列"軟件失效注入"測(cè)試,也就是人為對(duì)程序進(jìn)行故意破壞,來檢查PLC的響應(yīng)是否運(yùn)行在預(yù)計(jì)的安全方式。軟件的設(shè)計(jì)和測(cè)試帶有詳細(xì)的文件資料,這樣第三方的檢查員就能夠明白PLC的運(yùn)行原理,而多數(shù)軟件開發(fā)沒有使用這種規(guī)范的操作流程,這也正好說明為什么眾多的垃圾軟件會(huì)出現(xiàn)那么多的臭蟲而無法發(fā)現(xiàn)了。
二、舉例 
      下面試通過施耐德電氣公司的一款安全PLC,來更具體地說明安全PLC與常規(guī)PLC的區(qū)別。
2.1 安全PLC與常規(guī)PLC的CPU的差別 
      常規(guī)PLC內(nèi)部CPU的數(shù)量有一個(gè)或多個(gè),它或它們的作用是:執(zhí)行用戶的程序、進(jìn)行I/O的掃描和系統(tǒng)的診斷。但用戶的程序通常就進(jìn)行一次處理,多個(gè)CPU的功能是把程序中的邏輯運(yùn)算、算數(shù)運(yùn)算、通信功能等分擔(dān)實(shí)現(xiàn),也就是協(xié)作處理。

      而安全PLC的CPU至少有兩個(gè)或多個(gè),兩個(gè)CPU的功能是:分別對(duì)同一個(gè)用戶程序各自執(zhí)行一次,然后再把兩個(gè)結(jié)果放在一起進(jìn)行比較,如果比較的結(jié)果是一致的,就輸出這個(gè)結(jié)果,如果是不一致的,選擇安全的結(jié)果輸出。由此看出,這才是安全PLC與常規(guī)PLC最大的不同:冗余+比較。

2.2 安全PLC內(nèi)部CPU的結(jié)構(gòu) 
      安全PLC包含2個(gè)處理器,每個(gè)處理器在自己的存儲(chǔ)器區(qū)中,執(zhí)行它們自己的安全邏輯,然后在每個(gè)周期的結(jié)尾和對(duì)方的結(jié)果進(jìn)行比較,每個(gè)處理器有它自己獨(dú)立的停機(jī)通道,如果檢測(cè)到結(jié)果的不同或有失效成分,它能夠?qū)崿F(xiàn)系統(tǒng)停機(jī),切到安全狀態(tài)。這種雙處理結(jié)構(gòu)被稱為內(nèi)部的二選一結(jié)構(gòu)。

      下圖表示了這種安全PLC的內(nèi)部結(jié)構(gòu):

      安全PLC通常都有兩個(gè)處理器,同時(shí)進(jìn)行解碼和執(zhí)行。這種差異性提供了失效檢測(cè)的下列優(yōu)點(diǎn):
?    兩個(gè)可執(zhí)行碼獨(dú)自生成,編譯的差異性使得在代碼生成時(shí),容易檢測(cè)系統(tǒng)失效。
?   兩個(gè)生成碼由不同的處理器執(zhí)行,因此,CPU能夠在代碼執(zhí)行時(shí),檢測(cè)出系統(tǒng)失效和PLC的隨機(jī)失效。
?   兩個(gè)獨(dú)立的存儲(chǔ)器區(qū)用于兩個(gè)處理器,因此,CPU能夠檢測(cè)出RAM的隨機(jī)失效,而這在每個(gè)掃描周期的全部RAM檢查時(shí)測(cè)不出來。 
      這里我們接著引出安全PLC與常規(guī)PLC第二個(gè)最大的不同:隨時(shí)+步步進(jìn)行診斷和檢測(cè)。這種檢測(cè)有的是通過自身信息進(jìn)行的,稱為自檢;還有的通過對(duì)方的信息進(jìn)行檢測(cè),稱為互檢。后面我們還會(huì)提到更多的檢測(cè)。

2.3 安全PLC CPU中的檢測(cè) 
      時(shí)鐘測(cè)量:在處理器電路中,有兩個(gè)不同的振蕩器交叉檢查它們的行為,每個(gè)處理器使用一個(gè)時(shí)鐘檢查另外一個(gè)是否運(yùn)行。如果在一個(gè)確定的周期里,檢測(cè)到對(duì)方?jīng)]有運(yùn)行,CPU就會(huì)進(jìn)入安全狀態(tài)。固件每秒鐘會(huì)檢查兩個(gè)振蕩器的精度。

      監(jiān)視時(shí)鐘:一個(gè)硬件和一個(gè)固件的監(jiān)視時(shí)鐘檢查PLC的活動(dòng)和執(zhí)行用戶邏輯的執(zhí)行時(shí)間。這和常規(guī)的PLC系統(tǒng)是相同的。 
      序列檢查:序列檢查監(jiān)視CPU操作系統(tǒng)不同部分的執(zhí)行。 
      存儲(chǔ)器檢查:所有靜態(tài)存儲(chǔ)器區(qū),包括Flash存儲(chǔ)器和RAM,使用循環(huán)冗余碼(CRC)進(jìn)行檢測(cè),并且雙碼執(zhí)行。動(dòng)態(tài)存儲(chǔ)器區(qū)由雙碼執(zhí)行保護(hù),周期性進(jìn)行檢測(cè)。在冷啟動(dòng)時(shí),這些檢測(cè)重新進(jìn)行初始化。

      從上面的分析可以看出,安全PLC的診斷和檢測(cè)比常規(guī)的PLC的檢測(cè)要多很多,所以相對(duì)來說,硬件和軟件的設(shè)計(jì)更復(fù)雜。當(dāng)然,檢測(cè)和診斷的范圍也更廣范,更細(xì)致。

2.4 安全PLC I/O診斷概述 
      上面我們對(duì)安全PLC的CPU的情況進(jìn)行了一個(gè)簡(jiǎn)單的分析,下面我們?cè)賮砜纯窗踩斎?輸出模塊的情況。 
      所有安全I(xiàn)/O模塊都要執(zhí)行以下兩個(gè)診斷功能:
?   更多的系統(tǒng)層面的診斷,包括了:RAM測(cè)試、ROM測(cè)試、以及
?   根據(jù)模塊的類型不同,現(xiàn)場(chǎng)層面的診斷, 
      下面的表格列出了安全I(xiàn)/O模塊的現(xiàn)場(chǎng)診斷情況:

      還有,安全PLC要對(duì)安全CPU和安全I(xiàn)/O之間的通信進(jìn)行診斷,比如使用CRC校驗(yàn)。因此,不僅要檢查接收的數(shù)據(jù)是否等于發(fā)送的數(shù)據(jù),而且要檢查數(shù)據(jù)變化。為了解決擾動(dòng)問題,比如EMC的影響,它可能瞬間破壞你的數(shù)據(jù),所以你需要對(duì)每個(gè)模塊,配置一個(gè)很大的連續(xù)CRC錯(cuò)誤診斷。

      上電時(shí)診斷:在上電時(shí),I/O模塊執(zhí)行擴(kuò)展的自檢程序,如果測(cè)試出現(xiàn)錯(cuò)誤,模塊被認(rèn)為不健康,輸入輸出全部置為0。 
      運(yùn)行時(shí)的診斷:在系統(tǒng)運(yùn)行時(shí),I/O模塊執(zhí)行自檢程序,輸入模塊檢驗(yàn)是否能夠從傳感器讀取整個(gè)范圍的數(shù)據(jù),輸出模塊對(duì)它們的開關(guān)執(zhí)行脈沖測(cè)試,周期小于1ms,在數(shù)字量輸入和數(shù)字量輸出模塊,上電自檢失效和模塊沒有接到外部的24V電源時(shí),模塊不工作。

      過壓診斷:因?yàn)殡娮釉?,從理論上說,電源電壓超過了最大值時(shí),它們不應(yīng)該工作,所以I/O模塊必須對(duì)來自背板的電源電壓進(jìn)行監(jiān)視。 
      下表描述了對(duì)電源電壓的監(jiān)視:

2.5 安全PLC的安全模擬量輸入模塊

      接地?cái)嗑€檢測(cè):安全模擬量輸入模塊具有監(jiān)視接地失效(漏電流)的功能。外接線一端通常要連接到中性地,在接地端子與中性地之間可以接入一個(gè)分流電阻(比如250歐姆),那么模擬量輸入的漏電流就可以通過這個(gè)電阻上的電壓,檢測(cè)出來。

      內(nèi)部診斷:現(xiàn)場(chǎng)側(cè)包括了8個(gè)隔離獨(dú)立的輸入通道,每個(gè)輸入具有2個(gè)相同的電路構(gòu)成,每個(gè)電路的微處理器通過驅(qū)動(dòng)它的模擬量-數(shù)字量轉(zhuǎn)換器、再經(jīng)過隔離器得到輸入值。另外,當(dāng)進(jìn)行診斷時(shí),微處理器還驅(qū)動(dòng)它的數(shù)字量-模擬量轉(zhuǎn)換器并且把它置成高阻抗(非干涉)或者低阻抗,強(qiáng)迫做為模擬量-數(shù)字量轉(zhuǎn)換器的輸入。

      模擬量輸入模塊執(zhí)行:
?   短期間的自檢。使用常規(guī)的、周期的差異值檢測(cè),判斷內(nèi)部是否失效。
?   長期間的自檢。使用每個(gè)通道的健康狀態(tài)來核實(shí)內(nèi)部是否失效。 
      現(xiàn)場(chǎng)電源監(jiān)督:沒有電源監(jiān)督,這個(gè)功能由模擬量-數(shù)字量轉(zhuǎn)換器檢測(cè)期間,對(duì)模擬量-數(shù)字量轉(zhuǎn)換器和數(shù)字量-模擬量轉(zhuǎn)換器提供的根據(jù)它們電源電壓的值來實(shí)現(xiàn)。

2.6 安全PLC的安全數(shù)字量輸入模塊

      內(nèi)部診斷:每個(gè)輸入通道使用一個(gè)公共輸入電路和2個(gè)獨(dú)立獲取鏈路,每個(gè)微處理器驅(qū)動(dòng)一個(gè)數(shù)字輸入串行器(DIS)來實(shí)現(xiàn)對(duì)輸入信息的采樣。另外,微處理器還驅(qū)動(dòng)一個(gè)數(shù)字輸入還原器(DID),再驅(qū)動(dòng)診斷功能塊進(jìn)行診斷,實(shí)現(xiàn)還原數(shù)據(jù)與輸入數(shù)據(jù)的同步比較。

      輸入通道錯(cuò)誤檢測(cè):數(shù)字量輸入監(jiān)視現(xiàn)場(chǎng)側(cè)電源,利用外部接線來進(jìn)行漏電流的檢測(cè),最小的漏電流是1mA,如果沒有漏電流,就代表外部電路出現(xiàn)開路故障,在干接點(diǎn)的情況下,在接點(diǎn)兩端并聯(lián)一個(gè)10k
      的上拉電阻,用于外部線路的斷線檢測(cè)。每個(gè)輸入電路都配置了開關(guān),周期地強(qiáng)制為1或0,用于檢測(cè)電路是否健康。每個(gè)輸入電路獨(dú)立進(jìn)行檢測(cè),如果發(fā)現(xiàn)問題就對(duì)診斷位置1,聲明通道處于非健康狀態(tài)。

2.7 安全PLC的安全數(shù)字量輸出模塊

      內(nèi)部診斷:為了檢查開關(guān)是否能夠斷開與閉合,要在輸出模塊(在模塊內(nèi)部電路,插入周期性的診斷循環(huán))進(jìn)行一個(gè)脈沖測(cè)試。 
      診斷序列包括:
?   更改開關(guān)命令,這個(gè)時(shí)間非常短,不會(huì)影響執(zhí)行器,最大不超過1ms;
?   核實(shí)測(cè)試結(jié)果,并且
?   恢復(fù)正確的開關(guān)命令。 
      電源監(jiān)視:每個(gè)輸出電路包括兩個(gè)串聯(lián)的開關(guān),有兩個(gè)處理器分別進(jìn)行控制。
      第一個(gè)微處理器使用數(shù)字量輸出還原器(DOD)驅(qū)動(dòng)它的開關(guān),而第二個(gè)微處理器則在還原器之后驅(qū)動(dòng)它的開關(guān)。在每個(gè)周期里,兩個(gè)微處理器系統(tǒng)的中點(diǎn)電壓要與一個(gè)閥值進(jìn)行比較,然后還要交換它們的如果,評(píng)估中點(diǎn)的狀態(tài),診斷開關(guān)的狀態(tài)。如果在一個(gè)通道中檢查到出錯(cuò)的行為,那么立即停機(jī),并且設(shè)置診斷位,通知CPU。

三、小結(jié) 
      通過前面兩個(gè)章節(jié)的介紹,了解了安全PLC和常規(guī)PLC的基本不同點(diǎn),實(shí)際上還有象:外部傳感器接線方式的不同、內(nèi)部操作系統(tǒng)的不同、軟件功能塊的設(shè)置不同、軟件編制的要求不同、以及安全通信協(xié)議的規(guī)范不同等,有機(jī)會(huì)再與讀者進(jìn)行交流。

      當(dāng)然,安全PLC和常規(guī)PLC還有很多相似之處,比如說:兩者都具有執(zhí)行邏輯和算數(shù)計(jì)算的能力;兩者都具有典型的輸入和輸出(I/O)模塊,提供解釋來自流程傳感器信號(hào)和執(zhí)行控制到最終元件的能力;兩者都是采用掃描輸入,然后進(jìn)行計(jì)算,最后寫到輸出;兩者都具有典型的數(shù)字通信接口。但常規(guī)PLC不是基于容錯(cuò)和失效安全而設(shè)計(jì)的,這是兩者的最基本的不同。

      由于很多用戶發(fā)現(xiàn)常規(guī)的PLC不能用于關(guān)鍵應(yīng)用的保護(hù),因此產(chǎn)生了對(duì)安全PLC的需求。對(duì)安全PLC的設(shè)計(jì)、制造和安裝的要求標(biāo)準(zhǔn)是非常高的。如果在項(xiàng)目的設(shè)施中,忽略這些標(biāo)準(zhǔn),或者按低于這些高標(biāo)準(zhǔn)的方法執(zhí)行,從職業(yè)和社會(huì)的角度來看,都是靠不住的、不負(fù)責(zé)任

(轉(zhuǎn)載)

標(biāo)簽:常規(guī)PLC 安全PLC 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道