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

        ?

        基于國產(chǎn)軟硬件平臺的OPC UA服務(wù)器設(shè)計與實現(xiàn)*

        2018-12-25 02:25:26閔曉霜
        關(guān)鍵詞:客戶端服務(wù)器節(jié)點

        閔曉霜,楊 鑫

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

        0 引言

        在工業(yè)4.0與智能制造時代,首先需要解決的就是互聯(lián)互通的問題,為了實現(xiàn)M2M(機器到機器)、B2M(商業(yè)系統(tǒng)與機器)以及B2B(商業(yè)系統(tǒng)之間)的協(xié)同,滿足來自各個維度的數(shù)據(jù)交互需求,OPC UA成為最佳的選擇[1]。OPC UA作為數(shù)據(jù)互聯(lián)的標準與規(guī)范,為工業(yè)4.0時代提供底層技術(shù)支撐及解決方案。在工業(yè)控制現(xiàn)場,OPC UA能夠有效實現(xiàn)嵌入式現(xiàn)場設(shè)備、DCS、PLC等設(shè)備與生產(chǎn)管理系統(tǒng)、SCADA、HMI等管理監(jiān)視系統(tǒng)的互操作。

        OPC統(tǒng)一架構(gòu)(OPC UA)是由OPC基金會繼傳統(tǒng)OPC技術(shù)獲得成功應(yīng)用之后推出的新的OPC標準。傳統(tǒng)OPC基于COM/DCOM技術(shù),而這項基礎(chǔ)技術(shù)不再發(fā)展并且只能支持Windows操作系統(tǒng);同時,傳統(tǒng)OPC提供的服務(wù)數(shù)據(jù)模型不統(tǒng)一,導致用戶訪問不同數(shù)據(jù)的方法不統(tǒng)一,不支持復雜的數(shù)據(jù)結(jié)構(gòu),且在安全方面也存在不足[2],為解決這些問題,滿足時代發(fā)展需求,OPC UA得以推出并大力發(fā)展。OPC UA基于Socket傳輸層,采用以信息為中心的分層架構(gòu),與平臺無關(guān),能夠兼容Windows、Linux等操作系統(tǒng),OPC UA提供一系列通用信息模型,提供完全面向?qū)ο?,同時包含元數(shù)據(jù)和對象描述的地址空間,在一個地址空間中就可訪問所有對象,支持客戶服務(wù)器模型、發(fā)布訂閱模型,提供復雜數(shù)據(jù)規(guī)范,集成安全功能,并且OPC UA兼容傳統(tǒng)OPC。

        自O(shè)PC UA規(guī)范發(fā)布以來,很多國外知名廠商如艾默生、西門子、倍福等已經(jīng)研發(fā)并推出支持OPC UA標準的產(chǎn)品,并得到了應(yīng)用[3]。我國于2017年9月正式發(fā)布了GB/T 33863.1~.8-2017《OPC統(tǒng)一架構(gòu)》標準,并成立了OPC中國認證測試實驗室,標志著OPC UA技術(shù)正式成為我國智能制造發(fā)展的關(guān)鍵技術(shù)之一[4],文獻[5]實現(xiàn)了數(shù)據(jù)管理功能,文獻[6]實現(xiàn)了具備一定安全機制的OPC UA服務(wù)器,但二者都是基于微軟平臺實現(xiàn)的,并不能滿足服務(wù)器的安全需求。

        為了滿足工業(yè)控制系統(tǒng)中核心基礎(chǔ)設(shè)備的安全保密,本文基于國產(chǎn)軟硬件平臺設(shè)計并實現(xiàn)OPC UA服務(wù)器,提供數(shù)據(jù)訪問服務(wù),能夠?qū)刂圃O(shè)備進行安全隔離,并在PLC系統(tǒng)中進行測試驗證,能夠支持第三方客戶端的數(shù)據(jù)訪問,滿足工業(yè)現(xiàn)場數(shù)據(jù)交互需求。

        1 基于國產(chǎn)軟硬件平臺的OPC UA服務(wù)器設(shè)計

        1.1 OPC UA服務(wù)器總體設(shè)計

        本文OPC UA服務(wù)器基于國產(chǎn)軟硬件平臺,采用國產(chǎn)控制器,搭載麒麟操作系統(tǒng),采用Qt5開發(fā)OPC UA服務(wù)器。

        1.1.1OPCUA服務(wù)器模式

        OPC UA服務(wù)器可以同時支持客戶端-服務(wù)器模型和發(fā)布訂閱模型,這兩種通信機制獨立于實際通信協(xié)議,如TCP和HTTPS可用于客戶端-服務(wù)器模式,而UDP、AMQP和MQTT可用于發(fā)布訂閱模式。

        (1)客戶端-服務(wù)器模式

        OPC UA客戶端訪問OPC UA服務(wù)器的專用服務(wù)。這是一種對等的方式,提供了信息安全和確定的信息交換,對連接數(shù)量有一定限制。適合客戶端個數(shù)一定,交換信息需求確定的系統(tǒng)。

        (2)發(fā)布者-訂閱者模式

        OPC UA服務(wù)器通過配置信息可供任意數(shù)量的訂閱者使用。這是一種廣播機制,提供了一個無需信息確認的即發(fā)即棄的信息交換方式。適合多點連接且對實時性要求高的系統(tǒng)。

        本文的OPC UA服務(wù)器使用客戶端-服務(wù)器模式,通過建立TCP連接,提供安全、確定的數(shù)據(jù)交換。

        1.1.2軟件分層架構(gòu)

        OPC UA應(yīng)用程序開發(fā)基于軟件分層架構(gòu)。OPC UA堆棧位于分層架構(gòu)的底層,它采用OPC基金會定義的TCP / IP通信協(xié)議,能夠?qū)崿F(xiàn)所有的OPC UA服務(wù)呼叫,處理通信協(xié)議;在堆棧上層為OPC UA軟件工具開發(fā)包(Software Development Kit,SDK),SDK的主要功能為運行OPC UA服務(wù)器的服務(wù),包括數(shù)據(jù)訪問、報警功能、信息模型建立、節(jié)點管理、訂閱管理、會議管理以及身份認證管理;分層架構(gòu)的最上層為OPC UA服務(wù)器應(yīng)用程序。

        本文的OPC UA服務(wù)器采用軟件分層架構(gòu),基于C++ OPC UA服務(wù)器SDK進行開發(fā),利用Qt的跨平臺特性以及對標準C++的支持,首先將SDK移植到國產(chǎn)系統(tǒng)中,然后基于SDK進行應(yīng)用功能開發(fā)。

        1.2 OPC UA服務(wù)器軟件設(shè)計

        1.2.1功能說明

        OPC UA服務(wù)器的主要功能是將控制器的數(shù)據(jù)映射到服務(wù)器地址空間中進行管理,并與控制器進行數(shù)據(jù)交互,同時,對外與支持OPC UA協(xié)議的設(shè)備(如SCADA、HMI和第三方客戶端等)基于地址空間進行數(shù)據(jù)讀寫操作,支持啟動/停止服務(wù)、配置可訪問數(shù)據(jù)及訪問權(quán)限、運行守護以及冗余防護等功能。

        該OPC UA服務(wù)器實現(xiàn)的主要功能如圖1所示,配置功能負責人機交互的配置及配置數(shù)據(jù)生成,服務(wù)器啟動服務(wù)時根據(jù)配置數(shù)據(jù)的參數(shù)啟動并執(zhí)行數(shù)據(jù)訪問功能,安全認證和冗余功能用于保證服務(wù)器運行過程中的通信與運行安全。

        圖1 OPC UA服務(wù)器功能圖

        (1)基于協(xié)議棧的數(shù)據(jù)訪問功能

        包括數(shù)據(jù)的讀寫、讀寫權(quán)限的修改、登錄服務(wù)和退出登錄服務(wù)??蛻舳送ㄟ^服務(wù)器對控制器中的數(shù)據(jù)進行實時獲取,并將數(shù)據(jù)映射到服務(wù)器的地址空間,客戶端通過對地址空間的訪問進行對數(shù)據(jù)的讀寫操作。在與下位機進行通信時采用一問多答、循環(huán)收包的方式。

        (2)配置功能

        通過配置界面對服務(wù)器地址空間的數(shù)據(jù)進行配置,以便服務(wù)器能夠管理服務(wù)器中的數(shù)據(jù)。

        (3)啟停服務(wù)功能

        服務(wù)器開啟服務(wù)后,客戶端能夠進行相應(yīng)的訪問操作;停止服務(wù)后,客戶端則無法繼續(xù)對服務(wù)器進行訪問。

        (4)安全認證功能

        包括身份鑒別機制、基于角色的用戶授權(quán)機制以及數(shù)據(jù)傳輸過程的安全機制。身份鑒別機制指客戶端與服務(wù)器建立連接進行數(shù)據(jù)訪問時,系統(tǒng)對用戶進行輸入用戶名和密碼的登錄身份驗證?;诮巧挠脩羰跈?quán)機制指的是對工程師、管理員以及操作員等不同身份的角色,設(shè)置不同的訪問權(quán)限。數(shù)據(jù)傳輸安全機制指的是對通信數(shù)據(jù)加密以及OPC變量表的CRC校驗功能。

        (5)冗余功能

        在服務(wù)器啟動之后,自動開啟冗余守護進程機制,實時備份服務(wù)器中的數(shù)據(jù),檢測主機的運行狀態(tài),因此能夠在主機無響應(yīng)時啟用備機功能。

        1.2.2工作過程

        當OPC UA服務(wù)器應(yīng)用在工控系統(tǒng)中時,系統(tǒng)的工作過程如下:

        (1)用戶在編程組態(tài)軟件中,將控制程序與OPC數(shù)據(jù)配置信息下裝到控制器中,同時生成OPC數(shù)據(jù)配置文件。

        (2)在服務(wù)器中可創(chuàng)建站,通過加載解析上述OPC數(shù)據(jù)配置文件,能夠?qū)υ撜镜淖兞窟M行配置,將其添加到服務(wù)器的數(shù)據(jù)列表中,即加入地址空間管理,每個變量對應(yīng)一個節(jié)點,可對節(jié)點的訪問權(quán)限及屬性進行配置。配置完成后,可啟動OPC UA服務(wù)器,則服務(wù)器開始與PLC通信交互OPC數(shù)據(jù)表中的數(shù)據(jù),同時,管理地址空間中的節(jié)點,處理來自客戶端的連接以及服務(wù)請求。

        (3)客戶端想要訪問PLC中的變量信息時,首先對服務(wù)器發(fā)送服務(wù)請求,要求建立與服務(wù)器的連接,服務(wù)器收到請求后,在其地址空間內(nèi)查找對應(yīng)的節(jié)點信息,服務(wù)器根據(jù)變量與節(jié)點的映射,與控制器通過私有協(xié)議進行變量讀寫等操作,最后在服務(wù)器接口調(diào)用請求/響應(yīng)服務(wù),給客戶端返回有效信息。

        上述過程的數(shù)據(jù)流圖如圖2所示。

        圖2 系統(tǒng)的數(shù)據(jù)流圖

        2 可跨平臺的OPC UA服務(wù)器實現(xiàn)

        2.1 SDK的移植

        OPC UA SDK產(chǎn)品供應(yīng)商常見的有MatrikonOPC、ProSys、Unified Automation等,在選擇采購SDK時主要注意的包括SDK提供的是庫還是源碼、提供的功能、支持的平臺以及技術(shù)支持等因素[7]。本文使用的SDK以C++源碼的形式提供,提供數(shù)據(jù)訪問等功能。本文首先將SDK移植到國內(nèi)操作系統(tǒng)中,使用Qt開發(fā)環(huán)境進行編譯,然后基于SDK提供的API進行應(yīng)用功能開發(fā)。

        SDK開發(fā)包目錄結(jié)構(gòu)如圖3所示,主要包括:

        …/OPC_UA_SDK/lib:用于存放SDK編譯以后生成的庫。

        …/OPC_UA_SDK/Examples:包含示例程序,可基于例程進行應(yīng)用開發(fā)。

        圖3 OPC UA軟件開發(fā)包

        使用Qt編譯生成的庫在lib目錄下,應(yīng)用軟件直接引用生成的動態(tài)庫,examples中包含示例程序,基于示例程序、調(diào)用SDK提供的API進行應(yīng)用開發(fā)。

        2.2 服務(wù)器應(yīng)用開發(fā)

        OPC UA服務(wù)器應(yīng)用程序開發(fā)分為4個模塊,分別為:通用功能模塊Global、基礎(chǔ)應(yīng)用功能模塊CommonOPCUA、配置管理模塊ConfigUI、OPC UA服務(wù)器模塊OPCUASvr。

        (1)Global模塊提供基礎(chǔ)功能支持,與OPC UA業(yè)務(wù)無關(guān),實現(xiàn)了數(shù)據(jù)類型轉(zhuǎn)換、字符串轉(zhuǎn)換、CRC校驗算法等功能。

        (2)CommonOPCUA模塊實現(xiàn)OPC UA業(yè)務(wù)相關(guān)的通用功能,包括OPC UA服務(wù)器所需的地址空間、序列化、反序列化、變量表文件解析、對象節(jié)點的管理等。通過調(diào)用該功能接口能夠?qū)崿F(xiàn)與文件數(shù)據(jù)進行交互,加載控制器生成的服務(wù)器配置文件并進行解析,生成包含地址空間信息的二進制文件。

        (3)ConfigUI模塊實現(xiàn)服務(wù)器配置的人機交互功能,包括主界面、數(shù)據(jù)訪問配置界面、添加站對話框、編輯節(jié)點屬性對話框。

        (4)OPCUASvr模塊實現(xiàn)OCPUA協(xié)議棧功能,提供OPC UA服務(wù),包括啟動、停止服務(wù)、數(shù)據(jù)訪問服務(wù)等,使用SDK提供的API接口,引用了SDK的動態(tài)庫。

        2.3 地址空間開發(fā)

        地址空間的開發(fā)為OPC UA服務(wù)器應(yīng)用程序開發(fā)中關(guān)鍵的部分,當服務(wù)器對底層PLC設(shè)備中的數(shù)據(jù)進行采集處理時,把每個PLC設(shè)備抽象為一個對象,把所要訪問的數(shù)據(jù)信息,即對象中的地址空間,作為其中的一個節(jié)點,從而創(chuàng)建一個從節(jié)點到對象自下而上的類似文件夾結(jié)構(gòu)的地址空間結(jié)構(gòu),增強了數(shù)據(jù)處理效率。

        本文服務(wù)器地址空間中的數(shù)據(jù)為測量模擬數(shù)據(jù),即通過數(shù)據(jù)訪問獲取的實時IO模擬量。地址空間的編碼實現(xiàn),首先需要在程序中定義節(jié)點管理類,用于管理整個地址空間的所有節(jié)點,并在服務(wù)器啟動時申請內(nèi)存空間。NodeManagerDemo的主要功能是實現(xiàn)服務(wù)器和PLC控制器等下位機設(shè)備的通信,完成數(shù)據(jù)的讀寫。NodeManagerDemoBase主要是在地址空間內(nèi)部建立點表,包括定義節(jié)點的ID、節(jié)點的名稱、節(jié)點類型等,方便OPC UA客戶端對服務(wù)器地址空間的數(shù)據(jù)進行處理。地址空間編碼實現(xiàn)的具體空間結(jié)構(gòu)如圖4和圖5所示。

        圖4 地址空間主要類圖

        圖5 服務(wù)器主要類圖

        服務(wù)器軟件的主要流程圖如圖6和圖7所示,包括服務(wù)器啟動以及地址空間節(jié)點管理。

        圖6 服務(wù)器啟動流程圖

        圖7 節(jié)點管理流程圖

        3 驗證

        本文OPC UA服務(wù)器在PLC系統(tǒng)中進行驗證,并采用第三方提供的標準OPC UA客戶端驗證OPC UA服務(wù)器功能。驗證功能包括數(shù)據(jù)訪問、數(shù)據(jù)讀寫、數(shù)據(jù)讀寫權(quán)限設(shè)置、安全認證。在測試過程中,用一個及多個客戶端對服務(wù)器設(shè)備進行連接,最終,定義監(jiān)視的變量在OPC UA客戶端能夠看到變量節(jié)點,并能夠?qū)ψ兞窟M行讀寫操作。驗證結(jié)果表明該OPC UA服務(wù)器滿足功能和設(shè)計需求,具備在實際工業(yè)現(xiàn)場使用的條件。

        4 結(jié)論

        隨著工業(yè)信息化及智能制造的發(fā)展,我國工控行業(yè)也在加強對關(guān)鍵基礎(chǔ)技術(shù)的研究與應(yīng)用。OPC UA作為數(shù)據(jù)互聯(lián)的基礎(chǔ)標準與規(guī)范,在工業(yè)控制系統(tǒng)中是一個必須掌握與深入研究的技術(shù)。本文所開發(fā)的OPC UA服務(wù)器實現(xiàn)了基本的數(shù)據(jù)訪問、地址空間與節(jié)點管理等功能。后續(xù)將再此基礎(chǔ)上,將OPC UA服務(wù)器移植到嵌入式操作系統(tǒng)中,并實現(xiàn)歷史數(shù)據(jù)訪問、報警與事件,增強安全功能設(shè)計,提供功能更加豐富、更加安全、更加通用的OPC UA產(chǎn)品。此外,OPC UA與其他新興技術(shù)的結(jié)合,也是今后重要的研究方向。

        猜你喜歡
        客戶端服務(wù)器節(jié)點
        CM節(jié)點控制在船舶上的應(yīng)用
        Analysis of the characteristics of electronic equipment usage distance for common users
        基于AutoCAD的門窗節(jié)點圖快速構(gòu)建
        通信控制服務(wù)器(CCS)維護終端的設(shè)計與實現(xiàn)
        縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        得形忘意的服務(wù)器標準
        計算機網(wǎng)絡(luò)安全服務(wù)器入侵與防御
        抓住人才培養(yǎng)的關(guān)鍵節(jié)點
        国产在线手机视频| 亚洲深深色噜噜狠狠网站 | 精品久久久bbbb人妻| 夜夜嗨av一区二区三区| 久久精品国产6699国产精| 手机在线观看成年人视频| 国产一区高清在线观看| 曰韩人妻无码一区二区三区综合部 | 国产三级精品美女三级| 成人在线观看视频免费播放| 亚洲成av人片一区二区密柚| 丰满岳妇乱一区二区三区| 少妇无码av无码去区钱| 青青草绿色华人播放在线视频 | 久久九九精品国产av| 少妇av射精精品蜜桃专区| 国产亚洲精品自在久久蜜tv| 日本视频一区二区二区| 免费国产自拍在线观看| 无码人妻一区二区三区在线视频| 亚洲电影中文字幕| 亚洲精品熟女av影院| 美女内射毛片在线看免费人动物| 欧美日韩亚洲国内综合网| 久久久久久久综合日本| 青青草手机视频免费在线播放| 久久综合狠狠综合久久综合88| 亚洲av无码资源在线观看| 四虎成人精品国产永久免费| 午夜av天堂精品一区| 亚洲精品久久久久久久久久吃药| 久久99欧美| av免费在线观看在线观看| 欧美日本精品一区二区三区| 亚洲av无码日韩精品影片| 久久er这里都是精品23| 麻婆视频在线免费观看| 一本色道无码道在线观看| 无码av在线a∨天堂毛片| 少妇性l交大片免费1一少| 老色鬼在线精品视频|