数字孪生技术广泛应用于智能制造业、 航空航天、 智慧医疗、城市规划与管理等领域。 在智能制造业中数字孪生技术能够生成可视化监测、故障诊断和预测等高级服务。其中,可视化模型作为至关重要的核心部分,能够更为逼真地模拟现实世界的各种系统和过程,这使得我们能够更精确地进行优化和控制。
国内外学者在车间数字孪生系统和可视化监控方面取得了许多重要的研究成果,数字孪生技术在生产车间建模方面的理论知识和技术应用得到了广泛的拓展。 然而,当前针对专业领域中数字孪生模型构建过程的研究尚显不足, 尤其是数字孪生可视化模型在工业生产线方面的建立。本文以物料分拣装置为例,研究自动化产线数字孪生系统的可视化模型构建的关键技术。
1 自动化产线数字孪生系统的可视化模型构成
1.1 物料分拣装置描述
物料分拣装置如图 1 所示,主要由下料机构、推料机构、颜色检测机构、 运输机构、 旋杆控制机构和物料归类存放机构组成,能够实现红色和黑色物料的自动分拣功能。物料分拣装置工作流程如下。 在出料处,物料检测传感器检测到有料时,推料气缸将物料推出,颜色传感器检测物料颜色,然后皮带电机启动,物料向滑道处移动。 同时旋转气缸根据颜色检测结果决定是否执行旋转操作, 最终实现将红黑两个颜色的物料分类到不同滑道内。
图 1 物料分拣装置
1.2 可视化模型构成
自动化产线数字孪生系统的可视化模型具有对物理实体端的连接驱动、孪生端模型的展示、数据传输的功能,本文通过建立三维模型、行为逻辑模型和数据模型来具体实现。
物理实体对应的虚拟三维模型通过 SolideWorks 建立,此模型是对真实世界中的物体、设备的数字化表示,具有与真实物体相同的物理属性和特征。 数字孪生行为逻辑模型主要在 Unity 中建立, 赋予数字空间的虚拟模型运动的具体行为和逻辑关系。 数据模型主要负责多源异构数据的采集与传输,实现虚拟模型与物理实体的数据连接。 通过以上三部分的配合,最终实现可视化模型的构建。
2 三维模型构建
三维模型是进行构建行为逻辑模型的前提, 孪生三维模型要准确地反映物理实体的尺寸、位置和形状。 本文以物料分拣装置为例,在三维模型构建中,根据分拣装置各执行设备是否实现与外部物理实体进行数据之间的交换, 在仿真环境中是否有具体执行动作的原则,区分详细建模设备与非详细建模设备。
其中详细建模设备包括推片、物料、传送带、电机、气动设备等,是孪生模型构建的主要部分, 需分别构建出实现相应动作所需的细节模型,如推杆、旋转柱等;非详细建模设备包括:传感器、防止物料掉落保护装置、物料滑道、物料桶和控制台等, 其能够表现出分拣装置外形及状态。 针对两类建模设备,本文以 3D 孪生模型与实物设备的尺寸比为 1:1 的原则在 SolideWorks 软件中采用零件设计到装配体组装的原则进行三维建模。 建立好的三维模型如图 2 所示。
图 2 物理实体对应三维模型
考虑软件之间兼容性, 装配好的模型以.step 格式保存,接着将模型导入到 3Ds Max 中,导出.fbx 格式的模型,该格式的模型即可导入到 Unity 内部 Assets 文件夹下的任意位置为 Unity 所用。 在 Unity 里,1 个单位表示 1 m,而在 SolideWorks 和3Ds Max 中 1 个单位表示 1 cm, 修改导入模型的缩放比例为0.01,可以得到和物理实体一致的尺寸大小。
3 行为逻辑模型构建
建立自动化产线数字孪生系统的可视化模型的行为逻辑模型是借助 Unity3D 平台实现的。 它不仅具备渲染引擎和脚本支持等功能,还为开发者提供了强大的可视化编辑工具。 在 Unity 平台中,本文首先对整个分拣装置模型静态外观进行渲染,针对各部件外观添加相应的物理材质, 使孪生模型在视觉上与物理实体保持一致。 其次,在渲染后的三维模型基础上建立行为逻辑模型,涉及到脚本编程的部分,本文选用 Visual Studio 2019 作为脚本编程软件。 根据各部件响应动作的控制方法进行归类,关键技术主要为以下四点:
1)执行机构动作仿真设计,涉及对单电磁阀推料气缸、滚轮、皮带、双电磁阀旋转气缸的控制,添加刚体组件后,此类型对象主要依据修改位置信息来实现相应动作。 设定好初始位置以后,各执行机构添加运动脚本, 在脚本内根据表 1 列出的动作类型选定函数,并修改表 1 其余列所示控制量参数,实现与物理实体的动作映射。 其中,为了使皮带运行效果真实,本文采用贴图进行处理。
表 1 执行机构模型控制量与控制参数
2)传感器状态显示功能仿真设计,涉及颜色检测传感器与到位检测传感器信号灯亮灭的显示,通过添加材质球,用脚本控制材质球是否隐藏实现不同阶段不同颜色的显示。
3)控制台按钮功能仿真设计,主要是实现分拣装置的启动与停止、急停、模式切换功能,涉及控制按钮状态显示以及触发控制按钮实现变量响应的控制,因此针对于前者,本文采用传感器状态显示设计方法来实现,对于后者问题,在脚本内采用射线检测方法, 通过检测射线是否穿透按钮区域实现按钮对相应变量的触发。
表 2 物料运动轨迹仿真解决方案
4)物料运动轨迹仿真设计,涉及物料自动生成,推料气缸和物料模型关联、物料跟随皮带运行、物料与旋转气缸或者挡板碰撞时改变移动方向滑入滑道的控制,针对以上实现内容,第一步对于需要碰撞接触的两个物体, 在刚体的基础上添加碰撞体组件,从而使两个物体可以正常碰撞接触;第二步结合表 2 实现方案,在脚本中运用逻辑判断与方法调用,解决此类问题。 相应实现效果如图 3 所示。
图 3 物料运动轨迹仿真实现效果
运用四个关键技术, 本文对装置模型中各对象进行详细定义,如图 4 所示。 左侧一列为渲染过后的模型图,第二列为模型拆分的各个对象,第三列为添加的材质集合以及各个脚本集合,最后一列为各个对象所附加的组件类型、各类参数以及各脚本,实现对模型各个对象动作的控制。
图 4 各对象详细定义
4 数据模型构建
产线中,通常以 PLC 作为控制器,本文针对西门子 PLC 1200/1500 系列控制器完成对分拣装置的控制以及数据的采集与传输。在数据模型构建中,首先确定 Unity 模型对象与 PLC 之间的数据交互方案,其次建立两者的通信,通过两部分相结合,实现数据的读取与写入功能。
4.1 Unity 模型对象与 PLC 之间的数据交互
模型与 PLC 进行数据交互过程中, 分为 Unity 内部之间和外部数据交互。 如图 5 所示,本文将数据处理脚本作为中间站,所有的交互数据都保存在此脚本中。 在 Unity 内部,模型中各个对象通过自身添加的获取变量的脚本向数据处理脚本获取所需要的 PLC 变量信息,如开关和传感器输入信号、执行机构输出信号。 数据处理脚本通过变量引用法采集 Unity 按钮模型控制的变量信息,如切换模式开关信号。 在 Unity 外部,Unity 通过数据处理脚本经以太网连接,向 PLC 采集输入输出变量、反馈 Unity 中按钮模型控制的变量信息。
图 5 模型与 PLC 数据交互框架
4.2 Unity 与 PLC 通信
Unity 通过数据交互脚本与 PLC 实现通信。 Unity 与 PLC 支持的通信协议有 OPC UA、S7、Modbus TCP 等。 本文采用 S7通信协议,在数据脚本中利用 S7.NET 动态库,使用 C# 语言编写通信程序,通信程序实现方案如图 6 所示。 首先通过创建PLC 对象,设置 IP、Rack、Slot 参数,建立起连接通道,其次,连接 PLC,进入数据交互准备状态,下一步利用数据块地址、偏移量地址和变量类型三个变量属性实现对 PLC变量值针对性地读取和写入。 最后,在无需通信的情况下,断开 PLC。 完成整个通信流程。
图 6 Unity 与 PLC 通信程序实现
5 模型测试
本文选用西门子 PLC 1200, 利用博图 V18 软件编写 PLC程序,实现对物料分拣装置的控制。 确定了可视化模型与物料分拣装置输入、输出的映射信号,PLC 侧输入输出信号属性设置同Unity 侧一致的数据块地址、偏移量地址与数据类型。 其中,物料分拣装置物理实体需要向可视化模型写入自身 9 个输入信号和3 个输出信号,为急停按钮、启停按钮、位置信号、颜色识别信号和各个执行设备动作信号,向自动手动/复位模式切换按钮虚拟模型读取 2 个模式开关信号; 虚拟模型向物理实体写入和读取的信号正好与之相反。 同时 PLC 输入、输出的不同信号所反映的工作状态,在物理世界与虚拟世界均需实现一一映射。
图 7 测试结果
测试结果如图 7 所示,PLC 变量表内输入输出信号与 Unity数据交互脚本内映射信号状态一致;PLC 控制器的输入输出信号在虚拟模型中能够准确无误地呈现,如在信号状态为 True 的情况下,急停按钮变灰色、推杆气缸缩回到位状态显示灯亮、旋转气缸旋转到位指示灯亮、皮带动作、旋转气缸旋转、物料所处位置反映。在信号状态为 FALSE 的情况下,推杆气缸缩回。验证了可视化模型的可靠性。
6 结束语
本文通过建立三维模型、行为逻辑模型、数据模型,采用 PLC可编程控制器、SolideWorks 和 Unity3D 软件, 运用 S7 通信技术构建了一套自动化产线数字孪生系统可视化模型, 根据控制对象的外观和运动关系对分拣装置进行静态三维建模, 并验证了三维建模、行为逻辑模型建立、数据模型建立相关理论与技术的可行性和有效性。 通过在工厂和企业中深入应用数字孪生技术,不断优化和改进相关系统和流程,为数字孪生技术在这些场景中的广泛应用奠定坚实的基础, 推动各行业的数字化转型和创新发展。
往期培训