• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當(dāng)前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    H51q安全控制系統(tǒng)軟件安全策略分析
    • 企業(yè):控制網(wǎng)     領(lǐng)域:工業(yè)安全     行業(yè):網(wǎng)絡(luò)通訊    
    • 點擊數(shù):3443     發(fā)布時間:2006-05-25 11:04:06
    • 分享到:
    分析了H51q安全控制系統(tǒng)軟件安全策略,并介紹了該系統(tǒng)的軟件和硬件。

    (中國石油化工股份有限公司齊魯分公司第二化肥廠,山東 淄博 255400)  袁  勇 

    袁勇(1974-)
    男,山東淄博人,學(xué)士,工程師,現(xiàn)從事化工儀表及控制系統(tǒng)應(yīng)用。


    1  引言

        為保證乙烯75萬噸擴(kuò)建裝置的平穩(wěn)運行,中國石油化工股份有限公司齊魯分公司第二化肥廠于2004年7月實施了壓縮大機(jī)組控制系統(tǒng)改造,以替代原來上世紀(jì)80年代的盤裝儀表。ESD(緊急停車系統(tǒng))部分采用德國HIMA公司H51q系統(tǒng)替代原HIMA早期的Planar系統(tǒng),這套系統(tǒng)的軟件部分功能強(qiáng)大,設(shè)計新穎,尤其在安全設(shè)計方面有獨到之處,是一套安全性和可用性都非常突出的控制軟件系統(tǒng)。認(rèn)真研究H51q系統(tǒng)軟件安全性設(shè)計的基本思路和功能對于我們更好的設(shè)計、組態(tài)和應(yīng)用ESD系統(tǒng),保證裝置的安全穩(wěn)定運行有重要意義。

    2  H51q安全系統(tǒng)相關(guān)的軟件
        H51q安全系統(tǒng)相關(guān)的軟件可分為三部分:操作系統(tǒng)、編程工具和用戶程序。用戶程序由編程工具ELOP-II系統(tǒng)軟件包創(chuàng)建。ELOP-II系統(tǒng)軟件包是基于參數(shù)化的平臺。用戶程序通過代碼發(fā)生器被編譯成機(jī)器碼。機(jī)器碼通過串口被傳送到中央控制模件的Flash-Eproms中,完成ESD系統(tǒng)軟件部分的創(chuàng)建。

    3  操作系統(tǒng)的安全特性
        
         操作系統(tǒng)通過監(jiān)視程序的代碼版本號、運行版本號、數(shù)據(jù)版本號、區(qū)域代碼號的更改來保證程序的安全性,并以循環(huán)掃描的形式來處理用戶程序,過程為:讀輸入數(shù)據(jù)→根據(jù)IEC-61131-3標(biāo)準(zhǔn)處理邏輯→寫輸出。當(dāng)然在這個過程中還要進(jìn)行擴(kuò)展的自診斷、I/O模件診斷、數(shù)據(jù)傳送和比較。具體的循環(huán)階段分為7步,如表1所示。

    4  編程工具ELOP-II的安全特性

        4.1  安全型工具的應(yīng)用

        根據(jù)IEC61131-3編寫的安全工具集成于ELOP-II,用以檢查出用戶錯誤和編程系統(tǒng)(PS)錯誤。集成于ELOP-II的安全工具有三個:C CODE比較器、目標(biāo)代碼比較器、認(rèn)證的GNU-C 編譯器。C CODE比較器可以識別用戶程序的更改。目標(biāo)代碼比較器比較原目標(biāo)代碼和經(jīng)過GNU-C 編譯器編譯的目標(biāo)代碼。這種方法可以避免非安全型的PC產(chǎn)生的錯誤。
    ?  在創(chuàng)建程序時安全型工具的應(yīng)用

        (1)  根據(jù)綁定的標(biāo)準(zhǔn)來創(chuàng)建用戶程序(IEC61508,DIN V VDE 0801 或者用戶的標(biāo)準(zhǔn))(圖1中(1)~(4));

        (2)  更改的用戶程序通過C CODE創(chuàng)建器被編譯成C CODE同時產(chǎn)生一個比較文件(圖1中(5));

        (3)  通過產(chǎn)生一個相互參照表來檢查用戶變量使用的正確性。如:所有的變量是否在所定義的區(qū)間內(nèi)使用;

        (4)  C CODE和比較文件被經(jīng)過安全認(rèn)證的GNU編譯器編譯(圖1中(6)~(13))。產(chǎn)生目標(biāo)代碼和比較代碼;

        (5)  目標(biāo)代碼比較器被激活(圖1中(14))。它對比目標(biāo)代碼和比較代碼。由非安全型的PC產(chǎn)生的一切錯誤將被檢測和標(biāo)識出來;

        (6)  這樣創(chuàng)建的程序?qū)?zhǔn)備應(yīng)用,程序被下裝到H51q系統(tǒng)中(圖1中(7))。程序必須經(jīng)過完全測試;

        (7)  一個備份的目標(biāo)代碼被創(chuàng)建后,PES(Programmable Electronic Systems)開始安全的運行。


    圖1  創(chuàng)建程序

    ?  在更改程序時安全型工具的應(yīng)用

        (1)  用戶程序根據(jù)綁定的標(biāo)準(zhǔn)更改(IEC61508,DIN V VDE 0801 或者用戶的標(biāo)準(zhǔn))(圖1中(1)~(4));

        (2)  對于程序的更改,要用到正運行的用戶程序的備份。這個備份包括:VGL文件、目標(biāo)代碼、輸入數(shù)據(jù);

        (3)  修改用戶程序;

        (4)  最新的被修改的用戶程序通過C CODE創(chuàng)建器被編譯成C CODE(圖1中(5));

        (5)  C CODE比較器必須被激活(圖1中(12))。它比較新C CODE和先前程序版本的舊C CODE(圖1中(11))。作為比較文件(舊C CODE),一個備份必須被標(biāo)識出來;

        (6)  比較的結(jié)果形成文檔(圖1中(15));

        (7)  由用戶檢查是否C CODE比較器指示出了所有的對程序的改變。只有相關(guān)改變才會被標(biāo)識出來;

        (8)  如果C CODE比較器指示出用戶不認(rèn)識的更改,可能是用戶的更改引發(fā)了其他意想不到的更改或一個內(nèi)部錯誤。如果C CODE比較器沒有指示出用戶的更改,可能是C CODE比較器不能識別的更改(如圖形方面的更改或初始值的更改)或此更改沒有被順利的接收;

        (9)  新的C CODE和比較文件被經(jīng)過安全認(rèn)證的GNU-C 編譯器編譯(圖1中(6)~(13))。產(chǎn)生目標(biāo)代碼和比較代碼;

        (10)  目標(biāo)代碼比較器必須被激活(圖1中(14))。它對比目標(biāo)代碼和比較代碼。由非安全型的PC產(chǎn)生的一切錯誤將被檢測和標(biāo)識出來;

        (11)  這樣創(chuàng)建的隔離了錯誤的程序才可以準(zhǔn)備應(yīng)用,程序被下裝到H51q系統(tǒng)中。這時所有的更改部分必須經(jīng)過測試以保證目標(biāo)代碼的正確性;

        (12)  如果一切順利,當(dāng)前程序的備份是很有必要的。

        4.2  在線更改功能的安全性設(shè)計(可重裝的代碼)

        在線更改過程中,工程師要通過其他手段進(jìn)行安全監(jiān)視。在每一次在線更改之前,必須通過C CODE比較器比較之后明確所做出的更改。下裝前,更改部分必須作離線虛擬測試。

        如果一個在線更改被允許進(jìn)行,在代碼創(chuàng)建器編譯時將出現(xiàn)“code reloadable”的信息。

        下面情況將導(dǎo)致不能在線重裝(在線重裝按鈕變灰不可操作,只能離線下裝,若此時裝置正運行將導(dǎo)致停車):柜內(nèi)模件被插入和刪除;全局變量被刪除、增加和重命名;物理I/O被分配或存在的I/O被刪除;增加的變量定義為這些類型:Hipro-n(HIMA系統(tǒng)間非安全型總線變量傳送器),Hipro-s(HIMA系統(tǒng)間安全型總線變量傳送器),Buscom(外接非HIMA系統(tǒng)通訊變量基址設(shè)置器),LGP(打印型), Event(事件型)、ELOP-II模塊庫之外的塊的插入和刪除;沒有足夠的數(shù)據(jù)結(jié)構(gòu)空間去裝載新的機(jī)器碼;內(nèi)存區(qū)重新組織分配時(這種情況是因為存儲空間已經(jīng)到限,但由于先前的重復(fù)代碼的創(chuàng)建導(dǎo)致的內(nèi)存分配之間的空隙形成);Buscom的基址更改。

        對于單獨中央控制模件,這種改變必須在故障容忍時間內(nèi)完成。程序在下裝時,I/O模件不進(jìn)行讀寫或測試。控制器及協(xié)處理器接口都不處理數(shù)據(jù)。

        對于冗余中央控制模件,它不受單中央控制模件的系統(tǒng)的某些限制,在線下裝開始時,第一個控制模件執(zhí)行下裝,第二個控制模件以MONO(獨立)模式繼續(xù)執(zhí)行用戶程序;第一個控制模件下裝完成后,接收第二個控制模件中用戶當(dāng)前數(shù)據(jù),以MONO模式執(zhí)行新的用戶程序;第二個控制模件執(zhí)行下裝,下裝完成并接收完數(shù)據(jù)后,兩個控制模件以冗余模式運行。

    5  用戶程序的安全應(yīng)用

        人們在resource中定義模件時,必須將安全型的和非安全型的數(shù)字輸入和數(shù)字輸出信號區(qū)分開來。非安全型的模件只能被底層操作系統(tǒng)讀寫而沒有故障識別和故障信息。對于安全型的信號,只能使用安全型的模件,最好與標(biāo)準(zhǔn)功能塊綁定使用,以得到更加深入的診斷和安全功能。

        另外,根據(jù)安全系統(tǒng)不同的設(shè)計要求,H51q系統(tǒng)從硬件配置到軟件設(shè)計都給出了結(jié)合自身特點的靈活配置,體現(xiàn)了系統(tǒng)的安全性和可用性的較好結(jié)合,在此就不贅述了。

        由于壓縮大機(jī)組的安全運行直接關(guān)系到整個乙烯裝置的平穩(wěn)運轉(zhuǎn),其ESD系統(tǒng)的改造顯得尤為重要。通過對H51q系統(tǒng)軟件安全策略的研究和應(yīng)用,成功的保證了組態(tài)程序的安全性,及時發(fā)現(xiàn)和處理了多起軟件安全隱患,并通過軟件的合理組態(tài)充分發(fā)揮了硬件的安全功效。

    參考文獻(xiàn)
    [1]  IEC61508, Functional Safety of electrical/electronic/programmable electronic safety-related systems. IEC, 1998, 2000.
    [2]  Programmable Systems Safety Manual-Systems H41q/H51q operating system BS41q/51q V7.0-7.
    [3]  Programmable Systems. The H41q/H51q System Families.
    [4]  PC-based Systems ELOP II Resource type manual Edition 0234.

    熱點新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細(xì)的需求:
    姓名:
    單位:
    電話:
    郵件: