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



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