郭廣豐,鄔海燕
(1.包頭師范學院網絡信息中心,包頭 014030;2.內蒙古新聯(lián)信息產業(yè)有限公司,包頭 014010)
包鋼煉鋼廠檢化驗數(shù)據(jù)采集系統(tǒng)的設計與開發(fā)
郭廣豐1,鄔海燕2
(1.包頭師范學院網絡信息中心,包頭 014030;2.內蒙古新聯(lián)信息產業(yè)有限公司,包頭 014010)
針對包鋼煉鋼廠的實際需求,基于.NET技術,開發(fā)檢化驗數(shù)據(jù)采集系統(tǒng)。實現(xiàn)自動采集化驗數(shù)據(jù),并將化驗數(shù)據(jù)實時存儲到三級系統(tǒng)數(shù)據(jù)庫,實時、準確地將其發(fā)送給現(xiàn)場顯示屏。企業(yè)在使用檢化驗數(shù)據(jù)采集系統(tǒng)后,降低現(xiàn)場工作人員的勞動量,提高產品質量、縮短生產運行時間、降低生產成本。
檢化驗數(shù)據(jù)采集系統(tǒng);.NET技術;自動采集
檢化驗數(shù)據(jù)是現(xiàn)代化鋼鐵企業(yè)生產信息的重要組成部分。隨著現(xiàn)代信息技術的不斷進步,檢化驗數(shù)據(jù)借助企業(yè)內部先進的信息網絡,通過不斷完善的管理系統(tǒng)滲透到企業(yè)的生產、管理、研發(fā)等各個層面,因此數(shù)字化的檢化驗系統(tǒng)在企業(yè)發(fā)展中顯得愈發(fā)重要[1]。檢化驗數(shù)據(jù)主要來源于檢化驗設備,目前鋼鐵企業(yè)基本上都配備有檢化驗設備,如德國OBLF公司生產的QSN750型的直讀光譜儀、ARL4460光譜儀等。雖然這些設備和配套軟件已經具有良好的特性,但在分析數(shù)據(jù)的遠端傳送方面實時性不高,不能滿足現(xiàn)代企業(yè)高速信息化的要求[2]。
為此,本文以包鋼煉鋼廠為背景,按照工藝要求和現(xiàn)場條件,在原化驗儀器自帶軟件的基礎上設計出相應的檢化驗數(shù)據(jù)采集系統(tǒng)。
包鋼煉鋼廠設有中心化驗室,它集中了檢化驗大部分的精密儀器,如熒光儀、直讀光譜儀等,檢化驗數(shù)據(jù)都由中心化驗室提供,對來自不同工序(轉爐、精煉爐以及連鑄機等)的試樣進行化驗分析,得到試樣的化學成分值,然后將這些數(shù)據(jù)發(fā)送給相應的工序,各個工序根據(jù)接收到的數(shù)據(jù)進行成分調整,以便達到相應的冶煉工藝要求,生產出優(yōu)質鋼材。所以中心化驗室的數(shù)據(jù)分析和發(fā)送要保證準確性、實時性。
要求系統(tǒng)實時獲得中心化驗室各儀器的檢化驗數(shù)據(jù),根據(jù)煉鋼生產過程化驗樣品的爐號,將化驗結果實時傳送到相應爐座的LED顯示屏;另外,寫入三級數(shù)據(jù)庫,在轉爐、精煉爐、連鑄等控制室,操作人員可通過計算機及時查詢樣品的化驗數(shù)據(jù)。
2.1 采集系統(tǒng)的結構
根據(jù)包鋼煉鋼廠的實際,設計了檢化驗數(shù)據(jù)采集系統(tǒng),其拓撲結果如圖1所示。
中心化驗室有5臺化驗設備(OBLF全自動分析儀、ARL 4460-458、ARL 2460-399、ARL 4460-721、ARL 2460-377),其中ARL 4460-458、ARL 2460-399、ARL 4460-721、ARL 2460-377通過RS-232線纜與采集工作站的多串口卡相連,OBLF全自動分析儀通過雙絞線連接中心化驗室交換機。首先各化驗儀器將化驗結果自動發(fā)送給采集工作站,采集工作站自動對數(shù)據(jù)進行修約,并存儲到本地Access數(shù)據(jù)庫;然后將數(shù)據(jù)發(fā)送各現(xiàn)場LED顯示屏(其中1#、2#、3#、4#高爐、三精練、四精練與采集工作站的另一個多串口卡相連,8#和9#轉爐通過雙絞線連入企業(yè)生產網),并將數(shù)據(jù)寫入三級系統(tǒng)數(shù)據(jù)庫。在轉爐、精煉爐、連鑄等控制室,操作人員可通過計算機以Web方式訪問三級系統(tǒng)Web服務器,三級系統(tǒng)Web服務器讀取三級系統(tǒng)數(shù)據(jù)庫相應的樣品化驗數(shù)據(jù),這樣操作人員通過瀏覽器就可以查詢每個樣品的化驗數(shù)據(jù)了。
圖1 檢化驗數(shù)據(jù)采集系統(tǒng)拓撲圖
2.2 系統(tǒng)功能
檢化驗數(shù)據(jù)采集系統(tǒng)分為兩個子系統(tǒng):數(shù)據(jù)采集子系統(tǒng)(單機版)和Web查詢子系統(tǒng)(基于Web)。數(shù)據(jù)采集子系統(tǒng)部署在采集工作站上,自動采集各化驗設備發(fā)送的化驗數(shù)據(jù),發(fā)送給各顯示屏,并寫入三級系統(tǒng)數(shù)據(jù)庫。Web查詢子系統(tǒng)部署在三級系統(tǒng)Web服務器上,數(shù)據(jù)來源于三級系統(tǒng)數(shù)據(jù)庫,操作人員可通過Web查詢子系統(tǒng)查詢每個樣品的化驗數(shù)據(jù)。
(1)數(shù)據(jù)采集子系統(tǒng)的功能
①數(shù)據(jù)采集
自動采集5臺化驗設備傳送的數(shù)據(jù)。
②修約參數(shù)設置
實現(xiàn)修約位數(shù)自定義、修約值定義的功能。
③數(shù)據(jù)修約
實現(xiàn)依據(jù)修約值對采集到的數(shù)據(jù)進行修約的功能。
④上傳數(shù)據(jù)至三級系統(tǒng)數(shù)據(jù)庫
將修約后的數(shù)據(jù)存儲到三級系統(tǒng)數(shù)據(jù)庫中。
⑤數(shù)據(jù)傳送至現(xiàn)場LED
根據(jù)試樣號將化驗數(shù)據(jù)傳送至相應的爐前屏幕,供現(xiàn)場的工作人員參考。
⑥歷史化驗數(shù)據(jù)查詢
根據(jù)條件查詢歷史數(shù)據(jù)。
⑦修約前數(shù)據(jù)查詢
修約前化驗數(shù)據(jù)可在此查詢,方便與修約后數(shù)據(jù)對比。
⑧端口和網絡連接調試
連接現(xiàn)場屏幕的狀態(tài)測試,方便維修人員確認問題。
⑨數(shù)據(jù)清理功能
本地存儲的數(shù)據(jù)量過大時會影響程序運行速度,提供根據(jù)錄入日期清理數(shù)據(jù)功能,方便維護人員操作。
⑩日志記錄
程序運行日志,提供常見異常提示。
(2)Web查詢子系統(tǒng)的功能
Web查詢子系統(tǒng)供轉爐、精煉爐、連鑄等控制室的操作人員方便查詢每個樣品的化驗數(shù)據(jù)而開發(fā)的,主要有3個功能:
①數(shù)據(jù)查詢
根據(jù)試樣號或某一時間段,查詢每個樣品的化驗數(shù)據(jù)。
②數(shù)據(jù)清理功能
根據(jù)錄入日期,清理三級系統(tǒng)數(shù)據(jù)庫的歷史化驗數(shù)據(jù)。
③用戶管理
對使用Web查詢子系統(tǒng)的用戶進行管理,提供修改密碼、添加用戶、分配權限等功能。
數(shù)據(jù)采集子系統(tǒng)基于單機運行,部署在采集工作站上,作為服務程序駐留在采集工作站的內存中;采集程序采用VB.NET開發(fā),本地數(shù)據(jù)庫選用Access數(shù)據(jù)庫,三級數(shù)據(jù)庫選用Oracle數(shù)據(jù)庫。Web查詢子系統(tǒng)使用ASP.NET技術開發(fā),使用ADO.NET讀取三級數(shù)據(jù)庫的化驗數(shù)據(jù)。
在數(shù)據(jù)采集子系統(tǒng)設計時,考慮到化驗儀器傳送數(shù)據(jù)時可能會遇到網絡不通或者三級數(shù)據(jù)庫關閉的情況,采用兩級數(shù)據(jù)存儲的方式,即數(shù)據(jù)采集程序先將化驗儀器傳送數(shù)據(jù)存儲到本地Access數(shù)據(jù)庫,然后再將數(shù)據(jù)寫入三級數(shù)據(jù)庫。遇到上述網絡不通或者三級數(shù)據(jù)庫關閉的情況,可以用“手動按鈕”向三級數(shù)據(jù)庫逐條補錄入數(shù)據(jù)。
4.1 自動采集功能的實現(xiàn)
中心化驗室有5臺化驗設備,品牌型號各異,遵守的接口協(xié)議也不同,數(shù)據(jù)傳送應答方式不統(tǒng)一。其中ARL 4460-458、ARL 2460-399、ARL 4460-721、ARL 2460-377采用RS-232通過RS-232線纜與采集工作站的多串口卡相連,通過COM口傳入數(shù)據(jù);OBLF全自動分析儀通過雙絞線連接中心化驗室交換機,通過RJ-45網口傳入數(shù)據(jù)。因此,需要針對不同的化驗儀器,編寫不同的采集代碼,需要編寫兩種不同類型的代碼,即COM采集和RJ-45網口采集。
(1)從COM口采集數(shù)據(jù)功能的實現(xiàn)
COM采集的實現(xiàn),通過.NET自帶的SerialPort控件實現(xiàn),并編寫相應的DataReceived事件的處理方法。在Form_Load方法中,設置SerialPort控件的Port-Name、BaudRate、ReadBufferSize等屬性,并使用Open()方法與化驗設備建立連接,并給SerialPort控件添加DataReceived事件的處理方法。在DataReceived事件的處理方法中,從緩沖區(qū)讀取傳來的數(shù)據(jù),根據(jù)每個儀器相應讀寫規(guī)程,向儀器發(fā)送控制字,最終將化驗數(shù)據(jù)接收下來。
(2)從RJ-45網口采集數(shù)據(jù)功能的實現(xiàn)
OBLF全自動分析儀采用TCP協(xié)議傳輸數(shù)據(jù),全自動分析儀作為TCP服務器端,因此需要編寫TCP客戶端程序來實現(xiàn)采集功能。編寫接收數(shù)據(jù)的方法(如ReciveMsg),使用Socket對象的Receive方法接收數(shù)據(jù);在Form_Load方法中,建立Socket對象,使用Con nect()方法建立與分析設備的TCP連接,使用New Thread(AddressOf ReciveMsg)指定一個方法建立接收數(shù)據(jù)線程,使用起start()方法開始運行該線程。這樣就可以采集到OBLF全自動分析儀傳送的化驗數(shù)據(jù)了。
4.2 處理功能的實現(xiàn)
接收到化驗設備傳送的化驗數(shù)據(jù)后,數(shù)據(jù)采集子系統(tǒng)需要根據(jù)用戶設定的參數(shù)對每一個數(shù)據(jù)進行規(guī)約處理。由于要處理的化驗數(shù)據(jù)來自不同設備,其數(shù)據(jù)的結構也不同,如果直接做修約處理,就需要針對每個設備分別編寫處理程序,勢必會造成代碼量劇增,后期維護困難。為了解決上述問題,定義了一個特殊的字符串buuf,把各元素的測量值存入buuf,逗號作為分割,并規(guī)定了每個元素測量值的位置。這樣從化驗設備傳送來的不同結構的化驗數(shù)據(jù)先都存入結構相同的buuf字符串中,然后針對buuf字符串中的數(shù)據(jù)做修約處理;這樣編寫一個修約處理程序,實現(xiàn)對不同結構的化驗數(shù)據(jù)規(guī)約,屏蔽了不同儀器的化驗數(shù)據(jù)的結構差異,大大提高了代碼復用,后期維護變得容易了很多。
4.3 數(shù)據(jù)的存儲
使用OleDbConnection、OleDbCommand對象讀寫本地Access數(shù)據(jù)庫;在使用采集工作站上安裝Oracle客戶端,使用OracleConnection、OracleCommand對象讀寫三級Oracle數(shù)據(jù)庫。化驗數(shù)據(jù)先存儲到本地Access數(shù)據(jù)庫,然后再寫入三級Oracle數(shù)據(jù)庫。這樣就解決了上述網絡不通或者三級數(shù)據(jù)庫關閉的情況下,化驗數(shù)據(jù)傳送丟失的問題。如果發(fā)生上述問題,可以用“手動按鈕”向三級數(shù)據(jù)庫逐條補錄入數(shù)據(jù)。收到化驗數(shù)據(jù)后,存入結構相同的buuf字符串中,先將各元素含量值分別存入原始數(shù)據(jù)存入ZL_CHEMICAL_REPORT_XYQ數(shù)據(jù)表;然后針對buuf字符串中的數(shù)據(jù)做修約處理,把各元素含量值修約后的值存入另一個數(shù)據(jù)表ZL_CHEMICAL_REPORT,而后寫入三級Oracle數(shù)據(jù)庫。
修約前數(shù)據(jù)查詢功能的實現(xiàn),就是同時從這兩張表中提取原始數(shù)據(jù)和規(guī)約后的數(shù)據(jù)做對比,這樣就方便用戶查看修約是否正確。
4.4 向現(xiàn)場屏幕發(fā)送數(shù)據(jù)
各元素含量值的修約后的值存入本地Access數(shù)據(jù)庫后,根據(jù)化驗數(shù)據(jù)中的爐號分別向相應的現(xiàn)場屏幕發(fā)送數(shù)據(jù)?,F(xiàn)場屏幕分為兩大類,即北京科海小屏幕和鞍鋼LED大屏幕。北京科海小屏幕放置在1#、2#、3#、4#高爐、三精練、四精練現(xiàn)場,通過RS-485線與采集工作站的多串口卡相連;鞍鋼LED大屏幕放置在8#、9#轉爐現(xiàn)場,通過雙絞線接入企業(yè)生產網。
圖2 采集程序主界面
北京科海小屏幕和采集工作站通過COM口通信,通過xMSCommLib.AxMSComm控件實現(xiàn),通過給其Output屬性設置值,向小屏幕發(fā)送化驗數(shù)據(jù)。
鞍鋼LED大屏幕通過TCP/IP協(xié)議通信,在采集工作站上安裝鞍鋼開發(fā)的數(shù)據(jù)抓取代理軟件,從中間表實時抓取化驗數(shù)據(jù),并自動傳送到LED大屏幕。按照雙方約定,中間表和ZL_CHEMICAL_REPORT_XYQ、ZL_CHEMICAL_REPORT,均放在采集工作站的Access數(shù)據(jù)庫中。因此,只需要使用OleDbConnection、OleDb-Command對象把化驗數(shù)據(jù)寫入SCREEN_ZL_CHEMICAL_REPORT表中就可以。
數(shù)據(jù)采集子系統(tǒng)部署在采集工作站上,作為服務程序駐留在采集工作站的內容中。第一次需要用戶啟動,隨后程序將自動運行。用戶登錄后,進入采集界面(如圖2),這樣程序就可以自動接收化驗儀器的數(shù)據(jù),并進行處理了。
檢化驗數(shù)據(jù)采集程序經過較長時間的反復測試和使用,運行穩(wěn)定、安全可靠,且占用內存較小、CPU使用率低。該軟件投入使用后,大大提高了數(shù)據(jù)傳輸效率。
隨著生產的高效、快節(jié)奏的運行,企業(yè)必須借助先進的計算機技術來提升信息的實時響應速度,采用數(shù)據(jù)采集系統(tǒng)就可以得到最精確、最及時的信息,幫助企業(yè)分析生產運行趨勢,通過調整工藝路線和服務方式,快速解決暴露出來的問題,提高了運行穩(wěn)定性。
企業(yè)在使用了檢化驗數(shù)據(jù)采集系統(tǒng)后,車間根據(jù)現(xiàn)場實際情況加強了管理,優(yōu)化了生產作業(yè)順序,有效地減少了生產的波動,降低了現(xiàn)場工作人員的勞動量、提高了產品質量、縮短生產運行時間、降低了生產成本。
[1] 李劍省,魏淑超,趙梅等.淺談鋼鐵企業(yè)的檢化驗系統(tǒng)[J].山東冶金,2007,29(1):73~75
[2] 張新法,趙志誠,逯建平.煉鋼廠檢化驗數(shù)據(jù)采集系統(tǒng)開發(fā)與應用[J].太原科技大學學報,2011,32(1):19~23
Design and Development of Data Acquisition System for Inspection and Analysis in Baogang Steel Plant
GUO Guang-feng1,WU Hai-yan2
(1.Network Information Center,Baotou Teachers College,Baotou 014030;2.Inner Mongolia XinLian IT Co.,Ltd.,Baotou 014010)
According to the requirements of Baogang Steel Plant,develops a data acquisition system for inspection and analysis based on.NET technology.Collects inspection data automatically,and stores it on the three-level database,and real-time,accurately transmits to the scene displays.Uses the acquisition system for inspection and analysis,the steel plant reduces the amount of labor,improves the quality of products,shortens the production operation time,and reduces the cost of production.
Data Acquisition System for Inspection and Analysis;.NET Technology;Automatic Data Collection
1007-1423(2015)07-0060-05
10.3969/j.issn.1007-1423.2015.07.017
郭廣豐(1981-),男,內蒙古和林格爾人,碩士,講師,研究方向為計算機網絡應用技術、信息安全
鄔海燕(1980-),女,內蒙古自治區(qū)霍林郭勒人,本科,工程師,研究方向為軟件工程
2015-01-29
2015-02-10
內蒙古高等學校科學技術研究項目(No.NJZY12200)