作者:上海工業自動化儀表研究院,PLCopen中國組織 彭瑜
摘要:泛在聯接性是工業互聯網系統中各種參與組件之間實現數據共享的一種基礎技術。目前,IIoT領域中存在許多專有聯接性技術,雖然在各自應用范圍內內相當優化,但是對于建立新的價值空間,以及打開全球的IIoT市場而言,卻在數據共享、設計、架構乃至通信諸方面是一種障礙。本文重點闡述工業物聯網聯接性架構的主要內容,即工業物聯網的通信模型、工業互聯網參考架構中聯接性功能要求、聯接傳輸層和聯接框架層的任務和范圍、聯接框架層和聯接傳輸層的核心任務、美國工業互聯網聯盟IIC推薦的聯接框架層的核心標準。并重點概述作為核心標準之一的數據分發服務DDS,及其在德國工業4.0中應用的適用性。
關鍵詞:泛在聯通性;工業互聯網;核心聯通標準;數據分發服務;工業4.0的通信
Abstract: Ubiquitous connectivity is one of the foundational technologies that enables data sharing among participating components of an Industrial Internet of Things (IIoT) system. Even though there are many proprietary connectivity technologies optimized for a specific domain, the sharing of data, design, architecture, and communication are still obstacles that restricts creating new value streams and unlocking the potential of a global IIoT marketplace.
This paper focused on the main issues of connectivity architecture for IIoT , i.e., the communication model of IIoT, the functional requirements in industrial internet reference architecture, the roles and scope of connectivity transport layer and connectivity framework layer, and the core standards of connectivity framework layer recommended by Industrial Internet Consortium U.S.A.. At last, a brief introduction of DDS(Data Distribution Service), which is one of core connectivity framework layer standards, and a detailed discussion of the applicability of DDS in Industry4.0 are presented.
Key words: Ubiquitous connectivity; Industrial internet; Core connectivity standards; Data distribution service; Communication for industry 4.0
工業物聯網IIoT的領導聯盟由美國工業互聯網聯盟IIC和德國Industrie 4.0(I4.0)平臺組成。IIC建立了一種跨工業行業的技術架構,而工業4.0著重于制造業,但超越了技術架構,介入了供應鏈和產品生命周期。這些目標和架構都是互補的,而且這兩個組織正在共同繪制今后工業4.0和工業互聯網之間實現和發展可互操作性的設計藍圖,如圖1所示。
圖1 建立工業4.0和工業互聯網間的可互操作性
1 什么是泛在聯接性?
泛在聯接性是工業物聯網IIoT系統中各種參與組件之間實現數據共享的一種基礎技術。聯接性為聯接參與者之間,提供功能域內、系統內跨功能域,以及跨系統進行數據交換的能力。這些數據交換包括傳感器的數據刷新、事件、報警、狀態變化、命令以及組態刷新。簡言之,聯接性是跨功能域(由工業互聯網參考架構所定義)的橫向交互功能,具體如圖2所示。
圖2 聯接性是工業互聯網各功能域間的橫向交互功能
圖中綠色箭頭:數據/信息流;灰白色箭頭:決策流;紅色箭頭:命令/請求流。功能域有:控制功能域,信息功能域,應用功能域,操作運營功能域和業務功能域。
目前,IIoT領域中充斥著各種各樣的專有聯接性技術,并且擁有一些在垂直集成系統中針對較小的特定范圍的應用案例及優化標準。這聯接技術雖然在各自應用范圍內還是相當優化的,但是對于建立新的價值空間,以及打開全球的IIoT市場而言,卻在數據共享、設計、架構乃至通信諸方面是一種障礙。IIoT聯接性的首要目的是要讓這些相互隔離的孤立系統的數據開放流動,使得這些封閉的組件和子系統之間能夠共享數據和實現可互操作性,以至在各種行業內和各種跨行業中的新型和新興的生態應用,得以形成和發展。
我們需要建立廣泛領域的IIoT的聯接性。通過定義IIoT聯接性的堆疊模型和開放的聯接性參考架構,使從事IIoT的各個利益攸關者,對手頭正在開發和應用的聯接性技術的適用性進行分類、評估和確認。
2 IIoT工業物聯網的通信模型
由于歷史發展的局限,經典的開放系統互連OSI 7層模型和互聯網4層模型都不能準確地描述工業互聯網聯接性的要求。毫無疑問,IIoT是工業互聯網的一個關鍵的基礎。IIoT系統要求用一個新的聯接性功能層模型來著重表達分布式的傳感器、控制器、網關、各種設備和器件,以及分布式系統的其它應用組成。當然,這一模型還是以OSI模型和互聯網模型為參考,按照新的要求提出了聯網(物理層、鏈路層、網絡層)、聯接性(傳輸層、框架層)和信息三大功能共6層的通信模型,又稱為IIoT聯接性堆疊模型,作為工業互聯網參考架構IIRA內的橫向交互功能的聯接性范圍,如圖3所示。
圖3 工業物聯網IIoT通信的6層模型
IIoT系統的可互操作性層呈沙漏形狀(見圖4)。其上頂部是一個寬泛的數據模型譜系,以及針對特定垂直行業的功能;頸部通常用于跨垂直行業的互聯網層。聯通性提供基本的數據共享機制,支持諸如分布式數據可互操作性和管理這樣的高級功能,作為實現語法可互操作性(注意:不是語義可互操作性)的橫向交互功能。沙漏頸部是IIoT中“互聯網”的起點。鑒于頸部上面的聯接層目前尚沒有被充分認識和理解,所以,為了構建IIoT系統,要側重考慮和研究“互聯網”聯網層上面的聯接功能。
圖4 IIoT聯接性堆疊模型
圖5 IIoT系統的聯接性堆疊模型的功能性
圖5表示IIoT聯接性堆疊模型,以及聯接功能性的范圍,作為工業互聯網參考架構IIRA中的橫向交互功能。聯通功能性為IIoT系統中在同一功能域內的參與者之間和在跨功能域的參與者之間,提供數據共享的機制。由圖5可見,最底層為物理層,用物理介質(有線、無線)連接網絡的所有參與者,并進行以“位”(bit)為特征的物理信號(電信號、光信號或其它)的傳輸。其上為鏈接層,用于相鄰參與者之間共享物理鏈接,并通過信號傳輸協議進行以“幀”為特征的交換。再上面是網絡層,進行以有限長度的“數據包”為特征的交換,可能在非相鄰(遠程)參與者之間進行多鏈接路由通信。再往上是傳輸層,是在參與者應用程序之間進行不同長度的通信報文的通信。其上是框架層,是指為參與者應用程序之間提供可組態的有服務質量QoS的結構化數據(狀態、事件、數據流)交換。再上面已超出聯接的范圍,是分布式數據可互操作性和管理層橫向交互的功能,依賴于聯接框架層提供的有具體物理意義的信息共享。
3 工業互聯網參考架構中聯接性功能要求
IIRA中聯接性在整個架構中的任務是支持參與互聯的系統中各端點之間進行數據交換。舉例說,信息包括傳感器刷新、遠傳數據、控制命令、報警、事件、狀態變化或組態更新和按時間記錄的數據等等。基本上聯接的任務就是在端點之間提供可互操作的通信,以保證各種組件的集成。不過聯接性功能的目標是,為參與聯接的端點間提供語法的可互操作性。
通信中的可互操作性有不同的抽象級別:從客戶集成,到基于開放型標準的即插即用。按維基百科,可互操作性通常分類如下:
技術可互操作性,是指交換以位和字節表現的信息的能力。這建立在信息交換的基礎結構已經存在,同時以基礎架構下的網絡和協議都有明確定義為前提。
語法可互操作性,是指交換以通常的數據結構表現的信息的能力。這建立在已經使用構造數據的公用協議,且以信息交換的結構已經明確定義為前提。語法可互操作性必須建立在技術可互操作性已經實現的基礎上。
語義可互操作性,是指在適當的所給出的信息解釋的上下文條件下(即語境)進行交換數據含義的能力。語義可互操作性以語法可互操作性已經建立為前提。
4 聯接傳輸層和聯接框架層的任務和范圍
對于IIoT系統,聯接功能性有兩個功能層:聯接傳輸層和聯接框架層。前者提供端點間傳輸數據的方法和手段;在數據交換中它實現端點之間的技術可互操作性。此功能對應于OSI7層模型的第4層傳輸層,或對應于互聯網模型的傳輸層。聯接框架層為被交換的數據以共同而明確的數據格式進行結構化,且與端點的實現無關,與硬件和編程平臺解耦;它提供端點之間實現語法可互操作性的機制。在此聯接框架層中,“公共數據結構”是指被交換的數據的結構或模式。例如,我們所熟悉的編程語言中的數據結構和數據庫的模式。聯接框架的功能對應OSI7層模型中的第5層(會話層)至第7層(應用層),或互聯網模型的應用層。IIoT的聯接性功能層的任務和范圍如表1所示。
在分布式數據可互操作性和管理功能中的數據服務框架,建立在由聯接框架層提供的語法可互操作性的基礎上;工業互聯網參考架構的動態合成和協調功能,進一步要求語義可互操作性。
聯接框架層在信息交換中為參與的端點提供邏輯數據交換服務。在此層可觀察和“理解”數據交換,同時運用相關知識來優化數據的傳送。它是位于聯接傳輸層上部的邏輯功能層,而且并不需要知曉實現聯接傳輸層的技術。聯接框架層為端點間提供語法可互操作性,所交換的數據其結構化具有共同而明確的數據格式,與端點的實現無關,而且與硬件和編程平臺解耦。與端點后面的應用邏輯有關,可能要求一個或多個數據交換的模式,其中有兩個主要的數據交換模式:發布——訂閱和請求——響應。
聯接框架層的關鍵利益是將不同功能的實現加以抽象和隱藏,這樣在聯接框架中所使用的應用軟件無需了解實現的具體方法,而是直接利用聯通框架層的功能。這樣既減少了開發成本,又提高了生產能力和質量。
表1 IIoT聯接性功能層的任務和范圍
5 聯接框架層和聯接傳輸層的核心任務
聯接框架層的核心功能包括數據資源模型、發布-訂閱和請求-響應交換機制、數據的服務質量、數據的信息安全和可編程API等。具體如圖6所示。
圖6 聯接框架層的核心功能
聯接傳輸層為端點連接提供邏輯傳輸網絡。聯接傳輸類似一個在端點之間執行數據流動的不透明管道。聯通傳輸層的關鍵任務是為端點之間提供技術可互操作性。聯通傳輸的核心功能包括:端點尋址、通信模式、網絡拓撲、連通性、優先管理、時序和同步,以及消息安全。圖7概述了聯接傳輸層的核心功能。
圖7 聯接傳輸層的核心功能
6 聯接框架層的核心標準
IIoT聯接框架層標準給出原來主要是用于相關垂直行業的聯接標準(如oneM2M用于電訊行業, OPC-UA用于制造業),為那些行業提供了賦能的技術特性,也為許多其它行業提供應用服務。另外的聯接標準(例如DDS和互聯網服務),原來是為通用的、非特定行業的應用服務,顯然也可以用于很多其它行業的許多不同類型的應用服務。傳輸層是專為框架層服務的,在框架層與傳輸層之間沒有任意其它功能空間。
圖8 IIoT系統聯接性標準
傳輸層與框架層的區別很重要。傳輸層一定要與一種數據類型系統相配對,例如MQTT可與一種數據類型系統技術如由Google開發的protocol buffers相配對,同時可用來建立一種專用用戶的聯接性框架。
顯然,目前可供選用的聯接性標準沒有一個能全面滿足IIoT系統的要求,能夠完成由高速運動的機器人生產線、離散制造業、過程控制系統等各種類型的工業生產系統和生產管理系統的數據流通和連接,為萬物互聯及人與物互聯的超大規模系統提供無懈可擊的聯接性。為此需要選擇若干個標準構成核心標準,構成一個相互補充的聯接性標準簇。但這個標準簇又不能超過3到4個標準,否則,要為這些標準之間建立核心網關的數量過多,而使數據的及時流動和實時流動變得不切實際和不可實現。
圖8概述了IIoT聯接框架層和傳輸層的核心標準。由圖可知,聯接框架層的核心標準有4個,其中1個是源于通用的WEB服務HTTP;1個是除美國以外其他國家工業界很少采用的數據分發服務DDS;另外2個則是來源于某些垂直行業的特定應用,但顯然也可以推廣到許多行業,乃至跨行業的應用,即流行于制造業的OPCUA和由電信行業開發、目前主要用于家居自動化的oneM2M。DDS和OPCUA定義了自己的傳輸協議,而Web服務和oneM2M則依賴于通用的傳輸協議。為完整的表達,圖中還示出網絡IP層和更低的鏈路層和物理層的各種協議。運用HTTP的Web服務被稱之為專為應用程序使用的聯接框架,主要用于人類用戶互動的接口。
表2 IIoT聯接性框架核心標準的判據表
選擇核心標準的主要依據共10項,在表2中已清晰概述。其中前5項是必須具備的關鍵判據,只要有一項不符要求就不能選用。
7 以數據為中心的系統的優勢
相對于以平臺為中心或以網絡為中心的信息管理系統,以數據為中心的信息管理系統,可以在系統資源受到諸多限制(例如通信帶寬受限、聯接性可能處于時斷時續的間歇狀態、連接存在噪聲、處理和存貯能力有限等),經常出現未曾預計的工作流,以及經常發生動態網絡拓撲和網絡節點的變化等情況下,仍能盡可能的保持信息管理系統的正常運行。這就是為什么美國國防部的戰術信息管理系統,在歷經以平臺為中心和以網絡為中心等多種解決方案后,選定以數據為中心的數據分發服務DDS,并獲得滿意的運行效果。除了上述原因之外,以平臺為中心的系統一旦發生小的變化或缺少了任意一種資源,就會使整個系統癱瘓;以網絡為中心的系統本質上是一種“事后諸葛亮”的系統,系統小有變化就會使系統性能顯著變差。
用以數據為中心通信傳輸的信息可以進一步分類為:信號、流和狀態。信號表示連續變化的數據(例如傳感器的讀數),信號通常進行盡最大的努力的發送。流數據表示數據對象以快速方式記錄的值,而這些值必須在前面同樣以快速方式記錄下來的那些值的前后關系或關連中予以解釋。狀態表示一組對象(或系統)的狀態,被編成一組數據屬性(或數據結構)的最新值。一個對象的狀態并沒有必要隨任意固定的周期而變化。狀態的快速變化可能就在一個長時間間隔沒有變化之后突然發生。狀態數據的訂閱者一般都是關心最新的狀態。但是,當狀態長時間可能沒有變化時,系統仍需確保最新狀態能可靠地傳送。換句話說,若某狀態值被丟失,不能保證總會接收到,系統一直等待其值再次發生變化,直到準確被接收為止。
8 數據分發服務DDS簡述
數據分發服務DDS是美國OMG集團管理的一個基于發布/訂閱(pub/sub)聯接性標準。正如圖9所示,它是一個通過全局數據的存貯方式,溝通處于高度分散分布的數據發布和數據訂閱之間的高質量傳遞和發送。
圖9 基于全局數據存貯的數據分發服務
創立DDS的關鍵抽象是全分布的全局數據空間。在DDS規范中,要求實現全局數據空間必須是全分布式的,以避免引入單點故障或單點瓶頸。全局數據空間執行對發布者和訂閱者的動態發現,不依賴于任意種類的集中注冊(有些其它的pub/sub技術例如JMS,就是如此)。由于發布者和訂閱者都是可以被動態發現的,所以它們可在任意點及時地參加或退出全局數據空間。全局數據空間也可以發現應用程序所定義的數據類型,并且將發現的這些數據類型加以傳送,就如這是發現過程的一部分。在本質上當我們利用一個具有自動發現的全局數據空間的系統時,不需要對任何事項進行組態。任意參與者都會被自動發現,在被發現的同時,數據也開始流動。再者,由于全局數據空間是全分布式的,人們不必擔心某個服務器引發的未知原因,會影響系統的可用性。在DDS系統中不存在單點故障的問題,盡管應用程序會被沖擊和重啟,或者連接/斷開,系統仍然在連續運行。
由于DDS只規定了兩個層次(如圖10所示),在制定規范時充分考慮性能/效率兩者的平衡,且運行開銷較少,所以運行高效,性能上佳。對于動態的變化,它通過元事件(mata-events)進行檢測。DDS還按照美國國防部戰術信息管理系統的要求,規定了QoS的策略。例如,通過建立約定,可在多系統各層級中精確規定不同的QoS策略,這些策略可以在很大范圍內變化,以適應不同系統、不同層級的通信質量保證的要求。DDS還盡可能將處理靠近數據(邊緣計算概念的體現),而不是集中處理。DDS通過解耦提供靈活、高性能和模塊化的結構:發布者/訂閱者為匿名的,在通信中它們的位置無關緊要;數據的讀取者和寫入者的數量可以是任意的,不加限制;在異步、連接斷開、對時間敏感實時性要求很高、系統的規模擴充或縮小的情況下,QoS保證分布式數據的可靠分發;不依賴于平臺和協議,便于移植,且具有可互操作的特性。
圖10 DDS的架構
在DDS的架構中,處于底層的是以數據為中心的發布/訂閱層(DCPS),其底層的API應用程序可按所規定的QoS策略,與其它DDS使能的應用程序進行主題數據交換。處于上層的數據本地重構層(DLRL),其API定義如何構建本地對象的高速緩沖存貯(cache),使應用程序可以存取主題數據,就如這些數據不在遠程而在本地那樣。DDS規范只定義策略和應用程序與服務之間的接口,并不考慮實現服務的不同參與者的通信協議和技術方法;也不關心DDS內部資源的管理。
2017年數據分發服務DDS被IIC選定為工業物聯網IIoT應用的聯接框架核心標準,一般用于控制、工業應用、信息和操作運行范圍。其主要目的是將組件(設備、網關或應用程序)與其它組件連接,使之成為實時系統和系統中的系統(SoS)。組件互動于一個分享的數據空間,而從不相互直接互動。因此也可稱為以數據為中心的中間件標準。DDS通過一關系數據模型實現直接的組件-數據-組件的通信。DDS也被稱為數據總線,因為它模擬數據庫中在移動的數據,而數據庫只是管理存儲于其中而非流動中的數據。數據庫和數據總線都是實現以數據為中心的抽象;但它們的應用并不直接相互作用,而是互動于基礎結構中。與數據庫不同的是,數據庫將已產生的數據存儲,為以后用所存儲數據的有關屬性進行搜索。而數據總線通過數據屬性過濾參與通信的數據,管理正在發生和將要發生的數據。以數據為中心使數據庫本質上是個大型的存儲系統;以數據為中心使數據總線,已經成為IIoT軟件集成和自治運行的一種基本技術。
類似于對存儲數據進行存取控制的方法,數據總線用許多同時發生的組件控制數據存取和刷新。其核心是DDS圍繞以數據為中心構建了發布-預訂的數據交換機制。但是標準還定義了請求-應答的數據交換機制。關鍵的抽象是各個應用程序使用數據總線本身進行互動,而不是讓應用程序直接與其它的參與應用程序進行互動。DDS提供精確的以數據為中心的服務質量QoS,包括可靠的多播,可組態的傳送,多種級別的數據持續時間,歷史數據,組件和傳輸冗余自動發現,聯接管理,以及無須知曉傳輸細節、以數據為中心的傳輸信息安全。此外,一對多、多對一的通信是其很突出的特點。DDS提供有力的方法過濾和精確選擇什么數據送到哪里,而這個“哪里”的目標可以是幾千個同時發生的組件。為了支持小的邊緣設備,有一個輕量級別的DDS版本,可運行在有限制的嵌入式環境中。DDS數據總線保證超可靠的運行,并且簡化了用于程序的編碼。它不要求服務,極容易組態和操作,因而消除了故障點和阻塞點。一個基于DDS的系統不存在組件之間的應用編碼互動。DDS自動發現和連接正在發布和正在接收的組件,有新的組件(如智能機械)加入系統不必進行組態變更。組件可以自行開發,或由獨立的第三方提供。DDS克服了點對點系統存在的問題,諸如缺乏可擴展的性能,缺乏可互操作性,以及逐漸演進發展架構的能力。它具有即插即用的簡單性、可擴展性和特別好的實時性能。
概括地說,通過DDS的基礎架構(如圖11所示)使得各種不同類型的設備、應用程序或路由器相互之間,能夠進行由QoS保證的通信。
圖11 DDS的基礎架構
自從2004年OMG采用DDS標準之后,用了不到6年的時間就成功地確立了在分布式大數據的發布/訂閱技術方面不可動搖的地位,應用到包括雷達信號處理、無人機飛行和著陸、空中交通控制管理、大規模監控系統、自動股票和股票期權交易等多種商業領域。而且被一些重要的行政管理機構(如美國海軍、美國國防部信息技術標準注冊機構等)推薦為實時數據分發的技術方法。此后,由于其靈活性、可靠性以及快速構建復雜系統或實時系統,DDS通常用來進行系統集成和構建自治系統。總之,DDS是一種經過驗證的高可靠、高性能的構建大規模跨垂直行業的IIoT軟件系統的技術。運用DDS的工業物聯網應用包括農田、醫院醫療集團、醫療保險、自動駕駛飛機和汽車、鐵路、資產跟蹤、自動測試、智慧城市、通信、數據中心切換、視頻共享、消費電子、石油和天然氣開采、廣播電視、空中交通控制、航空電子技術、SCADA、機器人以及國防。
9 從一個典型例子看DDS過濾數據的強大能力
在一個區域同時有一萬部汽車在行駛。系統需要捕捉在200m范圍內以10m/s的速度向某一目標運動的汽車的行駛軌跡。在該區域內所有可能路徑均布置有位置傳感器,如果傳感器每秒刷新1000次,要求每刷新5次時把汽車的位置發送給系統。也就是說,每個傳感器必須能夠存儲600個老的采樣值(每秒采集200個位置數據,連續采集3秒的數據存入傳感器的緩沖存儲區)。假設每秒鐘這10000部汽車的位置被傳感器檢測1000次,但僅僅有3部汽車在200米范圍內,那么系統將會從10000×1000=10000000個采樣來發現3×200=600個采樣數據。設想為此系統要付出什么樣的代價。
如果在有一個應用程序中能精確地接收所關注的600個采樣值,而且信息的流量率和可靠性是有保證的,我們只需采用像DDS這樣的的數據總線,在源頭上從10×106個數據中過濾出600個符合約束條件的數據,這樣總的數據流減少99.994%。
10 DDS是如何實現這種高效的數據傳送呢?
由圖12可以知道,DDS通過主題Topic將發布者和訂閱者加以連接。主題是:為設定目的而采集的相關給定數據類型的所有“實例”,用于提供基于內容的訂閱。主題包括主題名和類型。主題在域中必須是唯一的。不同的主題可以有相同的類型。多主題對應于SQL的join,內容過濾主題對應于SQL的select。可以調用ContentFilteredTopic和MultiTopic,來控制訂閱的范圍。還可以通過鑰匙key可進一步定義,縮小數據目標,如對需要建模的動態目標(例如跟蹤);還可顯著減少系統的規模(見上述過濾的例子);用于可靠的多送一(即報警主題)。
用另外的一種表述,我們可以理解為,在DDS中主題就是數據由發布者流向訂閱者的載體,表示一個信息單元可以被產生或被使用。主題由類型、唯一的名稱和一組QoS策略三項定義而成,QoS策略用來控制與主題相關聯的非功能特性。主題類型可用OMG的IDL(接口描述語言)標準的子集來表示,它用不支持任意類型的限制來定義struct類型。結構的嵌套也是允許的。
圖12 DDS定義的主題、類型和鑰匙
在定義主題類型中有主題鑰匙,可以選擇一個或多個數據元素作為該類型的鑰匙。DDS將利用這個鑰匙對傳入的數據分類。通過規定一個數據元素作為鑰匙,應用程序可以檢索來自DDS的數據,使其與一個特定的鑰匙匹配,或者與一序列鑰匙中的下一個鑰匙匹配。持有鑰匙將這些數據容器被定義為一個實例。鑰匙提供了可擴可縮的特性。如果一個應用程序有多個據有相同鑰匙相同主題的發布者,這使該應用程序提供某個主題的冗余。通過設定QoS的參數Ownership和Ownership Strength建立冗余。
11 DDS的QoS策略
DDS通過設定QoS策略的設定,可在很大范圍內提供非功能特性(如數據的可用性、數據傳送、數據的時效和資源利用)的明確選擇。圖13給出DDS中可用的QoS設定策略表。對于傳統系統,這些策略控制關鍵的數據非功能特性;而對于SoS則是絕對必要的。每個DDS實體(如一個主題,數據讀取者和數據寫入者等)都可以使用所提供的QoS策略的一個子集。這些控制端到端特性的策略可考慮作為訂閱匹配的一部分。DDS訂閱要匹配主題類型和名稱,以及匹配由數據讀取者和數據寫入者提供/請求的QoS策略。DDS所提供的這種匹配機制確保了端到端的數據類型保持一致,同時也保持了端到端的QoS策略。
圖13 DDS的QoS策略概貌表
以下介紹主要的幾種DDS的QoS策略:數據的可用性(Data availability),數據傳送(Datadelivery),數據的時效(Data timeliness),資源(Resources)以及組態(Configuration)。
(1)數據可用性。DDS的數據可用性策略用來控制域的參與者其使用數據的可用性,在時間和空間上為應用程序持續解耦;也使得在高度動態的環境下(其特征是不斷有發布者/訂閱者加入和退出),這些應用程序還能夠正常運行。(2)數據傳送。DDS提供QoS策略來控制數據如何傳送,以及發布者可以如何聲明其對數據刷新的獨有的權利。這些DDS的數據傳送QoS策略控制數據的可靠性和可用性,使得有關的正確數據能在正確的時間傳送到正確的目標節點。更靈巧的選擇數據的方法是由DDS提供的內容檢測的方法,允許應用程序可以選擇基于感興趣的或與所需要的內容有關的信息進行傳送。這些QoS策略在SoS(系統的系統)中尤其有用,因為它們可用來精確而真實地傳送所要傳送的數據,不僅限制所用的資源的數量,而且還可以通過獨立的數據流使干擾的程度最小化。(3)數據的時效。DDS提供QoS策略來控制分布式數據的時間特性,有助于以一種適時的手段確保以任務為關鍵(mission-critical)的信息所需要的重構共享運行的場景,還提供控制數據的暫存特性。這些特性在SoS中特別有用,因為這些策略可以用來定義和控制各種不同的子系統數據交換的需要暫存的時間,以確保帶寬的優化利用。(4)資源。DDS定義QoS策略控制網絡和計算機的資源能力,來滿足數據傳送的要求。QoS策略支持不同單元和操作場景構成以網絡為中心的mission-critical的信息管理。通過這些QoS策略來規劃和控制從最低端的嵌入式系統與窄帶寬、且噪聲大的無線鏈接,到高端的服務器與高速的光纖鏈接。這些DDS資源QoS策略提供控制就地資源和端到端的資源(諸如存貯空間和網絡帶寬)。這些特性尤其在SoS中很有用處,因為它們由大型異構的子系統、設備和網絡鏈接所形成的特征,通常要求通過減少采樣以及對所用的資源的數量進行整體的可控限制。(5)組態。DDS提供定義和用戶指定的自動引導信息的QoS策略。這些可進行組態的DDS的QoS策略,對在SoS中運行引導和組態應用提供有用的機制,提供一種組態信息的完全的分發方法。
12 DDS在工業4.0中適用性
在德國工業4.0的實踐中,OPC UA在通信中的地位首先獲得了普遍肯定。但僅僅采用OPC UA并不能滿足其全面的聯通性要求。隨著工業4.0內涵和外延的不斷擴展和豐富,工業4.0和工業互聯網之間的互操作,以及基于價值的服務,不僅被提上日程,而且在迅速推進。于是擴展其聯通性的工作引起了廣泛重視。2017年與德國和日本工業界交流時,德國ZVEI協會曾提出將DDS和OPC UA納入工業4.0參考架構模型RAMI4.0中的通信標準(見圖14)。隨后,又有中國臺灣凌華科技(ADLink)收購了美國從事DDS開發應用的VortexTechnologies,在YouTube中討論DDS在工業4.0中的適用性時指出了,DDS可以用于RAMI4.0描述的三個維度。如圖15所示,鑒于DDS著重于通信和信息,用于分布式數據的表達和分享,所以在HierarchyLevel這一維度可以用在由控制設備(control device)層級往上到企業間的連接(connected world)層級;在Life Cycle& Value Stream這一維度,DDS可用于從產品開發的后一階段到產品生產和維護服務的階段;在由物理世界映射到數字虛擬世界的層級這一維度,可以用在從通信(communication)層級向上到經營業務(business)層級。
圖14 德國ZVEI提出將DDS納入RAMI4.0通信標準
圖15 DDS在RAMI4.0的適用性表達
13 結束語
工業互聯網和工業4.0要將原材料、設備、制造流程、產品、維護服務和參與全過程的管理和制造人員等進行必要的適時聯接,從全局和全周期的視角優化生產和服務,就一定要建立強有力的泛在聯接性。
美國IIC選擇DDS、OPCUA、oneM2M和HTTP作為其聯接性的核心標準,已在全世界工業界,尤其在德國,得到積極響應。當然,這一推進過程是長期的,優勢的顯現也需要很長的過程。目前的現實是,在工業物聯網領域中存在著多種專有聯接性技術,在垂直集成系統中,也有針對一些較小的特定范圍的應用案例及優化標準。這些特定范圍的聯接技術雖然在各自應用范圍內還是相當優化的,但是對于建立新的價值空間,以及打開全球的工業互聯網市場來說,在數據共享、設計、架構乃至通信諸方面卻是一種障礙。泛在聯接性的首要目的是要讓這些相互隔離的孤立系統的數據開放流動,使得這些封閉的組件和子系統之間能夠共享數據和實現可互操作性,以至在各種行業內和各種跨行業中的新型和新興的生態應用得以形成和發展。所以,泛在聯接性的核心標準的推進是一個方向性的問題。如果不在早期引起重視,任其自行其是,以后再行統一,付出的代價將是十分巨大的。
作者簡介:
彭瑜(1938-),男,湖南長沙人,教授級高級工程師,畢業于清華大學熱能工程系,現任上海工業自動化儀表研究院教授級高工、顧問,PLCopen中國組織名譽主席,中國自動化學會儀表和裝置專委會名譽常務委員,PowerLink中國用戶協會理事長,工信部智能制造標準化體系建設工作組專家,國家智能制造標準化協調推進組專家咨詢組專家。迄今為止,已經為中國工業自動化技術的發展服務了50多年,涉及流程工業、離散制造業等領域的檢測、控制、生產制造、執行管理等多個方面。自1993年起,因對工業技術的突出貢獻獲得國務院特殊津貼和相關證書。
摘自《自動化博覽》2018年9月刊