何 偉
?
MES中間件通信性能的分析與優(yōu)化
何 偉
江陰興澄特種鋼鐵有限公司,江蘇 江陰 214400
在實際生產(chǎn)過程中對中間件通信性能問題進行了分析,通過對其優(yōu)化,解決了制約生產(chǎn)的比較突出的數(shù)據(jù)流轉(zhuǎn)問題。
中間件;數(shù)據(jù)表;電文解析
在工廠制造執(zhí)行系統(tǒng)中,隨著通信方式的不斷升級,都采用獨立中間件來實現(xiàn)二級與三級之間數(shù)據(jù)的收發(fā),做到了通信接口配置簡單。數(shù)據(jù)解析直觀等優(yōu)點也得到了現(xiàn)場廣泛應(yīng)用。例如,寶信IXCOM中間件在鋼鐵企業(yè)應(yīng)用廣泛,穩(wěn)定可靠。興澄特鋼中板分廠于2011年進行MES(制造企業(yè)生產(chǎn)過程執(zhí)行系統(tǒng))系統(tǒng)開發(fā)并采用獨立開發(fā)的XCMSCOM中間件為平臺實現(xiàn)三級與各區(qū)域二級進行計劃的下發(fā)和實績的收集,雙方通信通過調(diào)用底層SOCKET套接字使用TCP/IP協(xié)議,是一款結(jié)合現(xiàn)場實際及功能需求定制開發(fā)的一款中間件產(chǎn)品。隨著公司產(chǎn)品結(jié)構(gòu)的不斷調(diào)整以及分廠產(chǎn)能的不斷提升,數(shù)據(jù)通信不斷增多,中間件出現(xiàn)了各式各樣的問題[1]。本文主要闡述通過對中間件通信性能的優(yōu)化解決實際生產(chǎn)中的問題。
隨著分廠產(chǎn)能的提升和產(chǎn)品結(jié)構(gòu)的調(diào)整,數(shù)據(jù)通信量逐年增加,中間件在不超負荷的前提下,出現(xiàn)了以下制約生產(chǎn)節(jié)奏的問題。
第一,在計劃下發(fā)后處理電文時某一條電文處理不成功,導(dǎo)致了后續(xù)計劃數(shù)據(jù)不處理的現(xiàn)象,從而造成了各區(qū)域二級接收計劃數(shù)據(jù)丟失和不全,影響了現(xiàn)場物料跟蹤及軋制。第二,一旦計劃數(shù)據(jù)超出電文內(nèi)容定義的長度,就會導(dǎo)致電文處理不成功的現(xiàn)象,造成各區(qū)域二級接收計劃數(shù)據(jù)與計劃不一致。
上述兩個問題嚴重制約了現(xiàn)場生產(chǎn)。通過對中間件處理機制的分析,首先,中間件設(shè)計采用了順序處理機制,在處理電文時會按照順序進行處理。當(dāng)某一條電文處理不成功后,程序執(zhí)行將停留在此條電文上,要此條處理成功后才會處理下一條,所以導(dǎo)致了第一個問題的出現(xiàn)。其次,在合同設(shè)計中最多能出現(xiàn)99個合同信息及中文備注。當(dāng)合同信息內(nèi)容增多超出了電文定義的長度時,勢必會造成第二個問題的出現(xiàn)。由于以上兩個問題的出現(xiàn),前期我們通過采用人工處理的方式來解決上述問題。雖然能解決現(xiàn)場生產(chǎn)節(jié)奏問題,但人工處理量較大,信息匹對量較復(fù)雜,一定程度上增加了維護人員的工作量,也違背了自動化生產(chǎn)的初衷和數(shù)據(jù)流轉(zhuǎn)“不落地”的設(shè)計原則。
順序處理機制在設(shè)計思路時按照記錄順序一條條處理(見圖1),但沒有考慮在處理過程中出現(xiàn)異常后的處理方式,直接導(dǎo)致了數(shù)據(jù)處理停滯,造成數(shù)據(jù)批量處理不成功,各二級無法接收計劃數(shù)據(jù),影響范圍較廣。通過對中間處理機制的分析,利用現(xiàn)有的程序框架再結(jié)合數(shù)據(jù)庫進行優(yōu)化,我們在發(fā)送數(shù)據(jù)表(XC_TEL_CODE)和接收數(shù)據(jù)表(XC_TEL_RECEIVE)中把處理不成功的記錄進行字段標(biāo)記(TELFLAG)(見圖2),不成功標(biāo)記為“1”,成功則為“0”。當(dāng)某一條處理不成功后標(biāo)記為“1”后,程序通過優(yōu)化為實現(xiàn)可以繼續(xù)處理下一條,以此循環(huán)直到最后一條記錄,然后再判斷標(biāo)記為“1”的記錄,數(shù)據(jù)庫觸發(fā)器再進行處理一遍,再不成功則由人為處理。
圖1 優(yōu)化前
圖2 優(yōu)化后
電文長度有嚴格的定義,這是保證數(shù)據(jù)成功處理的基礎(chǔ)。然而隨著現(xiàn)場的生產(chǎn)要求以及多合同和中文備注的出現(xiàn),導(dǎo)致電文長度超長。在處理機制優(yōu)化后,這一現(xiàn)象也制約著生產(chǎn),造成了一定程度的影響。電文結(jié)構(gòu)定義如圖3所示。
圖3 電文結(jié)構(gòu)定義圖
針對該問題,我們采用兩種方案進行優(yōu)化,以處理1000條電文為前提,各項性能對比如表1所示。
表1 方案性能比較
方案一:擴大電文內(nèi)容長度,出現(xiàn)錯誤的最大長度為4?058?bytes。此方法比較直觀,但缺點也比較明顯。經(jīng)過一短時間的運行后發(fā)現(xiàn)由于電文量較多,每一條電文長度增加后,導(dǎo)致內(nèi)存空間占用大,處理速度降低,通信服務(wù)器性能降低,不符合現(xiàn)場需求。
方案二:在數(shù)據(jù)生成電文包時判斷電文內(nèi)容。如果內(nèi)容超過了定義的4?058?bytes,在電文頭一致的情況下,就會自動生成兩個電文包。生成的電文包會嚴格按照通信內(nèi)容格式進行,避免對方解析錯誤。接收方根據(jù)電文頭解析電文。這種方式規(guī)避了電文超長后出現(xiàn)的數(shù)據(jù)丟失的問題。
優(yōu)化中間件出現(xiàn)的問題后,經(jīng)過一段時間的實際應(yīng)用,效果符合預(yù)期。電文處理不成功以標(biāo)記作為區(qū)分后,效率有了很大提高,解決了處理不成功后影響后續(xù)處理的問題。電文處理狀態(tài)通過標(biāo)記查看,簡單方便[2]。從優(yōu)化前的影響一批電文到優(yōu)化后若干條(信息不準(zhǔn)確)電文,計劃下發(fā)各區(qū)域二級接收率得到了有效提升。超長電文處理優(yōu)化后,在確保電文內(nèi)容準(zhǔn)確的情況下,電文解析也按照格式定義做到了無錯位。通過對中間件性能的優(yōu)化,中間件通信性能較之前有了很大改善,三級與二級之間的通信信息電文處理能力也滿足了生產(chǎn)的需求。
興澄特鋼中板分廠通過對中間件出現(xiàn)的問題進行分析并優(yōu)化,解決了中間件存在的問題,數(shù)據(jù)流“不落地”得到了強有力的技術(shù)保證,為公司產(chǎn)品結(jié)構(gòu)調(diào)整和分廠產(chǎn)能提升做到了數(shù)據(jù)通信暢通流轉(zhuǎn)。
[1]嚴偉,潘愛民.計算機網(wǎng)絡(luò)[M].5版.北京:清華大學(xué)出版社,2012.
[2]馬曉玉,孫巖,等.Oracle 10G數(shù)據(jù)庫管理應(yīng)用與開發(fā)[M].北京:清華大學(xué)出版社,2007.
Analysis and Optimization of MES Middleware Communication Performance
He Wei
Jiangyin XingCheng Special Steel Co., Ltd., Jiangsu Jiangyin 214400
The paper analyzes the issues of the middleware communication performance occurred during the actual productive process and solves the prominent issues of data transfer that restricts the production through optimization.
middleware; data sheet; telegram text analysis
TP311.5
A
何偉(1979—),男,畢業(yè)于重慶大學(xué)計算機科學(xué)與技術(shù)專業(yè),工程師,從事軋鋼模型及一二三級服務(wù)器的維護工作。