馬福華 張志峰 王玉光 蘇克健



摘要:首先結(jié)合企業(yè)實(shí)際生產(chǎn)過程概述了WebSphere MQ、OPC數(shù)據(jù)傳輸原理,然后闡述了工控網(wǎng)、管理網(wǎng)運(yùn)用WebSphereMQ傳輸OPC數(shù)據(jù)的實(shí)現(xiàn)過程,最后對其傳輸性能進(jìn)行試驗,通過測試分析得出以下結(jié)論:WebSphere MQ傳輸?shù)淖畲驩PC數(shù)據(jù)消息是50M;消息大小、傳輸用時是正比例線性關(guān)系;單通道時,觸發(fā)監(jiān)控器個數(shù)不影響傳輸用時;雙通道比單通道傳輸用時節(jié)約較多,幾乎是其兩倍,但3通道、4通道相對于雙通道傳輸用時節(jié)約較少。
關(guān)鍵詞:WebSphere MQ;OPC數(shù)據(jù);工控網(wǎng);管理網(wǎng);數(shù)據(jù)傳輸安全
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A
文章編號:1009- 3044(2019)34-0241-03
隨著高新技術(shù)迅速發(fā)展及制造業(yè)全球化競爭日益加劇,企業(yè)普遍開展了智能化工廠建設(shè),制造執(zhí)行系統(tǒng)(MES)、數(shù)據(jù)采集與監(jiān)控系統(tǒng)(SCADA)等系統(tǒng)相繼上線運(yùn)行。針對工控網(wǎng)、管理網(wǎng)數(shù)據(jù)共享系統(tǒng)的安全問題,很多企業(yè)以交換機(jī)和防火墻相結(jié)合實(shí)現(xiàn)網(wǎng)絡(luò)隔離。其中,消息中間件WebSphere MQ作為能夠屏蔽底層異構(gòu)操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議的技術(shù)就成了數(shù)據(jù)在工控網(wǎng)、管理網(wǎng)之間進(jìn)行傳遞的重要途徑[7,7,8]。
宋嘩等在J2EE平臺上進(jìn)行WebSphere MQ中間件應(yīng)用系統(tǒng)的設(shè)計以達(dá)到保證內(nèi)外網(wǎng)之間數(shù)據(jù)的一致性和安全性的目的[2]。于巖通過多實(shí)例隊列管理器組、共享存儲等搭建高可用消息傳輸隊列[3]。馬越、羅漢文借助WebSphere MQ,設(shè)計并實(shí)現(xiàn)了典型前、后臺系統(tǒng)日常數(shù)據(jù)交互[4]。高玉軍,趙朋朋等利用工業(yè)控制OPC技術(shù)、工業(yè)以太網(wǎng)等實(shí)現(xiàn)不同類別PLC在同一平臺、同一網(wǎng)絡(luò)下的數(shù)據(jù)集中監(jiān)視控制[5]。朱善國構(gòu)建OPC網(wǎng)絡(luò),再運(yùn)用OPC技術(shù)實(shí)現(xiàn)企業(yè)各套聯(lián)合裝置之間的信息互聯(lián)[6]。
以上文獻(xiàn)詳細(xì)描述了WebSphere MQ、OPC等在傳輸數(shù)據(jù)過程中的作用,但對WebSphere MQ傳輸OPC數(shù)據(jù)的實(shí)現(xiàn)過程鮮少涉及。筆者以某生產(chǎn)企業(yè)為例,描述了WebSphere MQ傳輸OPC數(shù)據(jù)的實(shí)現(xiàn)過程,同時對其傳輸性能進(jìn)行了研究。
1 WebSphere MQ、OPC通訊原理
1.1 WebSphere MQ通訊原理
隊列管理器之間傳遞的是消息,消息可以是一個請求、一個應(yīng)答、一個報告、一份報文等,在本文中,傳輸?shù)南⑹荗PC數(shù)據(jù)形成的XML文件。每個隊列管理器都有本地隊列、遠(yuǎn)程隊列、傳輸隊列、死信隊列等多個隊列,隊列通俗地講,就是一個安全存儲消息的地方,而每種隊列都有各自不同的作用。隊列管理器之間的通信路徑叫通道,是一種單向的點(diǎn)對點(diǎn)的通信連接。通道兩端的配置必須匹配,且名字相同,否則無法連通。如果需要雙向交流,則需要建立一對通道。
1.2 0PC通訊原理
企業(yè)某車間生產(chǎn)狀況及設(shè)備狀況信息,由控制設(shè)備采集終端完成。由于當(dāng)今世界上主要的自動化控制系統(tǒng)儀器儀表及過程控制系統(tǒng)的公司在硬件開發(fā)時均提供OPC服務(wù)器接口,所以用戶不需要考慮各項硬件設(shè)備的差異,通過硬件廠商提供的OPC服務(wù)器接口直接取得生產(chǎn)狀況及硬件設(shè)備狀態(tài)信息,同時存儲于數(shù)據(jù)庫。OPC技術(shù)由OPC服務(wù)器和OPC客戶端兩部分組成,OPC服務(wù)器通過與現(xiàn)場設(shè)備相對應(yīng)的驅(qū)動服務(wù)來讀取硬件數(shù)據(jù)信息,通過標(biāo)準(zhǔn)的OPC接口傳送給OPC客戶端。OPC客戶端只需接收OPC服務(wù)器傳送來的數(shù)據(jù),無須知道現(xiàn)場硬件設(shè)備的驅(qū)動細(xì)節(jié)。
2 WebSphere MQ傳J OPC數(shù)據(jù)的實(shí)現(xiàn)
從圖1可以看出,工業(yè)控制網(wǎng)底層PLC數(shù)據(jù)通過OPC服務(wù)存儲在數(shù)據(jù)庫,然后根據(jù)管理需求形成底層XML文件,最后通過消息中間件WebSphere MQ傳遞給制造執(zhí)行系統(tǒng)(MES);同樣管理網(wǎng)技術(shù)標(biāo)準(zhǔn)等數(shù)據(jù),根據(jù)工控需求轉(zhuǎn)換為XML文件,然后通過消息中間件WebSphere MQ傳遞給工控網(wǎng),最后通過OPC服務(wù)寫進(jìn)底層PLC。
WebSphere MQ支持多種編程語言,同時也支持多種流行的開發(fā)工具,筆者采用IBM WebSphere MQ6.0、Visual Studio2017平臺中的C#進(jìn)行接口開發(fā)。
3 WebSphere MQ傳輸OPC數(shù)據(jù)性能研究
本文中OPC數(shù)據(jù)以XML文件形式傳輸?shù)较⒅虚g件Web-Sphere MQ,WebSphere MQ應(yīng)用的運(yùn)行性能受到機(jī)器計算能力、吞吐能力、內(nèi)存等硬件設(shè)施的制約,同時受到網(wǎng)絡(luò)環(huán)境的影響。由于影響WebSphere MQ傳輸OPC數(shù)據(jù)性能的條件較多,所以筆者在試驗中,都是假定其他條件不變,對某一個條件變化時考慮其對性能的影響。
3.1 WebSphere MQ消息大小傳輸限制
WebSphere MQ中隊列、通道、隊列管理器的消息最大長度設(shè)定值為100M(一般顯示為104857600字節(jié)),隊列、通道、隊列管理器三者之一的設(shè)定值都將影響消息大小的傳輸。筆者此次驗證條件是隊列、通道、隊列管理器的消息最大長度設(shè)定值同時為4M、10M、IOOM。
從表l可以看出,WebSphere MQ傳輸?shù)淖畲笙⑹瞧渥畲箝L度設(shè)定值的一半,又因其最大長度設(shè)定值為100M,所以Web-Sphere MQ傳輸?shù)淖畲笙㈤L度是50M。
3.2 WebSphere MQ消息大小與傳輸用時關(guān)系
工控網(wǎng)、管理網(wǎng)為千兆接口,網(wǎng)絡(luò)環(huán)境不會成為其瓶頸;為了統(tǒng)一時間,工控網(wǎng)、管理網(wǎng)服務(wù)器設(shè)置了時鐘同步器。在上述條件下研究WebSphere MQ傳輸OPC數(shù)據(jù)消息大小、傳輸用時的關(guān)系,從圖2可以看出WebSphere MQ傳輸消息大小、傳輸用時是成正比例的線性關(guān)系。消息越大,用時越長;消息越小,用時越短。同時,傳輸50M左右文件,用時40s左右。
3.3 WebSphere MQ觸發(fā)監(jiān)控器數(shù)量與傳輸用時關(guān)系
WebSphere MQ在傳輸OPC數(shù)據(jù)時需使用觸發(fā)監(jiān)控器,觸發(fā)監(jiān)控器用于監(jiān)控消息觸發(fā)初始化隊列并啟動消息處理程序,其中,一個隊列管理器可以有多個觸發(fā)監(jiān)控器,為此筆者對觸發(fā)監(jiān)控器數(shù)量進(jìn)行驗證。通過多次試驗,企業(yè)傳輸OPC數(shù)據(jù)時形成的XML文件最小長度為8KB,因此選取1000個8KB大小OPC數(shù)據(jù)XML文件,以驗證觸發(fā)監(jiān)控器數(shù)量對傳輸用時的影響。
從表2可以看出,傳輸用時相對于是一個穩(wěn)定的值,即觸發(fā)監(jiān)控器數(shù)量不影響傳輸用時。從試驗過程可以看出,當(dāng)打開多個觸發(fā)監(jiān)控器時,觸發(fā)監(jiān)控器按順序讀寫,然后再次輪巡,觸發(fā)監(jiān)控器的吞吐量是平均分配。
3.4 WebSphere MQ通道數(shù)量與傳輸用時關(guān)系
文中傳輸通道是單向通道,WebSphere MQ在傳輸數(shù)據(jù)時,可以設(shè)置多條通道。以下是選取1000個8KB大小OPC數(shù)據(jù)XML文件進(jìn)行傳輸試驗。
為了方便比較通道數(shù)目對數(shù)據(jù)傳輸用時的影響,本文中雙通道中發(fā)送方定義兩個遠(yuǎn)程隊列,兩個傳輸隊列;接收方定義兩個本地隊列,兩個GET進(jìn)程,打開兩個觸發(fā)監(jiān)控器,依次類推,3通道、4通道。
從表3可以看出,雙通道比單通道用時節(jié)約較多,幾乎是其兩倍,但3通道、4通道相對于雙通道用時節(jié)約較少。
4 結(jié)束語
WebSphere MQ中間件的應(yīng)用實(shí)現(xiàn)了工業(yè)網(wǎng)、管理網(wǎng)數(shù)據(jù)互聯(lián)互通,并保證了數(shù)據(jù)傳輸?shù)囊恢滦院桶踩?。文章以圖表形式描述了WebSphere MQ、OPC傳輸原理,以及工控網(wǎng)、管理網(wǎng)通過WebSphere MQ傳輸OPC數(shù)據(jù)的過程實(shí)現(xiàn)。同時,對WebSphere MQ傳輸OPC數(shù)據(jù)消息大小限制以及消息大小、觸發(fā)監(jiān)控器數(shù)量、通道數(shù)量與傳輸用時關(guān)系等性能進(jìn)行了試驗,所得結(jié)論對于其他使用者具有一定的指導(dǎo)意義。
參考文獻(xiàn):
[1]許逵,黃輝先,基于工業(yè)現(xiàn)場數(shù)據(jù)的制造執(zhí)行系統(tǒng)應(yīng)用研究[J].計算機(jī)測量與控制,2018,26(10):132-136.
[2]宋曄,張元.基于Websphere MQ的內(nèi)外網(wǎng)數(shù)據(jù)安全傳輸?shù)难芯縖J].計算機(jī)工程與應(yīng)用,2011,47(8S):110-112.
[3]于巖.基于Websphere MQ搭建高可用消息傳輸隊列[J].電腦知識與技術(shù),2015,11(19):76-77.
[4]馬越,羅漢文.WebSphere MQ在零售業(yè)系統(tǒng)數(shù)據(jù)傳輸中的應(yīng)用[J].上海師范大學(xué)學(xué)報:自然科學(xué)版,2017,46(1):1-9.
[5]高玉軍,趙朋朋,基于OPC技術(shù)的不同類別PLC之間的數(shù)據(jù)通訊[J].工業(yè)控制計算機(jī),2018,31(10):59-60.
[6]朱善國.OPC技術(shù)在DCS系統(tǒng)之間互聯(lián)的應(yīng)用[J].化工自動化及儀表,2018,46(3):235-239.
[7] Yoonho Park*,Richard King, Senthil Nathan. Evaluation of ahigh-volume, low-latency market data processing system im-plemented with IBM middleware[J].Software:Practice and Expe-rience,2012,42(1):37-56.
[8] MAHMOUD M S,SABIH M, ELSHAFEl M,et al'Using OPCTechnology to Support the Study of Advanced Process Control[J].ISA Transactions,2015.55:155.
【通聯(lián)編輯:代影】
收稿日期:2019-08-06
作者簡介:馬福華(1985-),女,山東成武人,高級工程師,研究方向為企業(yè)信息系統(tǒng)建設(shè)與運(yùn)維;張志峰,工程師;王玉光,高級工程師:蘇克健,高級工程師。