登录后厂造官网 免费领取后厂造会员后,登陆查看更多智能制造行业资料、课程。
摘要:AMESIM系统仿真平台主要在产品研发的各个阶段为用户提供性能预测与优化,支持产品设计决策。该平台支持用户以脚本或API形式开展系统仿真工作,这大大提升了仿真效率,进而节省了研发时间。此外,基于脚本或API还可以将AMESIM与前端关联,实现人机交互功能以及获取更好的展示效果。通过此次培训,用户将对AMESIM基于python脚本的调用有初步认识,理解AMESIM与Unity 3D结合的基本思路和方法。
1. 前言数字孪生(Digital Twin):为物理对象建立对应的数字模型,该模型可以通过接收来自物理对象的数据而实时演化,从而与物理对象在全生命周期保持一致。基于数字孪生,我们可以进行分析、预测、诊断、训练等(即仿真),并将仿真结果反馈给物理对象,从而对物理对象进行优化和决策。
相比于对数字孪生的认识,那么更重要的是如何实现数字孪生。一般来说提到数字孪生,第一时间想到的是可视化大屏,炫酷的3D渲染模型,VR/AR等形式的交互功能。确实,前端总是给人印象深刻,类似于Unity3D、UE4等工具被广泛应用于工业中的数字孪生。使用 Unity 能够对模型数据、传感器数据或点云数据进行实时传输和渲染,在添加物理特性和行为逻辑后,不仅可以将简单、抽象的模型和数据处理为照片级的实时渲染效果,还可以在多个平台以 AR/VR/MR 的形式进行交互,实现数字孪生。
如上图所示一个典型的数字孪生工厂的实现都采用传统的数据服务跟前端之间通信实现,以Unity为例大体分为几个步骤:
- 加工设备安装IOT设备,IOT将获取PLC数据并以JSON的格式实时上传
- 需要有一个接收服务,可以是写的一个简单的接收数据后端服务,接收IOT上传的数据
- Unity通过HTTP或者Socket方式从服务端实时获取数据
- 通过实时获取的数据,在Unity中实时对映射的虚拟设备驱动
- 如果要反向控制,则反向,由Unity发出命令,服务接收命令,iot获取命令给PLC 从而控制物理设备
数字孪生工厂实现又可以称为“生产孪生”,是把生产过程数字化的典型应用。而全面综合的数字孪生体包含了产品孪生、产线孪生、运维孪生,今天我们要讨论的主题聚焦在产品孪生方面,一个基本的实现过程大体可以归类为以下几个步骤:
- 根据产品设备实体创建性能数字孪生体,要求其高精度预测产品各方面性能
- 对性能数字孪生体进行降阶从而达到实时或准实时要求
- 该降阶模型由仿真工具解算,并将结果以文件、数据流等方式上传到服务器数据库
- Unity通过HTTP或者Socket方式从服务端实时获取数据
- 通过实时获取的数据,在Unity中实时对映射的虚拟设备驱动
- 如果要反向控制,则反向,由Unity发出命令,服务接收命令,驱动仿真工具运行降阶模型并反馈预测结果
本文从应用角度出发:首先,介绍python脚本如何驱动AMEIM软件执行性能数字孪生体的解算并反馈结果文件;然后,讲述Unity 3D调用python脚本驱动AMESIM执行并获取计算结果的基本实现方法。
脚本驱动AMESIM的应用价值与具体实现为了实现自动化仿真流程,大部分仿真工具都开放了二次开发接口,AMESIM工具亦是如此。AMESIM本身为用户提供了开箱即用的API接口和脚本函数库,粗略上看API功能更加强大,支持从草图、子模型、参数、仿真、优化全模式的自动化流程实现,而脚本的目标是在参数和仿真模型下执行自动化任务,包括设置和获取参数、时域/频域分析、仿真结果后处理,上述功能组合后扩充应用场景如下:
- 自动批处理
- 参数研究:DOE、蒙特卡洛、敏感度分析
- 后处理:2D/3D绘图、动画、信号处理、谱分析
- 定制后处理UI
- 与第三方工具集成,读写自定义格式文件、连接数据库
性能数字孪生体的绝大多数应用场景为改变边界条件并预测性能变量结果,相比于API而言,脚本的应用更适合。当然脚本使用存在一些限制:
- 通过脚本不支持Undo/Redo
- 对模型进行参数设定和仿真,模型必须被展开,需要对ame执行explode命令
- 被运行的模型已经被编译并执行过
- 参数改变不会被模型文件保存
- 对于设计试验研究,控制输入和响应输出必须提前在Simcenter Amesim export setup中定义好
- DEO和优化执行被python调用,VBA和MATLAB不行
- 需要Runtime License