分布式协同仿真是一种在分布式计算环境中进行协同工作的仿真方法。使用该方法进行协同仿真时,仿真任务将被分发到多个计算节点上,并且这些节点可以同时工作以模拟完整的系统行为。分布式协同仿真已被广泛应用于工程、科学和军事领域,以便更好地模拟和理解大规模和复杂系统的行为。
分布式协同仿真有以下特点:
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,能够实现"芯片级仿真"、"控制系统仿真"这两个不同领域下的仿真模型的数据互通,并且支持将不同的仿真模型部署到不同的主机,最终在同一台主控机中完成仿真控制,真正意义上实现分布式协同仿真。