亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種支持ModbusTCP協(xié)議的OPC UA服務(wù)器中間件

        2019-01-21 10:33:22石春竹柴處處蘭培霖魏利卓
        關(guān)鍵詞:設(shè)備

        石春竹,柴處處,蘭培霖,魏利卓,王 盈

        (中國(guó)電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所,北京 100083)

        0 引言

        鑒于制造業(yè)在推動(dòng)貿(mào)易增長(zhǎng)、提高研發(fā)創(chuàng)新水平以及促進(jìn)就業(yè)等方面起著重要作用,世界上許多國(guó)家提出了制造業(yè)國(guó)家戰(zhàn)略,中國(guó)也出臺(tái)了《中國(guó)制造2025》,將智能制造作為兩化深度融合的主攻方向[1]。國(guó)家政策大力支撐智能制造,企業(yè)紛紛進(jìn)入傳統(tǒng)制造業(yè)向智能制造轉(zhuǎn)型升級(jí)的過(guò)渡中,但由于我國(guó)制造業(yè)相較發(fā)達(dá)國(guó)家起步晚,信息化、自動(dòng)化程度不高,在向智能制造轉(zhuǎn)型升級(jí)時(shí),存在著底層數(shù)據(jù)采集困難、不同信息系統(tǒng)間數(shù)據(jù)不能交互等問(wèn)題[2]。高質(zhì)、高效的數(shù)據(jù)流通成為迫切需求。

        OPC UA又稱為OPC統(tǒng)一架構(gòu),它是一套集信息模型定義、服務(wù)集與通信標(biāo)準(zhǔn)為一體的標(biāo)準(zhǔn)化技術(shù)框架,既能為分布式系統(tǒng)之間進(jìn)行信息交換,也能描述一個(gè)系統(tǒng)和現(xiàn)有信息,為應(yīng)用程序之間提供了互操作的、平臺(tái)獨(dú)立的、高性能的、可拓展的、安全和可靠的通信[3],利用OPC UA技術(shù),可解決系統(tǒng)間數(shù)據(jù)交互難問(wèn)題。憑借其架構(gòu)的先進(jìn)性,OPC UA已成為工業(yè)4.0在通信層實(shí)施方面唯一推薦的技術(shù)。目前許多廠家的設(shè)備和工業(yè)應(yīng)用平臺(tái)都開放了OPC UA接口,可以說(shuō),未來(lái)的工業(yè)物聯(lián)網(wǎng)中,OPC UA會(huì)是主流的通信技術(shù)。但是,目前工業(yè)現(xiàn)場(chǎng)已有設(shè)備有些支持OPC UA,有些不支持OPC UA,這樣在利用OPC UA技術(shù)作為工業(yè)現(xiàn)場(chǎng)主要通信技術(shù)時(shí),需對(duì)不支持OPC UA的設(shè)備設(shè)計(jì)額外的通信接口。本文研發(fā)了一種通信中間件,采集底層設(shè)備數(shù)據(jù)后,將數(shù)據(jù)組態(tài)到OPC UA地址空間中,向外提供數(shù)據(jù)訪問(wèn)服務(wù),這可以使不支持OPC UA的設(shè)備也能夠通過(guò)OPC UA技術(shù)與外界進(jìn)行通信。OPC UA服務(wù)器中間件應(yīng)用環(huán)境如圖1所示。各系統(tǒng)間(如SCADA、MES、ERP、PLM)皆可通過(guò)OPC UA技術(shù)傳輸數(shù)據(jù),形成互聯(lián)的網(wǎng)狀結(jié)構(gòu),打破了原有工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)層層傳遞的限制。

        圖1 利用OPC UA技術(shù)打造工業(yè)現(xiàn)場(chǎng)網(wǎng)狀架構(gòu)

        1 系統(tǒng)整體結(jié)構(gòu)

        OPC UA服務(wù)器中間件從現(xiàn)場(chǎng)設(shè)備中獲取狀態(tài)數(shù)據(jù),并將數(shù)據(jù)以統(tǒng)一形式存儲(chǔ)在OPC UA地址空間中。此中間件對(duì)外提供數(shù)據(jù)訪問(wèn)服務(wù)(OPC UA與數(shù)據(jù)庫(kù)),供其他客戶端進(jìn)行設(shè)備狀態(tài)監(jiān)控與其他業(yè)務(wù)邏輯。系統(tǒng)整體架構(gòu)如圖2所示。

        圖2 OPC UA服務(wù)器中間件架構(gòu)

        (1)系統(tǒng)通過(guò)數(shù)據(jù)訪問(wèn)服務(wù)(OPC UA Server)向集成了OPC UA Client的ERP、MES等系統(tǒng)提供數(shù)據(jù)。也可提供數(shù)據(jù)庫(kù)表,其他系統(tǒng)利用SQL語(yǔ)句訪問(wèn)本系統(tǒng)數(shù)據(jù)庫(kù)。

        (2)系統(tǒng)包括現(xiàn)場(chǎng)數(shù)據(jù)采集、報(bào)文解析、數(shù)據(jù)轉(zhuǎn)存、地址空間、數(shù)據(jù)顯示、配置界面、報(bào)警服務(wù)、歷史數(shù)據(jù)服務(wù)、日志服務(wù)、數(shù)據(jù)訪問(wèn)服務(wù)模塊[4]。其中配置界面、現(xiàn)場(chǎng)數(shù)據(jù)采集、報(bào)文解析模塊完成從底層設(shè)備中采集數(shù)據(jù);數(shù)據(jù)轉(zhuǎn)存模塊將采集到的數(shù)據(jù)分別存儲(chǔ)到數(shù)據(jù)庫(kù)與地址空間中;地址空間定義了數(shù)據(jù)在OPC UA Server中對(duì)數(shù)據(jù)的組織管理形式;數(shù)據(jù)訪問(wèn)服務(wù)可向其他OPC UA Client提供數(shù)據(jù)。

        2 配置界面

        用戶通過(guò)配置界面可以管理鏈路與設(shè)備,并設(shè)置采集變量:

        (1)支持鏈路的創(chuàng)建與配置,選擇計(jì)算機(jī)與設(shè)備連接的途徑,如串口、以太網(wǎng)、OPC UA等,依據(jù)選擇不同的方式進(jìn)行配置。

        (2)支持設(shè)備組的新建、刪除、編輯,設(shè)備組中可以添加多個(gè)設(shè)備,同一設(shè)備可以在不同的設(shè)備組中。

        (3)支持設(shè)備的新建、刪除、編輯,包括設(shè)備名稱、設(shè)備系列。

        (4)支持變量組的新建、刪除、編輯,變量組中可以添加多個(gè)變量,同一變量可以在不同的變量組中。

        (5)采集變量的新建、刪除、編輯,同時(shí)支持變量添加到變量組,并設(shè)置變量,包括變量名稱、數(shù)據(jù)類型、描述,采集寄存器地址、采集數(shù)據(jù)類型、采集頻率、讀寫類型,數(shù)據(jù)轉(zhuǎn)換的設(shè)置等。

        3 現(xiàn)場(chǎng)設(shè)備數(shù)據(jù)采集

        3.1 設(shè)備驅(qū)動(dòng)配置流程

        用戶在配置界面新建鏈路與設(shè)備時(shí)即配置了設(shè)備驅(qū)動(dòng),系統(tǒng)將使用用戶配置的驅(qū)動(dòng)進(jìn)行數(shù)據(jù)采集。其流程如圖3所示。

        圖3 設(shè)備驅(qū)動(dòng)配置流程圖

        3.2 Modbus驅(qū)動(dòng)設(shè)計(jì)類圖

        Modbus驅(qū)動(dòng)設(shè)計(jì)類圖如圖4所示。其中,Connect類是連接類,負(fù)責(zé)管理Socket與設(shè)備進(jìn)行連接;Disconnect類是斷開連接類,負(fù)責(zé)與設(shè)備斷開連接;SendAndReceive類是發(fā)送報(bào)文與接收?qǐng)?bào)文類,主要負(fù)責(zé)發(fā)送與接收消息;Message類是消息類,主要負(fù)責(zé)消息結(jié)構(gòu)體的定義以及組Modbus消息幀和解析Modbus消息幀。

        圖4 Modbus驅(qū)動(dòng)設(shè)計(jì)類圖

        3.3 基于ModbusTCP協(xié)議的地址空間節(jié)點(diǎn)賦值方式

        在OPC UA服務(wù)器的地址空間中創(chuàng)建OPC UA節(jié)點(diǎn)后,將與Modbus寄存器信息(寄存器類型、地址、長(zhǎng)度)建立關(guān)聯(lián),使節(jié)點(diǎn)與指定寄存器綁定。接著會(huì)等待用戶的節(jié)點(diǎn)請(qǐng)求。若為瀏覽請(qǐng)求,則列出當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)。若為讀請(qǐng)求,則依據(jù)節(jié)點(diǎn)對(duì)應(yīng)的Modbus寄存器信息,生成Modbus讀命令,即通過(guò)將節(jié)點(diǎn)參數(shù)傳遞給讀操作構(gòu)造函數(shù)創(chuàng)建對(duì)應(yīng)的Message類的對(duì)象,再通過(guò)SendAndReceive()方法將報(bào)文發(fā)送給設(shè)備。若為寫請(qǐng)求,同樣依據(jù)節(jié)點(diǎn)對(duì)應(yīng)的Modbus寄存器信息,生成Modbus寫命令,即通過(guò)將節(jié)點(diǎn)參數(shù)傳遞給寫操作構(gòu)造函數(shù)創(chuàng)建對(duì)應(yīng)的Message類的對(duì)象,再通過(guò)SendAndReceive()方法將報(bào)文發(fā)送給設(shè)備。隨后,通過(guò)SendAndReceive()方法接收設(shè)備返回的報(bào)文。解析后得到寄存器的當(dāng)前值,賦值給用戶請(qǐng)求的指定OPC UA節(jié)點(diǎn)[5]。本平臺(tái)地址空間多使用CacheVariable節(jié)點(diǎn)和CacheProperty節(jié)點(diǎn)。前者一般用來(lái)表示變量,后者一般用來(lái)表示屬性。這兩種節(jié)點(diǎn)均來(lái)自平臺(tái)使用的SDK。整個(gè)過(guò)程流程圖如圖5所示。

        圖5 Modbus TCP協(xié)議與OPC UA傳遞數(shù)據(jù)流程圖

        4 OPC UA服務(wù)器設(shè)計(jì)要點(diǎn)

        一個(gè)典型的OPC UA應(yīng)用是由圖6所示的三個(gè)軟件層次組成的。整個(gè)完整的軟件??梢允褂肅/C++、.Net或Java實(shí)現(xiàn)。本文選擇在Prosys OPC UA Java SDK基礎(chǔ)上設(shè)計(jì)實(shí)現(xiàn)OPC UA Server。Prosys OPC UA Java SDK中封裝了實(shí)現(xiàn)OPC UA Server的基本類與方法,減少了開發(fā)工作。

        圖6 OPC UA軟件層次

        4.1 定義一個(gè)OPC UA Server必要步驟

        實(shí)現(xiàn)本平臺(tái)的OPC UA Server中間件需要完成以下幾步:

        (1)實(shí)例化UaServer對(duì)象

        UaServer類定義了一個(gè)完整的OPC UA服務(wù)器的實(shí)現(xiàn)。創(chuàng)建服務(wù)器:

        UaServer server=new UaServer();

        (2)定義程序?qū)嵗C書

        程序?qū)嵗C書是必須定義的,用來(lái)驗(yàn)證正在交互的其他應(yīng)用程序是可相信的實(shí)例證書。

        (3)定義服務(wù)器終端

        服務(wù)器終端就是客戶端程序能連接的連接點(diǎn)。每個(gè)終端都包含URL地址和安全模式。服務(wù)器定義了哪一個(gè)終端是可用的,客戶端決定使用哪一個(gè)可用的終端。終端格式如下:

        ://:/

        本中間件的OPC UA Serve的終端URL:

        opc.tcp://192.168.25.104:4840/UaServer

        OPC UA通用客戶端可通過(guò)此URL連接至本服務(wù)器對(duì)數(shù)據(jù)進(jìn)行瀏覽、訂閱等操作。

        (4)通過(guò)證明驗(yàn)證客戶端應(yīng)用程序

        為了驗(yàn)證連接服務(wù)器的客戶端應(yīng)用程序,需要將一個(gè)整數(shù)驗(yàn)證器添加到服務(wù)器中。

        (5)注冊(cè)發(fā)現(xiàn)服務(wù)器

        UA服務(wù)器能自己執(zhí)行內(nèi)部發(fā)現(xiàn)服務(wù)。所以可以使用任何客戶端應(yīng)用程序的發(fā)現(xiàn)服務(wù)器的服務(wù)來(lái)獲得服務(wù)器和可到達(dá)的終端列表。

        (6)初始化服務(wù)器

        調(diào)用Server.init();

        (7)管理地址空間

        服務(wù)器最重要的一方面是地址空間,它定義了服務(wù)器的數(shù)據(jù)和怎樣管理這些數(shù)據(jù)。地址空間是通過(guò)節(jié)點(diǎn)管理器對(duì)象來(lái)管理的,節(jié)點(diǎn)管理器通常用來(lái)定義OPC UA的節(jié)點(diǎn)。節(jié)點(diǎn)指地址空間的所有要素,包括對(duì)象(objects)、變量(variables)、類型(types)等。

        依照系統(tǒng)能夠采集的數(shù)據(jù)類型,在設(shè)計(jì)地址空間時(shí),抽象出了以下幾種地址空間類型節(jié)點(diǎn):ChannelType(鏈路)、DeviceType(設(shè)備)、AnalogInputType(AI)、AnalogOutputType(AO)、DigitInputType(DI)、DigitOutputType(DO)等。下節(jié)以ChannelType、AnalogInputType為例介紹地址空間中節(jié)點(diǎn)類型的設(shè)計(jì)思路。

        4.2 地址空間節(jié)點(diǎn)類型設(shè)計(jì)

        4.2.1ChannelType類

        ChannelType類用來(lái)在地址空間中表示“鏈路”類型,鏈路類型主要有以下幾個(gè)重要屬性:鏈路名稱、驅(qū)動(dòng)類型、診斷、適配器等。這些屬性對(duì)應(yīng)到地址空間的CacheProperty節(jié)點(diǎn)類型。圖7為ChannelType類的成員變量。

        圖7 ChannelType類設(shè)計(jì)

        圖7中ChannelType類幾個(gè)重要函數(shù)說(shuō)明如下:

        (1)構(gòu)造函數(shù)ChannelType:可用節(jié)點(diǎn)管理與名稱構(gòu)造一個(gè)ChannelType類型節(jié)點(diǎn)。

        (2)createType:將創(chuàng)建的ChannelType類型加入到地址空間。

        (3)createMember:可為ChannelType增加屬性,如驅(qū)動(dòng)類型。

        (4)setConfigure:可為ChannelType的驅(qū)動(dòng)類型賦值。

        4.2.2AnalogInputType類(AI)

        AnalogInputType類用來(lái)在地址空間中標(biāo)示AI(模擬量輸入)采集點(diǎn)類型,它有如下幾個(gè)重要屬性:原始值、高限值、低限值、過(guò)程值、所屬設(shè)備、對(duì)應(yīng)寄存器地址等。圖8所示為AnalogInputType類的成員變量。

        圖8 AnalogInputType類設(shè)計(jì)

        AnalogInputType類的幾個(gè)重要方法如下:

        (1)構(gòu)造函數(shù):可用節(jié)點(diǎn)管理器構(gòu)造一個(gè)AnalogInputType類型節(jié)點(diǎn)。

        (2)createType:可將創(chuàng)建的AnalogInputType類型加入到地址空間中。

        (3)createMember:可為AnalogInputType增加屬性:原始值、過(guò)程值、高限值等。

        以上是本文OPC UA Server中間件的兩種典型的地址空間節(jié)點(diǎn)類型設(shè)計(jì),其他如DeviceType類、AnalogOutputType類、DigitInputType類、DigitOutputType類與上述類似,不再贅述。

        在為地址空間增加節(jié)點(diǎn)時(shí),需實(shí)例化以上類,并添加節(jié)點(diǎn)引用使節(jié)點(diǎn)與其他節(jié)點(diǎn)進(jìn)行關(guān)聯(lián)。若節(jié)點(diǎn)為監(jiān)測(cè)變量,當(dāng)監(jiān)測(cè)到值發(fā)生變化后,為節(jié)點(diǎn)賦新值,可調(diào)用set函數(shù),更改對(duì)象成員變量即可。

        5 結(jié)論

        針對(duì)一些工業(yè)現(xiàn)場(chǎng)設(shè)備無(wú)法利用OPC UA向其他系統(tǒng)提供設(shè)備狀態(tài)數(shù)據(jù)的問(wèn)題,本文設(shè)計(jì)了一種基于OPC UA Server的中間件。此中間件利用ModbusTCP協(xié)議提取設(shè)備數(shù)據(jù),將數(shù)據(jù)以統(tǒng)一格式存入OPC UA服務(wù)器地址空間中,再為OPC UA Client提供數(shù)據(jù)訪問(wèn)服務(wù)。這使得支持ModbusTCP協(xié)議的設(shè)備均可以傳遞數(shù)據(jù)給OPC UA客戶端。此中間件不足之處在于目前只支持通過(guò)ModbusTCP協(xié)議從設(shè)備讀取數(shù)據(jù),今后的研究方向是為此中間件增加多種主流驅(qū)動(dòng)。

        猜你喜歡
        設(shè)備
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        調(diào)試新設(shè)備
        基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        廣播發(fā)射設(shè)備中平衡輸入與不平衡輸入的轉(zhuǎn)換
        電子制作(2018年10期)2018-08-04 03:24:48
        食之無(wú)味,棄之可惜 那些槽點(diǎn)滿滿的可穿戴智能設(shè)備
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        HTC斥資千萬(wàn)美元入股虛擬現(xiàn)實(shí)設(shè)備商WEVR
        Automechanika Shanghai 2014 之“看” 汽保設(shè)備篇
        如何在設(shè)備采購(gòu)中節(jié)省成本
        亚洲一区二区三区码精品色| 一区二区三区国产黄色| 国产精品国产三级久久| 成人影院yy111111在线| 婷婷开心深爱五月天播播| 亚洲av中文无码乱人伦在线咪咕| 一本色道久久88加勒比—综合 | 91精品综合久久久久m3u8 | 国产免费三级av在线| 无码av天堂一区二区三区| 青草视频在线播放| 乱子伦av无码中文字幕| 国产一区二区三区涩涩| 久久夜色精品国产噜噜噜亚洲av| 亚洲色精品三区二区一区| 国产高清乱理伦片| 成人免费无码a毛片| 中文字幕一区乱码在线观看| 中文字幕人妻在线中字| 日产无人区一线二线三线新版| 国产成人综合亚洲av| 一区二区在线观看日本视频| 国产亚洲精品精品精品| 女同啪啪免费网站www| 国内精品熟女一区二区| 国产自拍av在线观看视频 | 嫖妓丰满肥熟妇在线精品| 国产乱子伦视频一区二区三区| 亚洲国产av综合一区| 亚洲欧美中文字幕5发布| 日韩亚洲中字无码一区二区三区| 亚洲高清美女久久av| 国产精品妇女一区二区三区| a级国产乱理伦片| 老太脱裤让老头玩ⅹxxxx| 亚洲日本人妻中文字幕| 丝袜美腿亚洲第一免费| 国产亚洲精品bt天堂精选| 亚洲不卡电影| 白白色视频这里只有精品| 香港台湾经典三级a视频|