MATLAB&Simulink與數據分發服務(DDS)集成

向測試和仿真係統提供實時操作數據

數據分發服務和MATLAB Synergy 

的 數據分發服務(DDS™) 技術是由一組 標準API 和 互操作協議ls以數據為中心的系統。這項開放技術受國際標準協會(我的天啊®),對像管理組®。

使用DDS,數據及其相關的服務質量是將分佈式應用程序綁定和集成在一起的唯一合同。數據可以表示系統狀態,命令或答复,視頻和音頻流,文檔和消息。

從這個角度來看,DDS有助於構建分離的,靈活的分佈式體系結構,在這些體系結構中,應用程序不必公開其位置,API,內部行為,也不需要同時處於活動狀態。使用DDS,去耦是二維的,它會同時發生 在時空.
這種顛覆性的創新提供了, 安全低延遲 和 高通量 數據交換率。此外,它提供了極端 可靠性自動 發現  超擴展性 具有業務和任務關鍵型物聯網(物聯網)應用需求。

DDS每次都在正確的時間,正確的位置以完全分離的方式共享正確的數據。

從概念上講,DDS構建了分佈式 全球數據空間 產生和使用數據的應用程序可以實時和容錯的方式共享數據。 DDS保證了出色的確定性行為,同時提供了無與倫比的可靠性,安全性和性能。

在過去的十年中,已經證明DDS是唯一涵蓋廣泛應用範圍的技術。它涵蓋了所有方面,從具有極高實時限制的嵌入式系統到系統系統,IIoT(工業物聯網)或洲際規模,包括空中交通管制,戰鬥管理,Scada指揮和控制系統,以及許多其他。該技術還部署在智能城市,智能工廠,智能電網,軟件定義網絡,機器人技術,醫療保健和醫療設備,運輸和汽車市場中。 

VortexDDS® 是DDS技術的市場領導者。 VortexDDS® 提供了用於智能數據共享的中間件平台,以及為在任何地方,各種情況下開發,測試,調整,部署和監視基於DDS的應用程序所需的生產力工具。在局域網,廣域網,低帶寬,臨時,移動網絡或Internet範圍內。

另一方面, 的MATLAB®廣泛用於數值,科學和工業計算。的 基於矩陣 MATLAB語言輕鬆表達了計算數學概念。其內置的圖形使其易於可視化並從數據中獲得見解。龐大的預構建工具箱庫可讓您在特定領域中構建複雜的算法。您可以在 更大的數據集 並擴展到群集和雲。 MATLAB代碼可以與其他語言和技術集成 包括Vortex DDS, 使您能夠養活您的應用程序和算法 與 實時數據一個 從您的生產系統並將其部署在 邊緣 或在 .

 同樣, Simulink®是具有框圖環境的建模工具,用於多域仿真和基於模型的設計。它支持系統動力學仿真,系統級設計,自動代碼生成以及嵌入式系統的連續測試和驗證。 Simulink提供了圖形編輯器,可自定義的塊庫。它與MATLAB®以及 漩渦DDS,使您能夠表示和建模DDS關鍵計算實體,並將MATLAB算法整合到一個模型中。隨後,您可以生成代碼並將仿真結果導出到MATLAB進行進一步分析,或通過DDS全局數據空間中的Vortex DDS進行傳播。

VortexDDS®,MATLAB®和Simulink®現在已完全集成 使您能夠設計和開發各種先進產品,包括汽車系統, 防禦,航空飛行控制和航空電子設備, 電信,工業機械, 醫療設備,以及其他電子設備。它們是您進行研發的基本工具和平台。

Simulink與Vortex DDS的集成

Vortex DDS產品隨附 免費的DDS-Simulink集成模塊。 DDS-Simulink集成模塊提供了專用的構建模塊庫,用於在Simulink模型中對DDS的交互方式進行建模。如圖1所示,每個DDS實體,例如 出版商/訂戶,讀者/作家和 主題 由Simulink模型中的專用塊表示。

<br />圖 1:Vortex DDS 與 Simulink 的集成

圖1:Vortex DDS與Simulink的集成此外,每個DDS塊都有一個關聯的QoS配置文件,可以對其進行調整和完善以控制基礎DDS實體的行為。
Simulink數據表示為 巴士 其類型需要映射的 DDS數據類型。因此,將Simulink數據發送到DDS需要將Simulink類型轉換為DDS類型。 Simulink總線將映射到DDS主題類型,反之亦然。用戶可以通過從IDL文件中生成它們或使用Simulink總線編輯器來生成或創建Simulink總線定義。

<br />圖 2:使用 Simulink Bus Editor 映射數據類型

圖2:使用Simulink Bus Editor映射數據類型如果需要,您可以使用DDS SQL92查詢語言過濾或查詢數據,如圖3所示。

<br />圖 3:使用 Vortex DDS Simulink 集成模塊的查詢定義

圖3:使用Vortex DDS Simulink集成模塊進行查詢定義一旦定義了關鍵DDS構建塊和數據類型並將其與DDS主題相關聯,用戶就可以將DDS構建塊連接在一起並互連在一起,包括Simulink本機建模塊(例如Math函數,Time函數或Simulink Display塊可構建完整的仿真模塊。然後,用戶可以如下圖所示運行模擬。

<br />圖 4:Vortex DDS 發布者和訂閱者模型與 Simulink 的集成

圖4:Vortex DDS發布者和訂閱者模型與Simulink的集成一旦通過仿真模式驗證了模型,就可以生成和編譯(或交叉編譯)模型的關聯代碼了。 Vortex DDS Simulink集成模塊與 Simulink編碼器 生成相應的 C DDS構建塊中的代碼。編譯後,即可通過DDS以分佈式方式在所選目標上運行仿真。

現在,生成的仿真模型可以與任何其他DDS應用程序進行通信,以通過網絡傳播仿真結果,或者向仿真模型提供來自現場的實時數據。 

下一節將說明如何在MATLAB中創建MATLAB Vortex DDS類的實例,以及如何與DDS實體進行交互,如下一節所示。

MATLAB與Vortex DDS的集成

DDS MATLAB集成為用戶提供了DDS MATLAB類,以使用MATLAB語言為DDS通信建模。
通常,在開發階段,用戶需要:

  1. 定義一個 DDS數據模型 使用標準的OMG IDL數據定義語言。
  2. 將DDS數據模型轉換為 MATLAB DDS實體類 (例如主題類)。
  3.  使用的MATLAB程序 適用於Vortex DDS的MATLAB API.

下面的代碼快照中總結了這些步驟:

<br />圖 5:基於 MATLAB 的 Pub Sub DDS 應用程序

圖5:基於MATLAB的Pub Sub DDS應用程序Vortex DDS的MATLAB API支持QoS,數據過濾和查詢方面的所有DDS功能。  

結論

借助Vortex DDS,您可以實現系統集成,包括基於MATLAB / Simulink的應用程序,並構建一個 分佈廣泛的全局數據空間。這樣,您可以有效地統一您的測試和仿真框架。

全球數據空間將在 即時的, 沒有 單點故障 考慮到其語義,QoS,類型,內容和格式,所有有價值的數據。

 使您的仿真模型在Vortex DDS上進行交互,並從通過MATLAB / Simulink進行實時數據分析和交互中受益。

<br />圖 6:集成和流式傳輸 MATLAB 和 Simulink 數據的全局數據空間

圖6:集成和流式傳輸MATLAB和Simulink數據的Global Data Space這種集成技術將幫助您構建自己的 情境意識層 在全局數據空間的頂部來控制和監視系統,並為最終用戶創建增值服務 以最低的成本.

如果您想了解有關MATLAB的更多信息–與Vortex DDS的Simulink集成,請下載我們的 白皮書.

有關Vortex DDS的任何查詢,請 在這里聯系我們.

拉姆齊·卡魯伊(Ramzi Karoui)
拉姆齊·卡魯伊(Ramzi Karoui)

凌華科技產品經理