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

    案例頻道

    企業(yè)生產(chǎn)數(shù)據(jù)報(bào)表集成方式
    • 企業(yè):控制網(wǎng)     領(lǐng)域:工控機(jī)     行業(yè):綜合    
    • 點(diǎn)擊數(shù):4123     發(fā)布時(shí)間:2009-12-15 12:24:34
    • 分享到:








        王銳 (1969-)

        男,畢業(yè)于西安理工大學(xué),從事自動(dòng)化控制及企業(yè)信息化工作,現(xiàn)就職于金川集團(tuán)公司自動(dòng)化研究所。



        摘  要:信息化在有色企業(yè)生產(chǎn)報(bào)表處理中的應(yīng)用越來(lái)越廣泛,但如何更有效的達(dá)到企業(yè)級(jí)MES平臺(tái)上的生產(chǎn)數(shù)據(jù)集成與數(shù)據(jù)共享,最大限度地消除信息孤島,仍是值得研究和探討的。本文在對(duì)行業(yè)生產(chǎn)報(bào)表詳細(xì)分析的基礎(chǔ)上,介紹了B/S架構(gòu)下生產(chǎn)報(bào)表的實(shí)現(xiàn)方式,并針對(duì)采用C#、Oracle編程實(shí)現(xiàn)報(bào)表的關(guān)鍵技術(shù)進(jìn)行了詳細(xì)分析,給出了在某有色企業(yè)“煙氣制酸”節(jié)能減排實(shí)踐中的一種行之有效的報(bào)表處理方法。

         關(guān)鍵詞:有色企業(yè);MES;生產(chǎn)報(bào)表;節(jié)能減排;C#;Oracle編程

         Abstract: According to production statements in Chinese nonferrous metal enterprises, Information technology has been more and more widely used. But it is also worthy of studying ,how to realize the whole Enterprise data integration and sharing on the platform of  MES and thus to erase information silo. In this paper, based on a detail analysis of production statement, we introduce the implementation approach of production statement under B/S frame. In addition, we detail some key programming technology for implementing statements ,such as C#、Oracle Programming etc . Furthermore, we give an effective method to deal with the statements in energy conserving and emission reducing of one enterprise.

         Key words: nonferrous metal enterprises; MES; production statements; energy conserving and emission reducing; C#; Oracle Programming

         1 引言

        在我國(guó)有色企業(yè)實(shí)現(xiàn)“由大到強(qiáng)”轉(zhuǎn)變的關(guān)鍵時(shí)期,實(shí)現(xiàn)結(jié)構(gòu)調(diào)整、節(jié)能降耗是實(shí)現(xiàn)經(jīng)濟(jì)增長(zhǎng)方式轉(zhuǎn)變,加快企業(yè)國(guó)際化和可持續(xù)發(fā)展步伐的重要內(nèi)涵。

        MES位于企業(yè)ERP(計(jì)劃層)/MES(執(zhí)行層)/PLC(控制層)三層架構(gòu)的中間一層,它運(yùn)用及時(shí)、準(zhǔn)確的信息,指導(dǎo)、啟動(dòng)并記錄工廠活動(dòng),從而能夠?qū)l件作出迅速響應(yīng),減少非增值活動(dòng),提高工廠運(yùn)作過(guò)程的效率。起著承上啟下,填補(bǔ)計(jì)劃層與控制層信息斷層的關(guān)鍵橋梁作用[1]。

        在金川公司MES層級(jí)的“煙氣制酸”生產(chǎn)監(jiān)控與調(diào)度系統(tǒng)的開(kāi)發(fā)過(guò)程中,涉及兩個(gè)生產(chǎn)二級(jí)子廠的12個(gè)主車間大量生產(chǎn)數(shù)據(jù),之前,生產(chǎn)用戶一直采用紙質(zhì)報(bào)表、電話問(wèn)詢、人工統(tǒng)計(jì)、手抄記錄的方式處理生產(chǎn)數(shù)據(jù)。報(bào)表制作復(fù)雜,信息滯后且缺乏準(zhǔn)確、實(shí)時(shí)性。生產(chǎn)數(shù)據(jù)成為孤島、生產(chǎn)管理與生產(chǎn)現(xiàn)場(chǎng)斷層問(wèn)題較為嚴(yán)重。因此,對(duì)于企業(yè)-二級(jí)子廠-車間系統(tǒng)三級(jí)用戶,生產(chǎn)信息的集成、共享與分級(jí)顯示成為亟待解決的問(wèn)題。

        本文在金川集團(tuán)公司 “煙氣制酸”生產(chǎn)監(jiān)控與調(diào)度系統(tǒng)的開(kāi)發(fā)過(guò)程中,針對(duì)MES層生產(chǎn)報(bào)表信息集成與數(shù)據(jù)共享問(wèn)題,在B/S架構(gòu)下采用C#面向Office編程技術(shù)[2]以及Oracle編程技術(shù)[3],有效地解決了傳統(tǒng)紙質(zhì)報(bào)表所導(dǎo)致的信息難于共享、缺乏實(shí)效性、制作復(fù)雜等諸多問(wèn)題。在該企業(yè)節(jié)能減排,綜合治理過(guò)程中較好地體現(xiàn)了企業(yè)信息化所帶來(lái)的應(yīng)有的價(jià)值。

        2 生產(chǎn)報(bào)表實(shí)現(xiàn)方法

        2.1 生產(chǎn)報(bào)表分類

        按照生產(chǎn)報(bào)表所依據(jù)的數(shù)據(jù)來(lái)源,可以分為實(shí)時(shí)監(jiān)控報(bào)表和生產(chǎn)管理報(bào)表兩個(gè)類別。

        實(shí)時(shí)監(jiān)控報(bào)表,其數(shù)據(jù)來(lái)源主要是實(shí)時(shí)生產(chǎn)數(shù)據(jù)(一般為分鐘或小時(shí)級(jí)),這些數(shù)據(jù)都可以從控制層各分散DCS/PLC系統(tǒng)中,通過(guò)OPC等傳輸協(xié)議組態(tài)到統(tǒng)一的實(shí)時(shí)數(shù)據(jù)庫(kù)平臺(tái)中,然后再由實(shí)時(shí)數(shù)據(jù)庫(kù)通過(guò)組態(tài)提取到報(bào)表單元格中。
    生產(chǎn)管理報(bào)表,主要是無(wú)法從控制層自動(dòng)化設(shè)備上直接獲取,需要人工錄入的生產(chǎn)管理、計(jì)劃、銷售類數(shù)據(jù)以及少量涉及主要生產(chǎn)指標(biāo)的,可以從實(shí)時(shí)數(shù)據(jù)庫(kù)提取到的實(shí)時(shí)數(shù)據(jù),這些實(shí)時(shí)數(shù)據(jù)實(shí)時(shí)性要求不高(一般為班、日級(jí)),而且多數(shù)要經(jīng)統(tǒng)計(jì)計(jì)算處理后才可使用。

        2.2 系統(tǒng)架構(gòu)

        該系統(tǒng)采用“瘦”客戶端的B/S三層架構(gòu),報(bào)表的編輯和使用都可以通過(guò)瀏覽器方式直接處理,所有程序、數(shù)據(jù)存儲(chǔ)在服務(wù)器端,而無(wú)需依賴于客戶端軟件,減少了軟件維護(hù)量,增大了系統(tǒng)安全性、可維護(hù)性與穩(wěn)定性。
                  

        如圖1所示,實(shí)時(shí)數(shù)據(jù)庫(kù)(RTDBS)將實(shí)時(shí)數(shù)據(jù)從各控制系統(tǒng)提取上來(lái),在支持實(shí)時(shí)報(bào)表的同時(shí),也為關(guān)系數(shù)據(jù)庫(kù)提供所需的歷史實(shí)時(shí)數(shù)據(jù)。其他數(shù)據(jù)存入關(guān)系數(shù)據(jù)庫(kù)(RDBMS)中。RTDBS與RDBMS之間通過(guò)數(shù)據(jù)庫(kù)中間件交互。關(guān)系數(shù)據(jù)庫(kù)與邏輯層之間通過(guò)Oracle PL/SQL程序包將數(shù)據(jù)處理之后進(jìn)行交互。用戶對(duì)生產(chǎn)報(bào)表的編輯和瀏覽完全可以只通過(guò)帶有瀏覽器的客戶端進(jìn)行訪問(wèn)。報(bào)表操作簡(jiǎn)單易用,數(shù)據(jù)交互效率較高。

        2.3 報(bào)表格式

        采用帶有一定普遍意義的Office Excel格式。編輯、訪問(wèn)、下載、局部化修改、打印等更加符合用戶傳統(tǒng)習(xí)慣。編程時(shí)采用C#語(yǔ)言面向Office編程的相關(guān)方法,先定義好所需的報(bào)表模板,通過(guò)提取模板中不同WorkSheet各單元格關(guān)鍵字并嵌入相應(yīng)SQL語(yǔ)句的方式,與數(shù)據(jù)庫(kù)進(jìn)行交互。

        2.4 編輯方式

        編輯某個(gè)車間特定的報(bào)表模板時(shí),將模板(xls格式)文件分為多個(gè)WorkSheet工作表,如圖2所示,Report工作表負(fù)責(zé)為用戶呈現(xiàn)報(bào)表內(nèi)容,排版格式與該車間之前使用的紙質(zhì)報(bào)表基本一致,只是做了少量有利于信息化處理的修改。Field工作表存放Report中需要從數(shù)據(jù)庫(kù)提取數(shù)據(jù)的單元格映射,其格式主要是Key-Value鍵值對(duì)。同時(shí),F(xiàn)ield又將其自身的與Report單元格映射過(guò)的單元格重新映射到圖2中其他Sheet各單元格中,因此它在Report與后續(xù)Sheet之間起著承上啟下數(shù)據(jù)傳輸?shù)淖饔谩lobal中存放報(bào)表處理程序訪問(wèn)該報(bào)表時(shí)需要提取的全局化關(guān)鍵字,例如報(bào)表日期、所屬部門(mén)、報(bào)表頻次等。

        其他Sheet用于通過(guò)指標(biāo)關(guān)鍵字,依據(jù)不同的頻次、部門(mén),從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)并將數(shù)據(jù)映射回Field中,例如“DCL_MORNING_SHEET(頂吹爐早班數(shù)據(jù)項(xiàng))”、“SSL_MONTH(閃速爐月數(shù)據(jù))”等。采用B/S架構(gòu)下的面向Office編程技術(shù),通過(guò)不同關(guān)鍵字提取,依次訪問(wèn)相應(yīng)的Sheet單元格,這樣就可以將數(shù)據(jù)庫(kù)中該報(bào)表需要的數(shù)據(jù)提取到Report相應(yīng)單元格中,并最終向用戶呈現(xiàn)攜帶生產(chǎn)數(shù)據(jù)的特定報(bào)表。

        對(duì)于Sheet中Key,舉例說(shuō)明:Date,用于獲取報(bào)表時(shí)間;TableName,用于獲取Oracle數(shù)據(jù)庫(kù)中存儲(chǔ)相應(yīng)數(shù)據(jù)的數(shù)據(jù)表名稱;TagCode,用于獲取指標(biāo)代碼并填入SQL語(yǔ)句;Dep_Code,用于獲取指標(biāo)部門(mén)關(guān)鍵字;Frequency,用于獲取指標(biāo)頻次(班、日、旬、月、季、年數(shù)據(jù));Freq_Optio,用于獲取班數(shù)據(jù)頻次(早、中、晚班數(shù)據(jù))。

        Date/TagCode/Dep_Code/Frequency/Freq_Optio關(guān)鍵字將會(huì)唯一確定報(bào)表中一個(gè)數(shù)據(jù)單元格的值。

                

        2.5 執(zhí)行過(guò)程

        報(bào)表編輯、訪問(wèn)執(zhí)行過(guò)程如圖3所示,不再贅述。

               

        3 問(wèn)題及處理

        3.1 報(bào)表-數(shù)據(jù)庫(kù)交互過(guò)慢問(wèn)題

        C#程序通過(guò)引入Microsoft.Office.Interop.Excel等Excel文件操作類,可以實(shí)現(xiàn)報(bào)表和數(shù)據(jù)庫(kù)之間的數(shù)據(jù)傳輸,采用Filter將攜帶數(shù)據(jù)的報(bào)表以Excel文件的形式通過(guò)瀏覽器呈現(xiàn)給用戶。這種方式在實(shí)際應(yīng)用中,因?yàn)槊總€(gè)車間報(bào)表都包含大量指標(biāo)數(shù)據(jù)信息,而每次調(diào)用報(bào)表,該報(bào)表中每個(gè)數(shù)據(jù)項(xiàng)都會(huì)創(chuàng)建一個(gè)SQL語(yǔ)句,訪問(wèn)數(shù)據(jù)庫(kù)并獲取該指標(biāo)數(shù)據(jù)。這樣大量且頻繁的數(shù)據(jù)項(xiàng)訪問(wèn),耗費(fèi)大量系統(tǒng)資源,用戶體驗(yàn)較差。通過(guò)測(cè)試,僅500個(gè)數(shù)據(jù)項(xiàng)的一張報(bào)表,訪問(wèn)一次時(shí)間就要達(dá)到25-35分鐘時(shí)間。這樣的時(shí)間耗費(fèi),在實(shí)際中根本無(wú)法使用。針對(duì)這種問(wèn)題,我們?cè)谠擁?xiàng)目中采用如下兩種解決方法。

        (1)將用戶訪問(wèn)過(guò)的報(bào)表所產(chǎn)生的HTML臨時(shí)文件保存在服務(wù)器ReportHtml文件夾中(如“頂吹爐車間生產(chǎn)日?qǐng)?bào)2008-03-12.html”),并將用戶訪問(wèn)過(guò)的特定報(bào)表(Excel格式)自動(dòng)下載到服務(wù)器ReportArchive文件夾備份起來(lái)(如“頂吹爐車間生產(chǎn)日?qǐng)?bào)2008-03-12.xls”)。

        這樣,采用C#語(yǔ)句判斷用戶訪問(wèn),如果用戶訪問(wèn)的報(bào)表已經(jīng)存在于上述文件夾中,則不再重新訪問(wèn)數(shù)據(jù)庫(kù),自動(dòng)從上述文件夾中提取報(bào)表顯示。否則執(zhí)行C#程序中Generate()和LoadReport()等報(bào)表生成程序。這樣就將報(bào)表二次訪問(wèn)的時(shí)間縮減到秒級(jí)。但這種方法使用的前提只能是在報(bào)表數(shù)據(jù)沒(méi)有更新的情況下,否則哪怕整張報(bào)表只有一個(gè)數(shù)據(jù)項(xiàng)做了更新,所有數(shù)據(jù)項(xiàng)仍要重新與數(shù)據(jù)庫(kù)交互一遍,以確認(rèn)更新數(shù)據(jù)。

        (2)采用ORACLE存儲(chǔ)過(guò)程PL/SQL中Package包編程的方式。每次用戶訪問(wèn)特定報(bào)表時(shí),Web應(yīng)用程序?qū)⒃搱?bào)表所需數(shù)據(jù)項(xiàng)信息集中收集起來(lái),并傳遞給相應(yīng)Package程序,PL/SQL程序包將這些指標(biāo)信息所需SQL語(yǔ)句打包,一次性訪問(wèn)相應(yīng)TABLE中的COLUMN,并將獲取的指標(biāo)數(shù)據(jù)存儲(chǔ)在臨時(shí)表中,然后一次性的返回到WEB程序中,再填入該報(bào)表各數(shù)據(jù)項(xiàng),最終呈現(xiàn)給用戶。這種方式,避免了以往每個(gè)數(shù)據(jù)項(xiàng)都要單獨(dú)訪問(wèn)數(shù)據(jù)庫(kù),占用大量系統(tǒng)資源的問(wèn)題,無(wú)論一張報(bào)表需要交互的數(shù)據(jù)項(xiàng)多少,都相當(dāng)于只執(zhí)行一次ORACLE查詢所需的時(shí)間,從而有效解決了數(shù)據(jù)訪問(wèn)效率的問(wèn)題。通過(guò)測(cè)試,采用這種處理方式后,每張報(bào)表的訪問(wèn)顯示時(shí)間,亦縮短到秒級(jí)。

        3.2 報(bào)表數(shù)據(jù)錄入-顯示隔離的問(wèn)題

        為了便于用戶使用、下載、編輯、局部化修改和打印等操作,生產(chǎn)數(shù)據(jù)采用Web瀏覽器下的xls文件顯示的方式。這就給報(bào)表數(shù)據(jù)的在線錄入造成阻礙。同時(shí)用戶也要求數(shù)據(jù)的錄入和顯示必須隔離,以充分保證數(shù)據(jù)安全性。該系統(tǒng)中,為用戶提供了一個(gè)簡(jiǎn)潔的生產(chǎn)指標(biāo)數(shù)據(jù)錄入界面。通過(guò)權(quán)限分配,指定各車間專人負(fù)責(zé)數(shù)據(jù)錄入。而報(bào)表顯示權(quán)限則由另外的權(quán)限分配確定。錄入的數(shù)據(jù)以指標(biāo)關(guān)鍵字、日期、頻次、值的方式存入數(shù)據(jù)庫(kù)表中,需要時(shí)再由報(bào)表模板通過(guò)C#程序和PL/SQL程序聯(lián)合檢索獲取。這樣就有效地解決了生產(chǎn)數(shù)據(jù)錄入、顯示的安全隔離問(wèn)題。

        3.3 車間記事等文字信息的問(wèn)題

        車間記事涉及到大量非數(shù)字?jǐn)?shù)據(jù),這些數(shù)據(jù)無(wú)需統(tǒng)計(jì)分析,但數(shù)據(jù)量較大,宜于采用BLOB文本字段的形式存取。為提高交互效率,單獨(dú)為其建立Table,與其他數(shù)字型指標(biāo)信息區(qū)分開(kāi),以提高訪問(wèn)效率。

        3.4 生產(chǎn)相關(guān)實(shí)時(shí)數(shù)據(jù)獲取問(wèn)題

        生產(chǎn)管理型報(bào)表中,一般會(huì)涉及少量實(shí)時(shí)數(shù)據(jù)信息,這些指標(biāo)信息具有如下特點(diǎn),時(shí)效性要求不是很高,一般為班次(8或12小時(shí)一次);有對(duì)應(yīng)的實(shí)時(shí)位號(hào),可以直接從實(shí)時(shí)數(shù)據(jù)庫(kù)中獲取;一般需要對(duì)實(shí)時(shí)數(shù)據(jù)庫(kù)中的數(shù)據(jù)做累加、平均、取最大、最小、方差等統(tǒng)計(jì)處理。

        以往的做法是,監(jiān)控員通過(guò)HMI界面讀取實(shí)時(shí)數(shù)據(jù),每隔1~2個(gè)小時(shí)記錄一次,統(tǒng)計(jì)員通過(guò)電話詢問(wèn)方式獲取該位號(hào)特定時(shí)間間隔的值列表,統(tǒng)計(jì)計(jì)算出最終數(shù)據(jù),填入紙質(zhì)報(bào)表。這種方法效率低下,統(tǒng)計(jì)時(shí)間間隔較大(小時(shí)級(jí)),數(shù)據(jù)無(wú)法精確,人為因素多,費(fèi)時(shí)費(fèi)力。我們?cè)谠撓到y(tǒng)中,將生產(chǎn)管理報(bào)表中所需的這類數(shù)據(jù)所對(duì)應(yīng)的實(shí)時(shí)數(shù)據(jù),組態(tài)到實(shí)時(shí)數(shù)據(jù)庫(kù)中,實(shí)時(shí)數(shù)據(jù)庫(kù)從控制系統(tǒng)中獲取這些指標(biāo)的秒級(jí)數(shù)據(jù),并存儲(chǔ)在歷史數(shù)據(jù)庫(kù)中,采用數(shù)據(jù)庫(kù)中間件編程方式,將這些實(shí)時(shí)秒級(jí)數(shù)據(jù)依據(jù)報(bào)表需求(班級(jí)/日級(jí),累加/平均/取最大/方差等),統(tǒng)計(jì)分析出最終結(jié)果,以REALTAG-DATE-VALUE關(guān)鍵字組合方式存入Oracle數(shù)據(jù)表中。

        4 綜述

        傳統(tǒng)的控制系統(tǒng)信息孤島所導(dǎo)致的紙質(zhì)報(bào)表,電話問(wèn)詢,人工統(tǒng)計(jì)的方式,在現(xiàn)在工業(yè)生產(chǎn)中,存在信息滯后、效率低下、人為因素多等諸多問(wèn)題,無(wú)法適用于現(xiàn)代高度自動(dòng)化的生產(chǎn)流程,制約規(guī)模化、精細(xì)化生產(chǎn)發(fā)展。在本文相關(guān)科研項(xiàng)目的研究中,有效地解決了某有色企業(yè)“煙氣制酸”相關(guān)流程中存在的上述問(wèn)題。通過(guò)該項(xiàng)目的實(shí)施,管理者坐在電腦前,便可以看到各個(gè)二級(jí)廠礦的精確及時(shí)的生產(chǎn)狀況信息,該企業(yè)煙氣制酸生產(chǎn)能力有了大幅度的提高,管理更加科學(xué)而富有時(shí)效性。有效降低有色冶煉煙氣排放量的同時(shí),年制酸生產(chǎn)能力也有了顯著增強(qiáng)。達(dá)到了節(jié)能減排和增加效益的雙重效果,是有效利用現(xiàn)代MES理念和信息化、自動(dòng)化手段,解決精細(xì)化作業(yè)和實(shí)現(xiàn)企業(yè)增收節(jié)支、滿足可持續(xù)發(fā)展需求的一次較好的嘗試。目前該科研項(xiàng)目已進(jìn)入實(shí)際運(yùn)行階段,各相關(guān)生產(chǎn)管理部門(mén)、生產(chǎn)單位使用狀況良好。

        后續(xù)工作準(zhǔn)備將該系統(tǒng)向該企業(yè)其他相關(guān)生產(chǎn)單位的推廣和連接,以達(dá)到MES平臺(tái)一級(jí)的信息共享和集成,最終實(shí)現(xiàn)整個(gè)集團(tuán)公司平臺(tái)上的ERP、MES、PLC三層架構(gòu)整體信息集成,消除企業(yè)信息孤島和信息斷層狀況。為集團(tuán)公司國(guó)際化經(jīng)營(yíng)戰(zhàn)略奠定信息化基礎(chǔ)。

        參考文獻(xiàn):

        [1] 孫彥廣等. 流程工業(yè)制造執(zhí)行系統(tǒng)[M]. 北京: 化學(xué)工業(yè)出版社,2006.

        [2] Christian Nagel. Bill Evjen. JanGlynn etal. Professional C# 2005. John Wiley & Sons,Inc. 2006.

        [3] 谷長(zhǎng)勇,王彬,陳杰等. Oracle 11G權(quán)威指南[M]. 北京: 電子工業(yè)出版社,2008.


                                                          ——轉(zhuǎn)自《自動(dòng)化博覽》


    熱點(diǎn)新聞

    推薦產(chǎn)品

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



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