章宇(1984-)
女,(信息產(chǎn)業(yè)部電子六所,北京 100083)信息產(chǎn)業(yè)部電子六所碩士研究生,計算機(jī)應(yīng)用技術(shù)專業(yè),研究方向為系統(tǒng)的功能安全。
摘要:在自動化解決方案中,安全性集成的問題已經(jīng)出現(xiàn)。本文闡述了什么是安全相關(guān)控制系統(tǒng),介紹了符合IEC61131-3的安全應(yīng)用程序的結(jié)構(gòu)模型,以達(dá)到工業(yè)控制編程能符合安全標(biāo)準(zhǔn)的目的。
關(guān)鍵詞:工業(yè)控制編程;安全
Abstract: The problems of safety integrity in automation solutions have appeared. This paper explains what safety-related control system is, and introduces the architectural model of the safety application according to IEC61131-3 so that the industry control programming can satisfy the safety standards.
Key words: industry control programming;safety
1 自動化解決方案中所遇到的安全標(biāo)準(zhǔn)問題
機(jī)械制造商們往往面對著一大堆與安全相關(guān)的標(biāo)準(zhǔn);要完全理解它們,代價往往是昂貴的,甚至在某些情況下是不可能的,但是到最后他們?nèi)缘脤ζ洚a(chǎn)品和相關(guān)安全方面負(fù)責(zé)。當(dāng)法律給設(shè)備供應(yīng)商強(qiáng)加了諸多約束時,這種情形卻仍舊存在,是不正常的。
現(xiàn)在,安全相關(guān)部分和功能應(yīng)用部分常常有一個明顯的界線。這個界線產(chǎn)生于運(yùn)用不同的系統(tǒng),不同的工具,甚至不同的人。這使得安全部分直到最后才能被包括進(jìn)來,并且只能對其做有限的測試,而沒有從一開始就將它集成到整個系統(tǒng)的體系中。這種做法明顯無助于整體的安全考慮。
同時,與日俱進(jìn)的技術(shù)革新現(xiàn)可提供安全的數(shù)字通訊總線。這支持了從硬件系統(tǒng)到以軟件為解決方案的轉(zhuǎn)變趨勢。一根并行線可從硬件連線的繼電器邏輯連到可編程邏輯控制器(PLC)上。但這樣的變化還需要時間,以及工業(yè)界的廣泛支持。
2 安全相關(guān)控制系統(tǒng)簡介
根據(jù)IEC標(biāo)準(zhǔn),安全型系統(tǒng)稱為Safety-Related System。它覆蓋的范圍很廣,適用于所有工業(yè)系統(tǒng),它包含了影響安全的各種因素,如儀表組成的保護(hù)系統(tǒng),工藝設(shè)備的安全措施以及管理和人員的操作和規(guī)章制度等各方面。對于我們平常所說的安全控制系統(tǒng)就是指儀表和控制設(shè)備構(gòu)成的保護(hù)系統(tǒng)。
安全控制系統(tǒng)主要由現(xiàn)場檢測儀表、控制邏輯單元和現(xiàn)場執(zhí)行裝置和他們之間的連線組成,其中控制邏輯單元是整個控制系統(tǒng)的核心。這一系統(tǒng)能以符合安全要求的概率,在工藝過程出現(xiàn)預(yù)先規(guī)定的故障情況時,使過程處在安全狀態(tài)。
在安全控制系統(tǒng)的設(shè)計中,為了定量的來分析各種生產(chǎn)裝置的安全性,并作為安全控制系統(tǒng)的配置依據(jù),IEC61508定義了4個安全度等級( Safety Integrity Level)SIL1-4,同時每個等級包括兩個定量的安全要求,即系統(tǒng)連續(xù)操作每小時故障概率(PFH)和按要求模式執(zhí)行指定功能的故障概率(PFD),見表1。
表1
安全控制系統(tǒng)的設(shè)計以及系統(tǒng)結(jié)構(gòu)既要滿足工業(yè)過程的安全度要求,又要保證可靠性和可用性,因此,必須對具體的工業(yè)過程進(jìn)行安全評價。我國目前還沒有具體的安全等級評價和設(shè)計標(biāo)準(zhǔn),而目前國際上通用的標(biāo)準(zhǔn)有德國的DIN19250、美國的ISA S84.01和IEC61508;權(quán)威的認(rèn)證機(jī)構(gòu)包括德國的T?V、美國的UL和FM等。
安全度等級可以根據(jù)IEC61508提供的風(fēng)險圖(Risk Graph),按照估計發(fā)生危險時的損害程度、人員存在的可能性、防止危險發(fā)生的可能性以及無保護(hù)系統(tǒng)時出現(xiàn)危險的可能性這四個參數(shù)來計算故障概率PFD而最終確定。按照這一要求,電廠的爐膛安全保護(hù)系統(tǒng)的安全度等級一般被定義為SIL3 (IEC61508),此等級相當(dāng)于DIN19250標(biāo)準(zhǔn)的RC6級。
對于安全相關(guān)的控制系統(tǒng)來說,一直以來所采用的硬件主要有以下三種形式:
1) 繼電器;
2) 硬接線固態(tài)電路;
3) 可編程電子系統(tǒng)(大多為PLC 系統(tǒng))。
目前,由于采用微處理器技術(shù)的PLC具有高可靠性、高可用性和可維護(hù)性,因此在工程實際中得到了廣泛的應(yīng)用。
3 總的設(shè)計思想
3.1 概述
安全方面的實現(xiàn),可集成到軟件的開發(fā)工具中。這樣的結(jié)合可使得開發(fā)者在剛開始進(jìn)入開發(fā)周期時,就可將與安全相關(guān)的功能集成到他們的系統(tǒng)中去。
圖1 在一個平臺上合并三個環(huán)境
3.2 安全控制系統(tǒng)的基本要求
在所有可應(yīng)用的安全標(biāo)準(zhǔn)中,對機(jī)械制造商來說,一個安全應(yīng)用程序的通用基本要求如下:
* 安全與非安全功能性的區(qū)別
* 可應(yīng)用的編程語言和語言子集的運(yùn)用
* 認(rèn)證的軟件模塊的運(yùn)用
* 可應(yīng)用的編程指導(dǎo)方針的運(yùn)用
* 安全相關(guān)軟件的生命周期中,被認(rèn)可的降低錯誤的測量手段的運(yùn)用
3.3 提供易用的工業(yè)控制編程環(huán)境
對用戶來說,為符合上述高要求所做的努力應(yīng)該盡量減少。要做到這點(diǎn),可采用標(biāo)準(zhǔn)化的解決方案,使得典型的功能可以輕松實現(xiàn)。功能塊的標(biāo)準(zhǔn)化、軟件工具的支持和集成,使得程序員從一開始就可在他們的應(yīng)用中集成安全部分。
3.3.1安全功能塊的標(biāo)準(zhǔn)化
為了幫助開發(fā)者使用安全相關(guān)的功能,他們使用軟件時的舒適度應(yīng)當(dāng)被提高,這樣便更容易去接受這種工作方式。要做到這點(diǎn),需要標(biāo)準(zhǔn)化安全功能塊。這樣,安全功能能更好地被辨認(rèn)出來,做出專業(yè)化的安全功能塊的趨勢被降低。所以,便沒有必要進(jìn)行再培訓(xùn);另外,也有利于認(rèn)證實體更容易、快捷地檢查安全軟件。
在較高的層次提供功能塊,使得它們較少地依賴于下層的硬件結(jié)構(gòu)。
3.3.2標(biāo)準(zhǔn)程序的集成
一旦功能塊具有了其功能,下一步便要決定如何將安全相關(guān)的程序并入其中。在這一層面上,軟件工具應(yīng)該盡可能地幫助使用者。所以,可以定義一種新的布爾變量,它可應(yīng)用于安全相關(guān)環(huán)境中,于是安全相關(guān)和非安全相關(guān)的布爾變量便有了區(qū)別。這使得開發(fā)工具有了可辨別安全程序部分的基礎(chǔ),引導(dǎo)用戶做出被允許的連接,同時阻止了錯誤的連接。
并且,編程語言的功能要減少。另外,最好使用FBD和LD 圖形,這樣程序部分可以更容易地去寫和檢查。
4 安全應(yīng)用程序的模型
4.1 控制系統(tǒng)的結(jié)構(gòu)及相關(guān)的安全標(biāo)準(zhǔn)
圖2 框架
不同標(biāo)準(zhǔn)開發(fā)階段和運(yùn)行時間的關(guān)系如圖2 所示,左側(cè)是兩個層次軟件的開發(fā)環(huán)境。
(1)嵌入式軟件、固件或操作系統(tǒng),必須遵從IEC 61508規(guī)范,尤其是第3部分。該部分可以使用的語言包括C、C++、匯編或其它。這些是完全可變語言(FVL):是組件提供商用于實現(xiàn)(安全)固件、操作系統(tǒng)或開發(fā)工具的獨(dú)立語言,很少用于安全應(yīng)用本身。
(2)安全應(yīng)用軟件,如果用C、C++、匯編和其它語言實現(xiàn)的,必須象上面一樣遵守IEC61508規(guī)則,它們?nèi)允腔谕耆勺冋Z言(FVL)。如果做到了精簡編程語言、指令和認(rèn)證功能塊,那么機(jī)械業(yè)的標(biāo)準(zhǔn),如IEC62061和ISO13849-1,則必須被用戶在各個專業(yè)的工業(yè)中所遵守。這樣可極大地簡化軟件的開發(fā)和認(rèn)證。在這種情況下,它們可被認(rèn)為是限制可變語言(LVL)。這些語言針對那些開發(fā)自己的安全應(yīng)用功能塊的用戶。典型的語言是梯形圖(LD)和功能塊圖(FBD)。這兒所說的功能塊并不是IEC62061中定義的“子系統(tǒng)要素”,而是IEC61131-3功能塊。功能塊的IEC62061定義不同于IEC61131-3中的定義,就某一方面來說,前者包含硬件,提供安全子系統(tǒng)功能。
4.2 安全應(yīng)用程序的結(jié)構(gòu)模型
圖3所示的軟件結(jié)構(gòu)模型描述了在機(jī)械控制系統(tǒng)中,安全功能塊的一般位置。這個模型盡可能地做到簡化,這樣它便可覆蓋到現(xiàn)有的和將來的安全控制系統(tǒng)。在這個軟件說明中,不應(yīng)該排斥任何的安全控制硬件結(jié)構(gòu)。
上面的結(jié)構(gòu)模型與功能應(yīng)用部分和安全應(yīng)用部分不同,它是與兩個層次的軟件環(huán)境相聯(lián)系的。要做的是合并這兩個環(huán)境,也就是,功能部分的開發(fā)環(huán)境中集成一個安全部分,包括編程語言和安全部分的功能的精簡。
以上兩個應(yīng)用程序部分可以運(yùn)行在一個設(shè)備上,或者在兩個或更多的、雖然分散卻被接在一起的設(shè)備上。上圖中的虛線表示應(yīng)用程序間的數(shù)據(jù)交換,它可以通過網(wǎng)絡(luò)、連線輸入/輸出或設(shè)備中的存儲器交換來實現(xiàn)。
模型的左側(cè)是兩類輸入,右側(cè)是兩類輸出。在中間,兩個環(huán)境是分開來表示的,它們都與各自的輸入輸出相連接。
模型的中間表示了功能和安全應(yīng)用程序所允許的數(shù)據(jù)交換。
* 功能應(yīng)用程序有權(quán)讀取安全輸入和全局變量(正如左邊的箭頭所示)
* 在安全應(yīng)用程序中,非安全信號僅能用來控制程序走向,不能被直接連至安全輸出上(正如右箭頭和AND操作符所示)
5 結(jié)語
安全控制系統(tǒng)的運(yùn)行需要底層硬件的支持——硬件采集上來的數(shù)據(jù)本身已有安全信號和標(biāo)準(zhǔn)信號之分;但安全控制系統(tǒng)里的安全應(yīng)用程序的實現(xiàn)則獨(dú)立于底層硬件。在工業(yè)控制編程環(huán)境中提供安全數(shù)據(jù)變量和安全功能塊,有利于用戶輕松的將安全性集成到他們的功能應(yīng)用中。
編號:080525