离散制造机加车间三维可视化监控系统
2020-07-22刘治红徐曼菲
邱 枫,刘治红,吴 跃,徐曼菲
(中国兵器装备集团自动化研究所,四川 绵阳 621000)
1 引言
传统的离散制造业主要从事单件、小批量生产,适用于面向订单的生产组织方式[1]。近年来,随着市场竞争的日益激烈以及客户个性化多样化需求的不断提高,多品种小批量加工生产已逐渐成为离散制造车间的重要生产组织方式之一[2]。目前,离散制造车间通常以人工巡线或者简单的二维图表方式来监控设备运行状态和执行进度情况,监控手段落后,导致设备故障维修响应时间普遍较长,极大的制约了设备的利用率。文献[3]中研究了一种设备远程故障诊断系统,降低了设备管理人员的维护工作量。文献[4]研究了基于Flash 的自动化生产线监控系统,开发了一个平面二维的生产线监控系统,实现了对自动化生产线运行状态的实时监控。文献[5]基于Flexsim 仿真软件,构建了一种能动态反映车间生产进度动态可视化监控系统。文献[6]中研究了基于物联网的三维可视化矿井实时监控系统,实现动态的获取了矿井生产过程中的安全数据。文献[7]中基于Genesis64 三维组态软件对加热炉进行了实时监控。离散制造机械加工作为离散制造的重要组成部分,主要由各类数控加工中心组成,由于车间内通常工序较多,导致车间设备品牌不同、老旧程度不一,导致设备普遍存在故障现象,故障发生后,除小型故障由操作工维修以外,绝大多数故障维修均需要专门的维修人员参与。因此,快速地定位故障,准确地查找故障原因,为设备维护人员提供准确的故障相关信息,是实现离散制造设备可视化监控,提高机加设备利用率的有效手段。针对某企业的关键工序机加车间设备监控手段落后,故障维修滞后问题,基于OpenTK 图形接口库和Visual Studio 2013 软件和进行三维可视化系统开发,突破基于二次误差作为度量代价的模型减面技术和动态扩充线程的实时数据驱动技术,以解决现有可视化监控系统中3D 场景占用资源多和系统大数据量并发时系统卡顿的问题,系统实现车间数控加工中心的故障快速定位和设备代码显示,用以辅助维修,缩短设备故障维护响应时间,提高离散制造机加车间设备管理水平。
2 系统设计
三维可视化监控系统由部署客户端的三维可视化软件和部署到服务端的数据接口服务软件两部分组成。三维可视化软件通过HTTP 协议,通过Json 格式获取数据接口服务软件获取到的MDC、MES 等系统中的数据。系统层级关系,如图1 所示。三维可视化监控系统包含三维模型、场景渲染和实时状态、业务数据的展示。系统展示的三维模型通过中间格式导入,并在三维可视化系统中进行实时渲染,数据访问通过WebService 接口实现,三维可视化监控系统将该数据驱动三维模型的颜色、发光属性变化,和二维标签文本的更新。三维可视化监控系统技术路线,如图2 所示。三维可视化监控系统主要功能描述:(1)模型导入:支持常见的3D 模型.obj、.jt 等模型导入。(2)模型优化:采用模型减面优化算法实现对3D 模型轻量化处理,保证模型外形几乎不变的前提下,实现模型面数仅十倍压缩,实现大场景实时实时渲染。(3)模型分组:用户可根据监控设备类别的不同,对3D 模型进行分组分类管理,以实现对重点监控对象的快速显示。(4)模型驱动:实现数据与三维模型属性之间绑定的数据实时传输。(5)数据配置:建立数据与三维模型之间的关联关系,配置数据在三维场景中的呈现形式,以达到数据的三维可视化显示。
图1 系统层级关系Fig.1 Level Diagram of System
图2 技术路线Fig.2 Technical Route
3 技术难点
3.1 基于二次误差作为度量代价的模型减面
在保证模型复杂性的同时,为了尽可能还原三维模型,降低计算机占用的系统资源,故需对三维模型进行减面优化。
二次误差作为度量代价模型减面算法,采用计算总体误差的方法进行简化误差的评估以优化边的折叠顺序,用一个二次误差矩阵代替全局误差函数来度量顶点的折叠误差。该算法在简化速度和健壮性之间有一个很好的平衡,在多细节层次模型中有比较好的效果,仍然成为基于边折叠网格算法的重要算法[8-9]。基于二次误差作为度量代价的边收缩算法,选择一条三维模型中的一条边作为迭代收缩时,定义一个描述边收缩代价的变量Δ。对于网格中的每个顶点v,预先定义一个4×4 的对称误差矩阵Q,顶点v=[vx vy vz1]T的误差为二次项形式Δ(v)=vTQv。假设对于一条收缩边(v1,v2),收缩后顶点变为vbar,定义顶点vbar的误差矩阵Qbar为Qbar=Q1+Q2。数值计算顶点vbar位置使得Δ(vbar)最小,Δ 的表达式为一个二次项形式,令一阶导数为0,即等价于求解:
式中:qij—矩阵Qbar中对应的元素。
如果系数矩阵可逆,通过求解方程就可以得到新顶点vbar的位置。在原始网格模型中,每个顶点可以认为是其周围三角片所在平面的交集,也就是这些平面的交点就是顶点位置,定义顶点的误差为顶点到这些平面的距离平方和:
式中:p=[a b c d]T代表平面方程ax+by+cz+d=0(a2+b2+c2=1)的系数;Kp—二次基本误差矩阵。
原始网格中顶点v的初始误差为Δ(v)=0,当边收缩后,新顶点误差为Δ(vbar)=vbarTQbarvbar,依次选取收缩后新顶点误差最小的边进行迭代收缩直到满足要求。
3.2 动态扩充线程的实时数据驱动
由于三维可视化监控系统中单次刷新数据较多,达到数百条,为解决大数据量并发时的监控软件卡顿和停滞问题。提出动态扩充线程的实时数据驱动方法。假设单线程最大处理量预设为n,单次刷新数据量为m,主线程为T1,则动态扩充线程方法流程图,如图3 所示。
图3 动态扩展线程流程Fig.3 Dynamic Extend Thread Workflow
在三维模型驱动程序中,根据计算机性能,预设单线程最大数据处理量,软件处理较大数据量时,自动增加或减少线程数,将原本串行时三维模型数据驱动变为并行的数据驱动,缩短了单次数据刷新所用的时间周期。
4 系统实现
4.1 开发和部署
图4 系统类图关系Fig.4 System Class Realation Diagram
图5 车间设备状态实时监控Fig.5 Machine Status Real-Time Monitoring
基于采用C#语言,基于Visual Studio 2013 和OpenTK1.1 图形接口库进行系统开发。OpenTK 是基于C# 语言的包含OpenGL、OpenAL、OpenCL 进行了跨平台的封装的图形资源库,遵循MIT 许可。OpenTK 可以集成到Windows、Forms、WPF 等应用程序[10]。OpenTK 封装了丰富的图形函数,极大地简化了编写三维图形渲染程序的工作量[11]。Visual Studio 是微软公司研发的一套由组件的开发工具构成,包含其他用于生成功能强大、性能完善的应用程序的IDE。VB、C++以及Visual C++都可使用相同的集成开发环境[12]。三维可视化系统类间调用关系,如图4 所示。系统车间设备状态实时监控,如图5 所示。系统部署在某工厂关键工序机加车间,由于车间已部署MES 和MDC 系统,实现业务数据和设备数据实时采集。因此,三维可视化监控系统通过数据接口服务软件与上述两个业务系统集成即可。车间共有各型号数控加工8 台,单台设备模型状态、开机时间、故障代码等数据38 条,共计288 条。车间三维可视化监控系统网络拓扑,如图6 所示。系统部署,如图7 所示。三维可视化监控系统实现了车间设备状态的实时监控,设备故障报警和异常快速定位,同时,通过与MES 系统数据集成,可由三维模型上叠加的动态文本查看当前设备的加工任务和执行进度。由于车间MDC 系统已实现了数控加工中心参数的秒级采集,为保证三维可视化监控系统的实时性,三维可视化监控软件也设置为秒级刷新,经过近半年的长时间调试和运行,系统未出现内存溢出或CPU 资源占用率超过10%的情况,系统运行稳定。
图6 三维可视化网络拓扑Fig.6 System Network Topology
图7 三维可视化系统部署Fig.7 System Deploy Diagram
4.2 故障响应时间计算
通过故障响应时间指标来对三维可视化系统实际性能进行量化。将部署车间分为4 个区域,每次区域响应时间取5 次的平均值。三维可视化监控系统部署前后,设备故障响应时间进行比较,如表1 所示。
表1 系统部署前后故障响应时间Tab.1 Machine Fault Response Time Before and After System Deploy Compare
5 总结和展望
通过将三维可视化监控系统在某机加车间进行部署和使用,使得车间内数控加工中心状态得以实时监控,并且实现了在设备故障快速定位故障和故障原因的实时显示,降低了维修人员的巡线工作量,缩短了设备维护响应时间。系统部署后,设备故障维修响应时间由5.375min 缩短至1.600min,时间缩短70%。
三维可视化监控系统后续还可与设备维修专家知识库关联,在故障定位、故障原因显示的同时,提供故障维修建议,提高维修效率。也可三维场景中添加设备维修动作演示,用于指导维修人员维修调试和人员培训,节省车间经济成本。三维可视化监控系统近一步提高离散制造智能工厂水平,推动计算机仿真技术在智能制造领域的发展。