分布式協同仿真是一種在分布式計算環境中進行協同工作的仿真方法。使用該方法進行協同仿真時,仿真任務將被分發到多個計算節點上,并且這些節點可以同時工作以模擬完整的系統行為。分布式協同仿真已被廣泛應用于工程、科學和軍事領域,以便更好地模擬和理解大規模和復雜系統的行為。
分布式協同仿真有以下特點:
1.集成多學科仿真模型: 分布式協同仿真能夠集成來自機械、電氣、電子、控制、通信等多個學科領域的仿真模型,是其核心特點之一。
2.分布式計算: 仿真模型在分布式計算環境中運行,可以分布在不同的計算節點上,使系統能夠更高效地處理大規模、復雜的仿真任務。
3.協同仿真: 不同領域的仿真模型能夠協同工作,實時共享仿真結果和數據,有助于更全面地理解系統的交互作用和影響。
4.支持實時決策:分布式協同仿真通過實時共享仿真數據支持實時決策制定。這對于系統設計、優化和問題解決非常重要。
5.模型可重用性:由于模型是基于模塊化的原則構建的,不同領域的模型可以在其他項目中實現復用。
總體來說,分布式協同仿真能夠更高效地處理大規模、復雜的仿真工作,更全面地理解系統的交互作用和影響,其可復用性則提高了模型的可維護性和可擴展性,對于系統設計、優化與問題解決有著重要意義。
分布式協同仿真可應用于下列領域:
DigiThread是一款國產自主可控的多領域分布式協同仿真平臺,基于DDS(數據分發服務)通信模式并通過協同仿真軟總線連接多種仿真模型,可實現點對點的數據通訊,已被廣泛應用于復雜系統集成仿真和數字孿生等。本文將簡要介紹使用一個應用DigiThread進行分布式協同仿真的案例,整體架構圖如下:
該案例中,首先利用天目全數字實時仿真軟件SkyEye仿真運行C6713處理器,搭建一個模擬輸出兩路PWM信號的嵌入式系統;接著引入一個C模型,用于接收仿真輸出的PWM信號,通過該模型內部的校準算法對PWM信號進行濾波、補償處理;最后將校準后的PWM信號輸出到Simulink,驅動控制系統模型。
在此基礎上,本案例還加入了電控上位機。SkyEye支持與上位機軟件通過網絡的形式進行連接:
- 上位機軟件提供了一個直觀的用戶界面,允許開發測試人員以交互的方式對PWM信號的占空比和頻率進行實時調整,無需停止仿真模型或重新編譯代碼;
- 支持實時顯示當前仿真模型的運行參數,有助于開發人員分析當前系統的狀態。
該案例在DigiThread上搭建的仿真工程示意圖如下:
1.?C6713?SkyEye作為SkyEye仿真芯片模型,部署在192.168.0.98節點;
2.?C_PWM作為算法模型,部署在192.168.0.31節點;
3. C6713Simulink_Version2016b作為控制系統模型,部署在192.168.0.77節點。
上述三個節點中,由192.168.0.31作為本機主控節點,整個協同仿真的過程將在主控節點上進行工程創建、模型搭建、端口數據訂閱、IP配置、模型部署、初始化、仿真、仿真數據回放等操作;另外兩個節點根據接收到的來自主控節點的仿真命令,操控對應的仿真模型。
下圖為在電控上位機調節占空比時,DigiThread監視窗口以及Simulink Scope中發生的波形變化。從圖片中可以看到,在21.9s?~?21.95s之間,電控上位機進行了占空比調整動作,此時C6713 SkyEye模型收到上位機的指令,完成計算后作出響應,此時對SkyEye模型的輸出監視如下圖左側波形所示。右側為C6713Simulink_Version2016b模型接收到數據后輸出的響應波形。
由此可見,借助于DigiThread,能夠實現"芯片級仿真"、"控制系統仿真"這兩個不同領域下的仿真模型的數據互通,并且支持將不同的仿真模型部署到不同的主機,最終在同一臺主控機中完成仿真控制,真正意義上實現分布式協同仿真。