科普:多领域分布式协同仿真
分布式协同仿真是一种在分布式计算环境中进行协同工作的仿真方法。使用该方法进行协同仿真时,仿真任务将被分发到多个计算节点上,并且这些节点可以同时工作以模拟完整的系统行为。分布式协同仿真已被广泛应用于工程、科学和军事领域,以便更好地模拟和理解大规模和复杂系统的行为。
分布式协同仿真有以下特点:
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,能够实现"芯片级仿真"、"控制系统仿真"这两个不同领域下的仿真模型的数据互通,并且支持将不同的仿真模型部署到不同的主机,最终在同一台主控机中完成仿真控制,真正意义上实现分布式协同仿真。
版权声明: 本文为 InfoQ 作者【DevOps和数字孪生】的原创文章。
原文链接:【http://xie.infoq.cn/article/610059200cd5d9702f401ef12】。文章转载请联系作者。
评论