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

    案例頻道

    異類數(shù)據(jù)庫在熱軋過程控制系統(tǒng)中的應(yīng)用
    • 企業(yè):控制網(wǎng)     行業(yè):電梯    
    • 點(diǎn)擊數(shù):1496     發(fā)布時(shí)間:2006-05-19 10:13:17
    • 分享到:
    介紹了異類數(shù)據(jù)庫在熱軋過程控制系統(tǒng)中的應(yīng)用,闡述了技術(shù)方面的一些問題。

    (寶鋼集團(tuán)有限公司梅山鋼鐵公司設(shè)備部,江蘇 南京 210039)  孫建林

    孫建林(1966-)
    男,高級(jí)工程師,主要從事冶金過程控制計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)、開發(fā)工作。


    1  前言

        隨著數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,應(yīng)用于金融、ERP等管理領(lǐng)域的大型數(shù)據(jù)庫技術(shù),目前正逐步應(yīng)用于控制領(lǐng)域。眾所周知,帶鋼熱連軋生產(chǎn)是各種新技術(shù)應(yīng)用最為廣泛的一個(gè)領(lǐng)域。在冶金行業(yè)中,帶鋼熱連軋計(jì)算機(jī)控制系統(tǒng)是公認(rèn)的技術(shù)含量最高、系統(tǒng)最復(fù)雜并且也是發(fā)展最為迅速、成熟和效果最明顯的一個(gè)領(lǐng)域。它不僅提高了生產(chǎn)效率,而且大大的改進(jìn)了產(chǎn)品尺寸精度和性能,給企業(yè)帶來了巨大的經(jīng)濟(jì)效益。近幾年,Oracle數(shù)據(jù)庫在國內(nèi)冶金行業(yè),如:寶鋼集團(tuán)有限公司、鞍山鋼鐵集團(tuán)公司等企業(yè)的管理系統(tǒng)中得到了應(yīng)用,但數(shù)據(jù)庫技術(shù)用于實(shí)時(shí)性非常高的熱連軋控制領(lǐng)域,并不多見,而且微軟的大型數(shù)據(jù)庫 SQL Server在這之前還沒有在國內(nèi)熱連軋企業(yè)中有應(yīng)用先例。這次寶鋼集團(tuán)有限公司梅山鋼鐵公司(以下簡(jiǎn)稱為梅山)熱連軋控制系統(tǒng)分別采用了大型數(shù)據(jù)庫Oracle 8i和SQL Server 2000,也就是說異類數(shù)據(jù)庫共存于一個(gè)熱連軋控制系統(tǒng)中,這在國內(nèi)同行業(yè)中是首次。因此,在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)、異類數(shù)據(jù)庫信息流交換設(shè)計(jì)時(shí)尤為重要,它對(duì)控制系統(tǒng)的實(shí)時(shí)、可靠和穩(wěn)定性等方面的影響至關(guān)重要。

    2  異類數(shù)據(jù)庫體系結(jié)構(gòu)

        異類數(shù)據(jù)庫系統(tǒng)是相關(guān)的多個(gè)數(shù)據(jù)庫系統(tǒng)的集合,可以實(shí)現(xiàn)數(shù)據(jù)的共享和透明訪問,每個(gè)數(shù)據(jù)庫系統(tǒng)擁有自己的DBMS。異類數(shù)據(jù)庫的各個(gè)組成部分具有自身的自治性,實(shí)現(xiàn)數(shù)據(jù)共享的同時(shí),每個(gè)數(shù)據(jù)庫系統(tǒng)仍保有自己的應(yīng)用特性、完整性控制和安全性控制。異類數(shù)據(jù)庫系統(tǒng)主要體現(xiàn)在以下幾個(gè)方面: 

        (1)  計(jì)算機(jī)體系結(jié)構(gòu)的異類:各個(gè)參與的數(shù)據(jù)庫可以分別運(yùn)行在大型機(jī)、小型機(jī)、工作站、PC或嵌入式系統(tǒng)中;

        (2)  基礎(chǔ)操作系統(tǒng)的異構(gòu):各個(gè)數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)操作系統(tǒng)可以是Unix、OpenVMS、Windows NT、Windows 2000、Linux等;

        (3)  DBMS本身的異構(gòu):可以是同為關(guān)系型數(shù)據(jù)庫系統(tǒng)的Oracle、SQL Server等,也可以是不同數(shù)據(jù)模型的數(shù)據(jù)庫,如關(guān)系、模式、層次、網(wǎng)絡(luò)、面向?qū)ο螅瘮?shù)型數(shù)據(jù)庫共同組成一個(gè)異構(gòu)數(shù)據(jù)庫系統(tǒng)。 

        異類數(shù)據(jù)庫系統(tǒng)的目標(biāo)在于實(shí)現(xiàn)不同數(shù)據(jù)庫之間的數(shù)據(jù)信息資源、硬件設(shè)備資源和人力資源的合并和共享。其中關(guān)鍵的一點(diǎn)就是以局部數(shù)據(jù)庫模式為基礎(chǔ),建立全局的數(shù)據(jù)模式或全局外視圖。這種全局模式對(duì)于協(xié)調(diào)熱連軋各個(gè)控制區(qū)域,建立核心的事件動(dòng)作和分配系統(tǒng)尤為重要。 

        熱連軋過程控制系統(tǒng)基本可分為加熱爐控制區(qū)域、軋線控制區(qū)域、平整分卷控制區(qū)域及更高層次的生產(chǎn)管理區(qū)域。每一區(qū)域的數(shù)據(jù)庫中都有著自己的信息數(shù)據(jù),而通常核心的事件動(dòng)作和分配系統(tǒng)只關(guān)心主要的、為全局控制模式所描述的信息。一種數(shù)據(jù)庫通過接口技術(shù)獲取另外一種數(shù)據(jù)庫的實(shí)時(shí)信息,以驅(qū)動(dòng)相應(yīng)進(jìn)程執(zhí)行相應(yīng)的動(dòng)作,這種全局控制模式是一種好的解決方案。異類數(shù)據(jù)庫系統(tǒng)相互實(shí)時(shí)交換信息,并各自執(zhí)行自己的任務(wù),從而完成對(duì)對(duì)象的正確控制。

    3  數(shù)據(jù)的透明訪問

        異類數(shù)據(jù)訪問是困撓很多企業(yè)的問題。許多企業(yè)運(yùn)行幾個(gè)不同的數(shù)據(jù)庫系統(tǒng),每一個(gè)系統(tǒng)都存儲(chǔ)數(shù)據(jù)并有一套相應(yīng)運(yùn)行的應(yīng)用程序。將這些數(shù)據(jù)合并于一個(gè)數(shù)據(jù)庫系統(tǒng)往往是困難的,主要是因?yàn)椋涸谝粋€(gè)數(shù)據(jù)庫中運(yùn)行的許多應(yīng)用程序在另一個(gè)數(shù)據(jù)庫中或許沒有相應(yīng)的版本。在移植到一個(gè)統(tǒng)一的數(shù)據(jù)庫系統(tǒng)變得切實(shí)可行之前,各種異類數(shù)據(jù)庫需要協(xié)同工作。所面臨的挑戰(zhàn)就是要迅速、有效和經(jīng)濟(jì)地通過單一的應(yīng)用程序部署那些可能存在于許多不同系統(tǒng)中的數(shù)據(jù),從而提供一個(gè)全面的數(shù)據(jù)視圖而無需考慮是什么數(shù)據(jù)庫或者操作系統(tǒng)。

        對(duì)于異類數(shù)據(jù)庫系統(tǒng),實(shí)現(xiàn)數(shù)據(jù)共享應(yīng)當(dāng)實(shí)現(xiàn)數(shù)據(jù)的透明訪問。在異類數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)了數(shù)據(jù)的透明訪問,用戶就可以將異類數(shù)據(jù)庫系統(tǒng)看成普通的分布式數(shù)據(jù)庫系統(tǒng),用自己熟悉的數(shù)據(jù)處理語言去訪問數(shù)據(jù)庫,如同訪問一個(gè)數(shù)據(jù)庫系統(tǒng)一樣。

        Oracle 提供了兩種連通性解決方案以滿足迥然不同的數(shù)據(jù)訪問的需要。它們是 Generic Connectivity(一般連通性)和 Oracle Transparent Gateways(透明網(wǎng)關(guān))。有了這兩種解決方案,在異類分布式環(huán)境中從 Oracle 系統(tǒng)訪問任意數(shù)量的非 Oracle 系統(tǒng)成為可能。


    注:1、2均為異類數(shù)據(jù)庫之間的透明存取操作;3、4為利用通訊程序
        實(shí)現(xiàn)數(shù)據(jù)庫信息到其他進(jìn)程的事件傳遞,以完成事件驅(qū) 動(dòng)任務(wù)
        圖1  異類數(shù)據(jù)庫在一個(gè)控制系統(tǒng)內(nèi)通訊示意圖


    4  異類數(shù)據(jù)庫的互訪

        梅山熱軋加熱爐區(qū)域控制系統(tǒng),采用 Alpha ES40、OpenVMS 操作系統(tǒng),數(shù)據(jù)庫系統(tǒng)為Oracle 8.1.7;軋線區(qū)域、生產(chǎn)管理采用PC高檔服務(wù)器、Windows Advance Server 2000,數(shù)據(jù)庫系統(tǒng)為SQL Server 2000,Cluster結(jié)構(gòu);平整分卷控制區(qū)域,采用PC 服務(wù)器、Windows NT4.0,數(shù)據(jù)庫系統(tǒng)為Oracle 8.1.7。

        加熱爐區(qū)域與軋線區(qū)域、生產(chǎn)管理之間需要實(shí)時(shí)交換大量信息。

        軋制計(jì)劃數(shù)據(jù)、板坯數(shù)據(jù)、裝爐實(shí)際數(shù)據(jù)、板坯吊銷、休爐數(shù)據(jù)、出爐數(shù)據(jù)、粗軋出口溫度數(shù)據(jù)、鋼卷軋制完成數(shù)據(jù)等等。由于有網(wǎng)關(guān)技術(shù)的支持,在一種數(shù)據(jù)庫中,我們可以按如下方法對(duì)另一種數(shù)據(jù)庫進(jìn)行透明訪問:

        從SQL Server 2000 向 Oracle 8i 數(shù)據(jù)表中寫入數(shù)據(jù):

        INSERT INTO FURN2..FUR2.X_PDI_RPDT SELECT *, INS_TIME = GETDATE() FROM Furnace.dbo.D02R_View WHERE roll_prg_no = @schedID

        從Oracle 8i向SQL Server 2000數(shù)據(jù)表中寫入數(shù)據(jù):
    insert into
    x_fce_discharge_slab@furnace
                    (roll_prg_no?slab_no?coil_no?discharge_time?
     furnace_num?column_no?slab_no_next?coil_no_next?
     furnace_num_next?column_no_next?   values(var_roll_prg_no,var_slab_no,var_coil_no,
    var_lift_time_char,var_fce_no,var_fce_column,
    var_slab_no_next,var_coil_no_next,
    var_fce_num_next,var_fce_column_next);
    COMMIT;

        正常情況下,上述操作會(huì)正確的完成異類數(shù)據(jù)庫的訪問。但如果發(fā)生目的數(shù)據(jù)庫的計(jì)算機(jī)處于斷電或數(shù)據(jù)鏈路存在故障的情況下,此操作將會(huì)導(dǎo)致任務(wù)異常終止。因此,異類數(shù)據(jù)庫互訪中的容錯(cuò)設(shè)計(jì)就顯得非常重要。在Oracle中可以采用如下方法:

        先對(duì)要操作的數(shù)據(jù)表進(jìn)行查詢操作,以測(cè)試該鏈路是否暢通,如鏈路不通,做相應(yīng)的動(dòng)作。
    select count(*) into mem_count from
    x_fce_discharge_slab@furnace;
    EXCEPTION
      WHEN others THEN
      ROLLBACK;

    5  由異類數(shù)據(jù)庫信息觸發(fā)應(yīng)用進(jìn)程

        在異類數(shù)據(jù)庫實(shí)現(xiàn)成功訪問的基礎(chǔ)上,必須將相應(yīng)信息轉(zhuǎn)化為事件,從而驅(qū)動(dòng)其他應(yīng)用進(jìn)程工作。該機(jī)制是實(shí)現(xiàn)控制的關(guān)鍵。如加熱爐出鋼信息從加熱爐Oracle數(shù)據(jù)庫寫入到軋線SQL Server 數(shù)據(jù)庫后,為了能實(shí)時(shí)的處理,采用數(shù)據(jù)庫觸發(fā)器技術(shù),利用句柄(Handle),將對(duì)應(yīng)的信息通過擴(kuò)展存貯過程傳遞給其他控制進(jìn)程,如IODbService、Piece Director等,從而啟動(dòng)模型course 0計(jì)算。

        EXECUTE dbo.sp_sendevent @handle=

    熱點(diǎn)新聞

    推薦產(chǎn)品

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



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